Skip to content

Repository files navigation

Retia RNode Firmware — Nibble Zero & DEF CON Badge

Rnode

RNode (Reticulum) firmware, flashable binaries, and automated tools for the Retia Nibble Zero (ESP32-S3 + SX1262) and the Retia 2024 DEF CON badge (ESP32-S3 + RFM95W/SX1276).

Quick Start (Flashing)

  1. Clone the repo (submodules only needed if you want to build from source):

    git clone --recurse-submodules https://github.com/RetiaLLC/NibbleReticulum.git
    cd NibbleReticulum
  2. Pick your firmware and run the flasher:

    Device Variant Flash with
    Nibble Zero Headless (stable) ./Release/flash_nibble.sh /dev/ttyACM0
    Nibble Zero OLED enabled ./Stable_OLED/flash_nibble.sh /dev/ttyACM0
    DEF CON badge TFT status display ./DefconBadge/flash_dcbadge.sh /dev/ttyACM0
    OG Nibble (RFM95) OLED default ⚠️ untested ./NibbleOG/flash_nibble.sh /dev/ttyACM0
    Nibble Connect Headless ⚠️ untested ./NibbleConnect/flash_nibble.sh /dev/ttyACM0
    Nibble Screen Connect OLED ⚠️ untested ./NibbleScreenConnect/flash_nibble.sh /dev/ttyACM0

    ⚠️ = compile-verified, hardware validation pending.

    On macOS the port is /dev/cu.usbmodem*. Requires esptool and rnodeconf (pip install esptool rns).

Key Features

  • Automated Flashing: Software-triggered bootloader mode (no physical buttons required).
  • OLED Support (Nibble Stable_OLED build): SSD1306 on pins 7 (SCL) and 8 (SDA).
  • LoRa Performance: Pre-configured for SX1262 (Nibble) / SX1276 (badge).
  • Factory Bin: Single-pass factory.bin at 0x0 for rapid deployment.

Contents

  • Release/: Nibble Zero headless stable binaries + automated scripts.
  • Stable_OLED/: Nibble Zero OLED-enabled binaries + scripts.
  • DefconBadge/: DEF CON badge RNode binaries + scripts (TFT status display default, headless included).
  • NibbleOG/ / NibbleConnect/ / NibbleScreenConnect/: the rest of the product line (compile-verified; hardware validation pending).
  • RNode_Firmware/: Firmware source (submodule → RetiaLLC/RNode_Firmware, branch retia-stable). Build targets: firmware-retia_nibble(_oled), firmware-retia_dcbadge(_tft), firmware-retia_nibble_og(_oled), firmware-retia_nibble_connect(_oled), firmware-retia_nibble_sconnect.
  • RNode_Firmware_CE: Community-edition source (submodule, experimental — see unstable_community/).
  • GUIDE.md: Detailed flashing and manual setup guide.
  • DEVELOPER.md: Build instructions and board configuration details.
  • SIGINT.md: LA-area Reticulum channel survey (914.875 MHz / SF8 / 125k / CR5).
  • setup_nibble_zero.sh: Environment setup script for Kali/Debian Linux.

Verification

Use Release/test_link.sh (requires 2 devices) to verify RF communication:

./Release/test_link.sh /dev/ttyACM0 /dev/ttyACM1

Hardware Specifications

Rnode

Nibble Zero

  • MCU: ESP32-S3 (S3FH4R2) · LoRa: SX1262 · Display: SSD1306 (I2C 7/8)
  • Identity: Homebrew RNode (f0:fe), board 0xFF

2024 DEF CON Badge

  • MCU: ESP32-S3-WROOM-1 · LoRa: RFM95W (SX1276) 915 MHz, U.FL antenna
  • Pins: CS 48 / RST 38 / DIO0 21 / SPI 13-12-11 · Identity: Homebrew RNode (f0:fe), board 0x47

⚠️ Never transmit without an antenna attached — you can damage the radio PA. Receiving is safe.

About

Reticulum for the Nibble Zero with OLED

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages