Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Hacker Campers Badge 2019

Build Status

Blog post:

Parts list

Board files located in this repo under boards/, or use the links below to order directly from

qty Name Link
1 ESP32 breakout board
5 Neopixel LEDs
1 I2S audio codec
1 Speaker
1 3xAA Battery box
1 Front plate
1 Back plate
6 M2 screws
3 M2 spacers
1 Power switch
1 Lanyard
1 SAO connector
3 AA batteries

Build requirements

Only install this if you don't want to do it the easy way. Otherwise, follow the directions under the Loading Firmware section, below.


  • Orientation reference: corner without M2 hole goes down and to the right.
  • Install LEDs (flat side goes to the right, or down)
  • Install power switch in the upper-left corner
  • Install SAO connector on the rear of the plate, with the slot UP
  • Install I2S audio codec
    • Solder two wire leads to the plate, for the speaker leads.
    • Solder a 7-pin header onto the board
    • Situate the codec on the two speaker leads and pin header, solder down.
  • Install the ESP32
    • On the bottom row, and starting from the far right and moving to the left:
      • Solder five leads into the plate, skipping the first hole on the right.
    • On the top row, solder a lead into the second hole from the far right.
    • On the top row, solder a lead for GPIO pin #5. Use the ESP32 to align.
    • Solder pin headers onto ESP32 breakout board, with pins facing up.
    • Situate the ESP32 on the leads and solder down.
  • Load firmware onto the ESP32 (see Loading firmware, below) and confirm functionality.
  • Solder battery box leads to the bottom plate, with the red lead closest to the M2 hole in the upper left corner.
  • Use 2-sided tape to attach the battery box to the back of the bottom plate.
  • Use a hot glue gun to fill holes in top plate, creating diffusers for LEDs
  • Use the screws and spacers to attach the top plat to the bottom plate


Loading firmware (Ubuntu 18.04, Docker)

  • Configure roles (by mac address) in source/configs/config.json
  • Build the Docker container: docker build -t flasher:latest .
  • Plug in USB TTY (Assuming it will show up as /dev/ttyUSB0)
  • Restart ESP32 in ROM serial bootloader mode.
  • Flash the badge docker run -it --rm --device=/dev/ttyUSB0 flasher:latest
  • Follow directions on-screen. You will need to re-enter bootloader mode after flash is cleared.


No releases published


No packages published