Skip to content
hackydayPublic

About

making an esp32 with BRUCE hiding in a calculator

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bruce Main Menu

🦈 Bruce — BARTOS Remix

This is a community remix of Bruce firmware adding two new board variants designed to run without a built-in TFT LCD display, making Bruce accessible on bare ESP32 boards and custom hardware.

Upstream: Bruce v1.14 by @pr3y and contributors. Remix by: @messinamirko99-design


Warning

Disclaimer — Bruce is a tool for cyber offensive and red team operations, distributed under the AGPL. Intended for legal and authorized security testing only. Use of this software for malicious or unauthorized activities is strictly prohibited. The developers assume no liability for misuse. Use at your own risk.


🆕 New Board Variants

BARTOS

A hardware-first variant with a 2-button + I2C 16×2 LCD interface.

Component GPIO
LCD SDA 21
LCD SCL 22
SCROLL button (next) this button is on the gpio0 and if you are using a esp32 dev kit its the second button after reboot
SELECT button (confirm/back) 26 → GND
  • I2C auto-detect — scans 0x27 → 0x3F → 0x20 → 0x38 at boot
  • Backlight timeout — LCD backlight turns off after 30s of inactivity, any key wakes it
  • Marquee scroll — labels longer than 16 chars scroll automatically on the LCD
  • SCROLL = next item / SELECT short press = confirm / SELECT long press (>700ms) = back/ESC
  • Text input: serial console when available, char picker as fallback

CYD-Console

A headless variant for the CYD-2432S028 (or any ESP32) with serial console navigation only. No display required.

Key Action
w / a / ↑ / ← Previous
s / d / ↓ / → Next
Enter / Space Select
q / Backspace / ESC Back

🏗️ How to install

Flash with ESP32 Flash Download Tool

Use these three files from the release (or your own build output):

File Address
bootloader.bin 0x1000
partitions.bin 0x8000
firmware.bin 0x10000
  1. Open the tool → select chip ESP32
  2. Add the 3 files and set addresses as above ✅
  3. SPI Speed: 40MHz · SPI Mode: DIO · Flash Size: 4MB
  4. Hold BOOT, click START, release after ~2s
  5. Press EN/RST to reboot into the firmware

Flash with esptool.py

esptool.py --port /dev/ttyACM0 --baud 921600 \
  write_flash \
  0x1000  bootloader.bin \
  0x8000  partitions.bin \
  0x10000 firmware.bin

Build from source

pio run -e BARTOS --target upload
# or
pio run -e CYD-Console --target upload

Build output lands at .pio/build/<env>/firmware.bin.


⌨️ Discord Server (upstream)

Contact the Bruce team in their Discord Server.

📑 Wiki

For features and usage, see the upstream Bruce wiki.


💻 List of Features

WiFi

BLE

  • BLE Scan
  • Bad BLE - Run Ducky scripts
  • iOS Spam
  • Windows Spam
  • Samsung Spam
  • Android Spam
  • Spam All

RF

  • Scan/Copy
  • Custom SubGhz
  • Spectrum
  • Jammer Full
  • Jammer Intermittent
  • Config (TX Pin, RX Pin, Module, Frequency)
  • Replay

RFID

  • Read tag / Read 125kHz
  • Clone tag
  • Write NDEF records
  • Amiibolink / Chameleon
  • Write / Erase / Save / Load
  • Config (PN532, PN532Killer)

IR

  • TV-B-Gone
  • IR Receiver
  • Custom IR (NEC, NECext, SIRC, Samsung32, RC5, RC6…) — file browser navigable on LCD
  • Config (TX Pin, RX Pin)

FM

  • Broadcast standard / reserved / stop

NRF24

  • NRF24 Jammer
  • 2.4G Spectrum

Scripts

Others

  • Mic Spectrum
  • QRCodes (Custom, PIX)
  • SD Card Mngr — file browser shown on LCD with folder + filename
  • LittleFS Mngr
  • WebUI — IP and credentials shown on LCD when active
  • Megalodon
  • BADUsb
  • iButton
  • LED Control

Clock

  • RTC Support
  • NTP time adjust
  • Manual adjust

Connect (ESPNOW)

  • Send / Receive File
  • Send / Receive Commands

Config

  • Brightness (LCD backlight on/off)
  • Dim Time (30s default, configurable via BACKLIGHT_TIMEOUT_MS)
  • UI Color
  • Boot Sound on/off
  • Clock / Sleep / Restart

Board Compatibility

Device CC1101 NRF24 FM PN532 Mic BadUSB Speaker
BARTOS (this remix) 🆗 🆗 🆗 🆗 ❌ 🆗¹ ❌
CYD-Console (this remix) 🆗 🆗 🆗 🆗 ❌ 🆗¹ ❌
JCZN CYD‑2432S028 (upstream) 🆗 🆗 🆗 🆗 ❌ 🆗¹ ❌
M5Stack Cardputer 🆗 🆗 🆗 🆗 🆗 🆗 NS4168
Lilygo T‑Deck 🆗 ❌ ❌ ❌ ❌ 🆗 ❌
Lilygo T‑Embed CC1101 🆗 🆗 🆗 🆗 🆗 🆗 🆗

For the full upstream device table see Bruce's README.

¹ BadUSB on CYD/bare ESP32: see wiki


✨ Why this remix?

Bruce is an incredible toolkit, but it assumes a TFT display is always present. This remix opens it up to bare ESP32 boards, DIY builds, and anyone who wants to run Bruce on a custom PCB with just a cheap I2C LCD and two buttons — or even headless over serial.


👏 Acknowledgements

Upstream Bruce team:

This remix:

  • @messinamirko99-design — BARTOS & CYD-Console board variants, I2C LCD driver, 2-button navigation, marquee scroll, backlight timeout, I2C auto-detect

About

making an esp32 with BRUCE hiding in a calculator

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages