CLIENT BUILD // OPEN SOURCE HARDWARE

OnionDAO Badge

A modular, programmable conference badge built for hackers. Swap RF, audio, and storage modules in the field — all powered by ESP32-S3 with a hardware secure element on board.

Status Active Development

Processor

ESP32-S3-WROOM

Security

ATECC608B

Display

e-ink / TFT Socket

RF Module

CC1101 Sub-GHz

PRODUCT DESCRIPTION

A hacker badge built for real field use

The OnionDAO Badge was designed and manufactured by SkyRizz as a client build for OnionDAO — an open-source conference badge that doubles as a serious hardware platform. Everything from the KiCad schematics to the firmware examples is open and hackable.

Overview

The OnionDAO Badge is a modular electronic badge built for conferences and hacking events. At its core sits an ESP32-S3-WROOM-1-N8R8 module with 8 MB of flash and 8 MB of OPI PSRAM — enough headroom for real firmware projects, not just blinky demos.

The badge ships with a 24-pin display socket that accepts e-ink or TFT panels, a 6-button matrix for navigation and input, and dual 10-pin expansion headers on both sides. Three optional modules — Sub-GHz RF, audio, and extended storage — snap in without rework.

Key Features

  • Swappable RF module (CC1101, 315 / 433 / 868 / 915 MHz)
  • Swappable audio module (NS4168 I²S amp + SPH0641 PDM mic)
  • ATECC608B secure element for cryptographic key storage
  • 24-pin display socket — e-ink or TFT compatible
  • 6-button input matrix via TCA9534 I²C expander
  • Dual 10-pin side expansion headers with GPIO access
  • Auto-reset USB programming — no manual BOOT button hold
  • Peripheral power gating via GPIO18 for low-power modes
  • Supports ESP-IDF, Arduino, PlatformIO, MicroPython, and CircuitPython

Hardware Specs

  • MCUESP32-S3-WROOM-1-N8R8 — dual-core Xtensa LX7, 8 MB flash, 8 MB OPI PSRAM
  • Secure ElementMicrochip ATECC608B — hardware crypto, I²C bus at address set via SE_EN (GPIO8)
  • USB / SerialWCH CH340C UART bridge with DTR / RTS auto-reset circuit
  • Display24-pin SPI socket — BUSY, RST, DC, CS, SCK, MOSI on GPIO11–14, 17, 21
  • Input6-button matrix via TCA9534 I²C IO expander (0x20), interrupt on GPIO1
  • RF ModuleTI CC1101 — 315 / 433 / 868 / 915 MHz Sub-GHz, swappable
  • Audio ModuleNS4168 I²S amplifier + SPH0641 PDM microphone, swappable
  • I²C BusGPIO9 (SCL) and GPIO10 (SDA) — 400 kHz, shared between expander and secure element
  • Power GatingSS8050 transistor on GPIO18 controls the peripheral VCC rail
  • Expansion28 accessible GPIO pins across dual 10-pin side headers (left and right)

In the Repository

  • Full KiCad 9.0.3 schematic and PCB source files
  • Production-ready Gerbers, BOM, and netlist
  • 3D STEP model with all component models
  • Board renders (top and bottom PNG)
  • Interactive HTML IO reference table
  • Firmware examples, guides, and community mods
  • Detailed docs: HARDWARE.md, PINOUT.md, MODULES.md

Getting Started

  1. Clone the repo and review HARDWARE.md and PINOUT.md first.
  2. Use the production/ folder for Gerbers, BOM, and assembly files.
  3. Set up your toolchain — ESP-IDF v5.5.x is the primary supported environment.
  4. Configure PSRAM explicitly for Octal (OPI) mode using the provided sdkconfig.defaults.
  5. Load a firmware example from software/examples/ and flash over USB-C.
  6. Attach your display, RF, or audio module and start hacking.