We’ve now shipped a few hundred ESP32 Rainbow boards; most of the boards have worked perfectly - but there are always a few that don’t make it.
We’ve got three units that have failed QA in different ways:
- One had no sound
- One had a dodgy keyboard
- One had no USB connection
None of these were design issues. They were all the sort of subtle manufacturing or assembly faults you only discover once real boards are powered up and tested.
Let’s take a look at each failure, what caused it, and how it can (or should) be fixed.
Manufacturing & QA
The ESP32 Rainbow PCBs are manufactured by PCBWay, who handle:
- PCB fabrication
- UV silkscreen printing
- Partial component assembly
Final assembly, inspection, and full QA are done here in Scotland.
That QA step is important - it’s where issues like these show up before a board ever reaches a customer.
Failure #1: No sound output
Symptom:
The board has been flashed and everything runs correctly, but there is no audio from the speaker.
Debugging
Applying gentle pressure to the headphone jack caused sound to briefly return - which is a strong hint that this is a mechanical or soldering issue.
Root cause
Under the microscope, the problem was obvious:
- Multiple pads on the headphone jack had lifted
- Only one electrical connection remained intact

This meant the speaker signal was effectively disconnected.
Resolution
This is a reasonably easy fix. We just need to reflow the solder joints, and there’s just about enough copper to reconnect the lifted pads to the ground plane. However, given the damage, this board can’t be sent out to a paying customer - we’ll use it for spare parts.

Failure #2: USB not enumerating
Symptom:
The board powers up correctly (3.3 V present), but the ESP32 does not appear over USB.
Debugging
The USB path is fairly simple:
ESP32 → ESD protection IC → USB socket
Using a continuity test, I checked each stage:
- ESP32 USB pins → protection chip → OK
- Protection chip → USB socket → OK (?)
Root cause
One pin on the ESD protection IC was not properly seated on its footprint.
Visually it looked almost fine - but one of the pins was not actually connected.

Fix
Reflow the solder and nudge the IC into the correct position. With that done, we have continuity from the ESP32 USB pins → USB socket.
The board now appears over USB and can be flashed. Everything else works perfectly - we can ship this board to a paying customer.

Failure #3: Dodgy keyboard (A–G not working; maybe other keys failing as well)
Symptom:
Several keys on the touch keyboard - specifically A through G - did not register correctly. Other keys behave strangely. The ESP32 Rainbow keyboard uses analogue multiplexers connected to the ESP32 module.
Root Cause
- Several pins along the bottom of one ESP32 module had poor solder joints

Fix
A straightforward rework:
- Retouch all the pins with fresh solder
After this, everything works fine - all keys work and the board is fully functional. We can ship this out to a paying customer.

Watch the full debugging process
If you want to see the full diagnosis and repair process - including microscope work, probing, and rework - the full video is here: