DC512 Badge

This is an electronic badge for DC512, a hacker meetup group in Austin, Texas. It uses ultrasound to notice other DC512 badges nearby and responds with an LED light show.
Using the Badge
The badge requires one AAA cell. Install it in the holder on the back, following the + and - polarity marks on the holder. The badge turns on as soon as the cell is installed; there is no separate power switch. Remove the cell when storing the badge for a long period.
The badge is normally quiet and dark. This does not mean that it is turned off. It spends most of its time waiting for other badges while conserving power.
Each badge has its own ID and sends it automatically about once per minute using a 40 kHz ultrasonic signal. The two round transducers let badges exchange these IDs without using radio. When a badge hears a new ID, it waits about 15 seconds for any more badges to respond, then plays a light show. Detecting more distinct badges produces a longer and more active show.
The button on the back has two functions:
- Press and release it to transmit the badge's ID immediately.
- Hold it for about two seconds to play a local demonstration light show.
The first function can be useful when meeting another badge: press the button, keep the badges nearby, and allow several seconds for them to exchange IDs. The light show begins after the badge has stopped hearing new IDs for about 15 seconds.
There is no microphone and the badge does not record audio. Its ultrasonic receiver is built only to detect the simple signals sent by other badges.
Repository Contents
The rest of this repository contains the material used to make the badge:
src/contains the ATtiny43U firmware, programming and oscillator-calibration utilities, and compiled firmware files.kicad/contains the KiCad schematic and PCB layout, custom footprints and mechanical models, and manufacturing output files.docs/contains component datasheets, measurements, and notes about the ultrasonic on-off-keyed communication format.
