Skip to content

Conversation

@sivabala21
Copy link

@sivabala21 sivabala21 commented Nov 29, 2025

Add support for LORD (Little Offensive Reconnaissance Device), Board (DIY Bruce device)

Overview

This PR adds complete board support for the LORD Board (Little Offensive Reconnaissance Device), a custom ESP32-S3 based DIY Bruce implementation with integrated wireless modules and peripherals.

Hardware Specifications

  • MCU: ESP32-S3 (240MHz, 16MB Flash, PSRAM enabled)
  • Display: ILI9341 TFT (320x240) with XPT2046 resistive touch
  • Wireless Modules:
    • CC1101 Sub-GHz transceiver (433/868/915 MHz)
    • nRF24L01+ 2.4GHz radio
    • Built-in WiFi & Bluetooth (ESP32-S3)
  • Additional Features:
    • PN532 NFC module (I2C)
    • GPS NEO-6M (UART1)
    • WS2812B RGB LED
    • IR transmitter/receiver
    • SD card support
    • USB-C with CH343 USB-serial bridge

Changes Made

Board Configuration (boards/_boards_json/lord-board.json)

  • ESP32-S3 platform configuration with 16MB flash
  • Arduino and ESP-IDF framework support
  • USB CDC on boot enabled for serial debugging

Pin Definitions (boards/lord-board/pins_arduino.h)

  • Complete pinout mapping for all peripherals
  • Shared VSPI bus for TFT, touch, and SD card
  • Dedicated HSPI bus for RF modules (CC1101, nRF24)
  • I2C configuration for PN532 NFC
  • UART1 for GPS module
  • IR TX/RX pins on Grove connector

Interface Implementation (boards/lord-board/interface.cpp)

  • GPIO initialization and configuration
  • Touch screen initialization with rotation compensation
  • Brightness control for TFT backlight
  • Input handling with debouncing and heatmap support

Build Configuration (boards/lord-board/lord-board.ini)

  • PlatformIO environment setup
  • Custom partition table (16MB)
  • FastLED library for WS2812B RGB LED
  • XPowersLib dependency

Files Added

  • boards/_boards_json/lord-board.json - Board configuration
  • boards/lord-board/pins_arduino.h - Pin definitions
  • boards/lord-board/interface.cpp - Hardware interface implementation
  • boards/lord-board/lord-board.ini - PlatformIO build configuration
  • boards/lord-board/demo pictures/ - Hardware demonstration photos (5 images)

Files Modified

  • boards/pinouts/pins_arduino.h - Added LORD_BOARD include directive
  • platformio.ini - Added lord-board environment option

Testing

  • Compiles successfully
  • Hardware tested with actual LORD Board
  • [x ] All peripherals functional (TFT, Touch, RF modules, NFC, GPS, SD card)

Demo Pictures

Included demonstration photos showing the assembled board in boards/lord-board/demo pictures/.

Notes

  • Battery monitoring is no

- Defined pin mappings in pins_arduino.h for various peripherals including TFT, touch, and radios.
- Created interface.cpp with GPIO setup, touch handling, and brightness control functions.
- Added lord-board.ini for PlatformIO configuration, including build flags and library dependencies.
@emericklaw
Copy link
Member

emericklaw commented Nov 29, 2025

For this to be considered please rebase these changes on to the dev branch and change the merge target to dev.

Are there publically available documentation for others to create? If you are the only user of the board then merging this into the main Bruce repo might happen.

The images are also not required.

@sivabala21
Copy link
Author

Thank you for the feedback! I'll make the following changes:

  1. Rebase onto dev branch and change merge target to dev
  2. Remove the demo images
  3. Add public documentation with schematics, pin mappings, BOM, and build instructions for community replication

I'll push the updated changes soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants