No description
Find a file
Daniel Esteban e9b36a62fa readme
2026-04-14 19:04:43 +02:00
hardware/PCB-kicad readme 2026-04-14 19:04:43 +02:00
.gitignore Initial commit 2026-04-14 16:31:01 +00:00
LICENSE Initial commit 2026-04-14 16:31:01 +00:00
README.md readme 2026-04-14 19:04:43 +02:00

BadgeConf

BadgeConf is an electronic conference badge and a hands-on platform for learning TinyGo programming.

Whether you are attending a conference or just getting started with embedded development, BadgeConf gives you a real piece of hardware to hack on, complete with a ready-to-use firmware, step-by-step tutorials, and progressively more advanced examples that unlock every capability of the board.


Features

Peripheral Details
Color display Compact full-color screen (FJ08K-S)
Buttons 2 Cherry MX hot-swap mechanical switches
Joystick Alps EC11E rotary encoder with push switch
RGB LEDs 2 × SK6812MINI-E addressable LEDs
StemmQT connector JST SH 4-pin for I2C expansion modules
Buzzer 5.5 mm buzzer for audio feedback
Bluetooth BLE via the nRF52840 on the nice!nano
USB HID Acts as a keyboard/mouse over USB thanks to the nice!nano
Battery Onboard battery cell header (2-pin 2.00 mm)

The microcontroller is the nice!nano (nRF52840), which is fully supported by TinyGo and exposes both USB HID and Bluetooth HID out of the box.


Repository layout

badgeconf/
├── hardware/          # KiCad PCB design files
│   └── PCB-kicad/
│       └── production/  # Gerbers, BOM, pick-and-place files
├── firmware/          # Ready-to-use TinyGo firmware (coming soon)
└── tutorials/         # Step-by-step examples (coming soon)

Getting started

Prerequisites

  • TinyGo ≥ 0.32
  • Go ≥ 1.22
  • A BadgeConf board (see hardware section below) or a compatible nice!nano dev board

Flash the default firmware

tinygo flash -target=nicenano ./firmware/

Hardware

All design files are located in hardware/PCB-kicad/. Production files (Gerbers, BOM, positions) ready for fabrication are in hardware/PCB-kicad/production/.

Bill of Materials

Designator Value / Part Footprint Qty
BT1 Battery Cell PinHeader 2×01 P2.00 mm Vertical 1
BZ1 Buzzer Buzzer 5.5 mm 1
DISPLAY1 Display connector PinHeader 1×08 P2.54 mm Vertical 1
H1, H2, H3, H4 Mounting Hole M2 4
LED1, LED2 YS-SK6812MINI-E SK6812MINI-E 2
R1, R2 Resistor Axial DIN0207 L6.3 mm D2.5 mm P10.16 mm 2
STEMMAQT1 StemmQT connector JST SH SM04B-SRSS-TB 1×04 P1.00 mm 1
SW1, SW2B1 Push switch Cherry MX Hot-swap 2
SW2 Rotary Encoder + Switch Alps EC11E Vertical H20 mm 1
SW2B, SW2C Key switch Strap hole 2
U1 nice!nano nice_nano 1
U2 FJ08K-S FJ08K-S 1

Tutorials & examples

The tutorial series walks you through every peripheral of the badge, starting from blinking an LED and ending with a Bluetooth HID device:

  1. Hello, Badge! — blink the RGB LEDs
  2. Drawing on the display — TinyGo + TinyDraw
  3. Reading buttons and the joystick
  4. Playing sounds with the buzzer
  5. I2C expansion via StemmQT
  6. Going wireless — BLE advertisements and GATT services
  7. USB HID — turn the badge into a keyboard

(Tutorials are coming soon — contributions welcome!)


License

See LICENSE.