Badge for Fri3d Camp based on the ESP32

Public Chat
Similar projects worth following
Ph0xx is the badge for Fri3d Camp, a family hacker, maker and DIY camp in Belgium with close to 600 attendees, everyone of which shall receive this badge. Ph0xx is based around the Espressif ESP32-WROOM-32 module, it houses two 5x7 LED arrays, an ADXL345 accelerometer, DW01-P Battery protection, TP4056 battery charger, an 18650 battery, touch buttons, some power pads, expansion headers, a buzzer and has Lego Technic compatible holes.

The badge has 2 jewels already. The Air jewel, which can interface with an dust particle sensor and GPS, and the Bot jewel, which boosts the power to drive 4 large servos and is used as building block of the bi-pedal robot


Some badges during the testing

quicktime - 16.54 MB - 08/16/2018 at 08:30


  • 1 × ESP32-WROOM-32 Espressif ESP32 based WiFi Module
  • 1 × TP4056A Lithium battery charger
  • 1 × DW01-P Lithium battery protection IC
  • 3 × 74HC595 8-bit shift register
  • 1 × KLJ-1230 Buzzer

View all 6 components

  • Mass production

    Wim Van Gool08/26/2018 at 10:57 0 comments

    For those wondering how we assembled the boards, we compiled a video of all the different steps. 

    We started off with prototype machinery (Mechatronika M10 and Mechatronika MX70), manual solder paste dispensing using a eC-Stencil-Mate and reflowing them using the MR260 from Mechatronika which has 3 zones. The quality was good, but not perfect. But it was too slow for the amount of badges we had to assemble. Operating the machine for 24 hours on 2 days yielded us only 203 aasembled Ph0xx PCBs. Which led us to the next phase of the assembly. 

    Mass production at More-at-Mere using high speed equipment and an 8 zone reflow oven. The machinery might not be the latest and newest available but damn, they're fast! The chip shooter has multiple pick-and-place heads, each having multiple nozzles. Instead of the head moving to pick up a part, the part tray is moved to the pickup location. The rotating carousel of pick-and-place heads, shown at the 22 minute mark, goes faster than the human eye can follow. We still did manual paste dispensing, which was an oversight from our side, next time we'll have to order the production stencil a bit earlier. The total time from the start of the line to just before the oven was only 47 seconds for a panel with 2 boards.

    A big thanks to the team from More-At-Mere for the effort in getting 460 boards assembled in one day ans all the volunteers helping out with de testing and assembling of the boards. 

  • Prototype assembly

    Wim Van Gool08/24/2018 at 12:42 0 comments

    The assembly of the first prototypes was done by hand. We did use solder paste and a small reflow oven, but the placement was done manually.

  • First hack right before the camp

    Wim Van Gool08/24/2018 at 12:39 0 comments

    right before leaving for Fri3d Camp I quickly desolderd all 70 blue LEDs and replaced them with green ones. Most people didn't think it was possible until I showed them the video. Some of them kept insisting that it was an undocumented feature of Ph0xx to change the color of the LEDs. Mission accomplished!

  • Lego compatibilty

    Wim Van Gool08/24/2018 at 12:35 0 comments

    One of the gimmicks that was requested by @Daan Gerits was the compatibility with the LEGO® Technic system. This is achieved by placing the 4.2mm holes on a 8mm grid. Thereby enabling the badge to be installed in your new brick design!

  • Mass production scripts

    Wim Van Gool08/24/2018 at 12:31 0 comments

    Since we had 650 of these boards to test and assemble we designed our default firmware to be our testing firmware. Most common problems during production were a bad, or non-connection to the USB-UART or a LED that moved a little during assembly and therefor was shifted or tombstoned. The script that was designed by Christophe did the trick. It will scan for new USB ports and will automatically start programming the badges. I say badgesince it worked perfectly with multiple PCBs attached to the PCB.

  • Up in the air!

    Wim Van Gool08/23/2018 at 06:50 0 comments

    During Fri3d camp we launched a weather balloon which held a Ph0xx with Air jewel so we could measure the air quality going up. At a certain height the dust particle sensor stopped working due to the very low external temperature (as low as -61°C). 

  • Easy Animation

    Wim Van Gool08/22/2018 at 09:12 0 comments

    One of the members from Area 3001 made as easy web tool to define your own animation on the eyes. The website will generate the Arduino code which you can copy-paste into your IDE and upload to Ph0xx in no time.

View all 7 project logs

  • 1
    Install Drivers

    This step is not needed for the recent mainstream operating systems. But in case the Ph0xx is not recognized, try installing the drivers.

  • 2
    Setup the Arduino IDE

    Get yourself a recent version of the Arduino IDE and add " the field for the additional boards manager URL ( File > Preferences )

    Install the ESP32 toolchain through the boards manager. Open the Boards Manager ( Tools > Board > Boards Manager ) and search for ESP32. Press "Install"

  • 3
    Install the Fri3d library

    Download the ZIP file of our repository and follow the instruction described by Arduino to correctly install the library.

View all 3 instructions

Enjoy this project?



Starhawk wrote 08/30/2020 at 15:56 point

No ties to the con, and no real interest in badges... but I do love foxes :) especially red foxes.

So +1 for that!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates