The 2023 Conference badge is loosely based on the Arduino UNO design with an ATmega328PB microcontroller and the following devices:
- Sixteen NeoPixel RGB LEDs
- Six buttons
- Two 'pairing' connectors
- One Shitty Add-On V1.69bis connector
- One (optional) 128x32 OLED display
The badge is powered through a USB-C port or through 3 AAA batteries.
The firmware is based on the Arduino framework using the MiniCore core. The build system uses PlatformIO to easily manage the dependencies.
You can install it on Debian / Ubuntu in a python virtualenv with these commands:
sudo apt install python3-virtualenv
virtualenv .venv
. .venv/bin/activate
pip install platformioThe installation procedure for your OS may differ a little, please consult the PlatformIO documentation if you have any difficulties.
Once the installation is complete you can build the firmware:
pio runFlashing the firmware requires an AVR compatible programmer, the cheapest available one we could find is the USBasp which can be found for 10$ to 20$ on Amazon or other retailers.
If the badge is factory fresh, you need to set the fuses once with this command:
pio run -t fusesThen flash the firmware with this command:
pio run -t uploadIf you don't want to make any modifications and just want to flash the firmware that was used during the conference, you just need to install AVRDUDE and flash the 'binary/firmware.hex' file.
On Debian / Ubuntu:
sudo apt install avrdude
# Set the fuses
avrdude -e -p atmega328pb -c usbasp -B 10 -U lock:w:0x0f:m -U hfuse:w:0xde:m -U lfuse:w:0xff:m -U efuse:w:0xfd:m
# Flash the firmware
avrdude -e -p atmega328pb -c usbasp -B 3Mhz -U "flash:w:binary/firmware.hex:i"Enjoy.