firmware icon indicating copy to clipboard operation
firmware copied to clipboard

Add initial implementation for lord-board (DIY bruce)

Open sivabala21 opened this issue 4 weeks ago • 2 comments

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

  • [x] Compiles successfully
  • [x] 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

sivabala21 avatar Nov 29 '25 13:11 sivabala21

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.

emericklaw avatar Nov 29 '25 14:11 emericklaw

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.

sivabala21 avatar Nov 29 '25 14:11 sivabala21