There are only a handful of people who can say they’ve built several successful electronic badges for conferences. Voja Antonic is not just on that list, he’s among the leaders in the field. There are a lot of pressures in this type of design challenge: aesthetics, functionality, and of course manufacturability. If you want to know how to make an exposed-PCB product that will be loved by the user, you need to study Voja’s work on the 2016 Hackaday SuperConference Badge. The badge is completely open, with all the design files, firmware, and a manual on the badge project page.
Between travelling from Belgrade to Pasadena and guiding production of 300 badges across the finish line before the conference deadline Voja took ill. He made it to the conference but without a voice he asked me to give his badge design talk for him. You can check that talk out below but let’s touch briefly on why Voja’s design is so spectacular.
The point of a conference badge is for attendees to wear them around their necks. This makes aesthetics as important as any other aspect of the design. Every single person will interact with the badge in this manner.
Voja’s approach was to come up with a series of board outlines and major component placements (in wireframe). He then sought input from many different people to help narrow down a half dozen designs to a single idea. With a design chosen, Voja tweaked the color scheme, ran a batch of prototypes, and started populating boards.
His final refinements are what make the badges so beautiful. He moved from black glossy solder mask to black matte, matched the silk screen color to the color of the auxiliary buttons and the hue of the non-illuminated LEDs. The shape, the component placement (LEDs and buttons on a 45 degree angle) and the choice of edge-mounted battery holders made less bulky with a PCB cut-out are all iconic design elements.
Design has some effect on price (can it be manufactured?) but hardware choices are the biggest driver of this. The badge has three ICs on it, the PIC18F25KL50, an LED driver, and the accelerometer. The rest is fairly straight-forward, an IR receiver, mini-B USB jack, LEDs, buttons, and passives. The point is that there’s nothing truly exotic here. Used well, common components have no trouble creating a device people will love. Sticking within the BOM cost is another issue altogether. We kept it close to our goal, but that’s because a lot of labor from our team didn’t figure into the bottom line. Read more about our tale of manufacturing.
An electronic conference badge is a failure if it only hangs around an attendee’s neck. People need to interact with these badges and for that Voja added a Tetris game, scrolling messages that can can be customized with an IR kiosk at the con, and a gravity simulation using the accelerometer
The underpinnings are a USB bootloader that our friends as Microchip provided. This added USB mass storage support to the badge. Voja wrote a ‘kernel’ that runs in protected bootloader space which takes care of all the low-level hardware handling. This combination makes the badge perfect for all skill levels.
Everything is memory mapped — LEDs control buffer, debounced button reads, RX and TX on the IR bus, accelerometer data subroutine calls, timing, and random numbers. And Voja’s clever implementation throws interrupts to user space first. Most users will redirect this back to the bootloader but seasoned embedded programmers can get full access to the hardware simply by not giving control back to the kernel.
These features are a huge win for the firmware. But Voja wrote a second firmware. He didn’t reveal it until the con had already started. This alternative could be flashed to the badge by the users to take on the crypto challenge.
Voja Antonic is an amazing hardware creator. Looking though his back catalog of projects you will be amazed by his Dali clock and his FR4 enclosures. He sets an example for all to follow — you should be a great hardware engineer, a great designer, and include amazing documentation in your designs. This conference badge hits all of those benchmarks and then some.