SAOs: The Low-Cost On-Ramp to Badge Making
An SAO (Simple Add-On, originally “Shitty Add-On”) is a small PCB that attaches to a host badge via a 6-pin connector. The current standard is 1.69 BIS, running at 3.3V with a maximum 280mA draw. Starting there keeps costs manageable: 200 SAOs run about $250, versus $10,000 for a complex badge run. The circuit is a resistor, an LED, and a SAO connector. That’s the whole schematic. SAOs can scale from a single LED to a full badge that synchronizes RGB patterns with the host.
PCB Design in KiCad: From Schematic to Fab Files
KiCad is the recommended free EDA tool. The workflow has five steps: create a project, build a schematic, assign footprints, lay out the PCB, and export to the fab. Footprints are the pads and holes components solder onto. For beginners, 0603 size or larger makes rework possible, which matters when debugging in a hotel room with a soldering iron you’re not supposed to have. JLCPCB’s parts library includes footprints for most components. A converter tool pulls any JLCPCB part number directly into KiCad without manual work.
PCB Art: Colors, Layers, and SVG Import
Badge PCB art works with four colors: solder mask (red, green, blue, purple, black, white, or yellow), silkscreen (usually white or black), metal (copper or ENIG, giving silver or gold), and FR4 (a semi-transparent yellow base). Import artwork as an SVG vector file and distribute it across KiCad layers. Fill copper zones on front and back to add the metal color. Transparent areas expose FR4 below, which helps with LEDs. PCB Way, JLCPCB, and OSH Park each offer different color combinations.
Choosing a Chip and Getting Code Running
Geisperger recommends the ESP32-S3, RP2040, or RP2350. All include built-in USB, removing the need for a separate serial-to-USB chip. The RP2040 and RP2350 appear as a USB drive when plugged in; flash them by dragging the firmware file. For a run of 1,000 badges with 15 volunteers, that approach made flashing feasible where a custom toolchain would not. All three have Arduino library support. Adafruit’s NeoPixel library handles LED control. ButtonFever handles button inputs with both polling and interrupt modes.
Borrowing Open Source Schematics Correctly
Adafruit and SparkFun publish full schematics for their dev boards. When Geisperger needed a screen on his Frog Star badge, he bought an Adafruit breakout, verified it on a breadboard, then copied the relevant schematic portion into his badge design directly. The Raspberry Pi Foundation provides a full KiCad reference design for the RP2350, covering the MCU, flash, and USB. The Frog Star badge uses that design nearly verbatim, aside from the power section. Starting from a working reference prevents the class of bugs that come from first-principles circuit design.
What Actually Goes Wrong and What Makes a Badge Last
Tariffs and supply shortages disrupted component availability this year. Swapping a display driver forces library revalidation. Datasheet errors happen: Geisperger ordered a three-way power switch and received a two-position momentary switch, with no indication in the datasheet. Manual assembly at scale is punishing; he and a friend hand-attached 950 screens for one conference. Plan 10-20% overages. Both the Submarine and Frog Star badges shipped with individual failures requiring hand rework. A badge worth keeping has CTF puzzles, exposes GPIO headers for reuse, or does something after the conference ends.
Q&A
How much overage should you order to guard against part failures? Order 10-20% above your target quantity; for a run of 100, order 120 to 125, accepting whatever the next increment the manufacturer offers. ▶ 28:33
What battery type is simplest for a first badge? Use AA or AAA batteries with a boost converter to reach 3.3V, and add a buck circuit to accept USB input at the same rail. ▶ 30:15
How do you handle LiPo battery safety? Add overvoltage, undervoltage, and temperature protection; prefer hard-cased 18650 cells over soft-pack batteries, which can puncture and ignite. ▶ 31:16
Can EDA tools simulate a circuit before you build it? KiCad’s built-in simulation is limited, so Geisperger recommends breadboard prototyping and manually checking datasheet current and voltage limits instead. ▶ 32:12
Notable Quotes
be forewarned. It is a huge time sync, Jeff “BigTaro” Geisperger · ▶ 1:18
This is badge life. Jeff “BigTaro” Geisperger · ▶ 6:41
voila, badge life done. You got a board Jeff “BigTaro” Geisperger · ▶ 15:10
All parts fail. Plan to buy overages. Jeff “BigTaro” Geisperger · ▶ 25:35
Key Takeaways
- Start with an SAO: 200 units cost roughly $250, versus $10,000 for a full badge run.
- Use the RP2040 or RP2350 for first badges; drag-and-drop flashing requires no toolchain setup.
- Copy verified open source schematics from Adafruit or the Raspberry Pi Foundation directly.
- Order 10-20% more components than your target quantity; individual part failures are certain.
- Prototype on a breadboard before committing a design to PCB fabrication.
About the Speaker
Jeff “BigTaro” Geisperger is a security engineer with 15 years of experience in hardware and device security, working across low-level firmware, embedded systems, and cloud services that power modern devices. Outside his day job, he is active in the hardware hacking and badgelife communities. What began as collecting badges has grown into designing both indie and large-scale conference badges for thousands of attendees.