If you’re interested in selling your own custom PCBs and electronics, you’re going to need a way to test everything before shipping. You’ll also want a way to quickly and easily flash your code. Sure, you can do those things manually, but it’d be a lot easier if you had a dedicated jig. That’s exactly what Redditor Seonr, AKA the Unexpected Maker, did for his TinyPICO device.
The TinyPICO is an ESP32-based development board that’s designed to be as small as possible and run MicroPython. Seonr has been developing TinyPICO for several months now, and needed a way to test the new design revisions, as well as the final products once they’re ready to sell. Doing all of that manually is a repetitive task, so Seonr designed a complementary jig specifically to flash the TinyPICO’s code and run a barrage of test functions.
The test jig is a custom HAT built for a Raspberry Pi 3 Model B+, which has pogo pins for the TinyPICO to snap onto. In addition, it has a small OLED display for showing the status of tests and a button for starting the process. After attaching the TinyPICO, Seonr just needs to push that button to flash the chip and begin the tests.
First, a Python script tells ESPTool to flash the code to the TinyPICO’s ESP32 module. Then, it runs various MicroPython commands on the TinyPICO through rshell. Those commands are used to verify that the TinyPICO’s features are working correctly. The results of the tests are then shown on the OLED display. The jig dramatically increases the efficiency of testing, and it’s worth replicating if you design your own device.