🌈 ESP32-S3 Rainbow: ZX Spectrum Emulator Board! Get it on Crowd Supply →
View All Posts
read
Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
HELP SUPPORT MY WORK: If you're feeling flush then please stop by Patreon Or you can make a one off donation via ko-fi
#AUDIO #ELECTRONICS #ESD PROTECTION #ESP32 #HARDWARE DEBUGGING #MANUFACTURING #MICROSCOPE #PCBWAY #QA #REWORK #SOLDERING #TOUCH KEYBOARD #USB

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

Lifted Pads

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.

Reconnected

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.

Dodgy ESD Soldering

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.

It's alive!

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

Dodgy ESP32 Soldering

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.

Keyboard Working

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:

#AUDIO #ELECTRONICS #ESD PROTECTION #ESP32 #HARDWARE DEBUGGING #MANUFACTURING #MICROSCOPE #PCBWAY #QA #REWORK #SOLDERING #TOUCH KEYBOARD #USB

Related Posts

ESP32-S3 Dev Board Assembly - I finally assembled our ESP32-S3 dev boards—used a stencil for easy SMD work, fixed a few tiny USB solder bridges with flux, and even hand-built one for fun. The EPAD isn’t required (per the datasheet), power LEDs look good, and on macOS you can spot it under /dev before flashing. A quick boot-button dance and the blink sketch runs great—full build and walkthrough in the video.
ESP32-S3 USB UAC - I turned my new ESP32‑S3 board into a USB Audio device. After a ninja LED fix and confirming the IMU and charging, I streamed mic audio over Web Serial (with a slick AI-made ‘Audio Studio’) and then via USB UAC. The mic sounds great, but the speaker is crackly over UAC—even though I2S WAV playback is perfectly clean. ESP-IDF worked; Arduino didn’t. Bonus annoyance: macOS vs Windows is a toggle, not a combo. Still, this board passes QA.
1 touch pin 8 touch pads - To make my ESP32 ZX Spectrum touch keyboard work even better, I needed to ensure every key was independent. The ESP32-S3 only has 14 touch pins, so I’ve been using a matrix approach. While this works well, it struggles with key combinations, critical for the ZX Spectrum. I explored touch detection and experimented with analog multiplexer ICs (4051 series) to expand the touch pins. Initial tests were promising. After prototyping with breadboard-friendly versions and ordering parts, the new keyboard was not only functional but exceeded my expectations. Scanning the keyboard now takes around 20ms, and the solution is ready for production. This was the last big challenge, and I’m thrilled with the results!
Crowdfunding Success - Was it worth it? - I embarked on a thrilling adventure of turning a nifty idea into a tangible product — the ESP32 Rainbow, a Sinclair Spectrum-inspired gadget that merges retro vibes with modern tech. With the brains of an ESP32-S3, capacitive touch, a built-in display, and some snazzy UV silk screen printing, it's a little marvel that got crowdfunded successfully. But, oh boy, was the journey enlightening — from grappling with pricing conundrums and the bureaucracy of certifications to the harrowing odyssey of international shipping. While it didn't line my pockets with gold, seeing people enjoy something I created is worth all the sweat and jitters. Would I do it again? Well, maybe if lightning strikes twice with another great idea.
That was 2025! - 2025 was the year I actually shipped hardware: the ESP32 Rainbow—a modern, full-color riff on the Sinclair Spectrum—crowdfunded, certified, manufactured, and in customers' hands. The economics were brutal (COGS, tariffs, shipping, CE/UKCA), but the community made it worth it. I also went deep on high voltage, made a 10¢ MCU sing and talk, escaped printf hell with USB/JTAG, built a browser serial plotter, fixed broken gadgets, and even let AI pick parts. For 2026: more ESP32 mischief, more joyful builds, and probably more bodge wires than I'd like to admit.

Related Videos

Three ESP32 Rainbow Boards Failed QA — Can we fix them? - I’m assembling another batch of ESP32 Rainbows: PCB house does the boards, UV silkscreen and some parts, and I finish assembly and QA here in Scotland. I run through three QA fails—no sound, dodgy keyboard, and no USB—then fix two: the audio fault was lifted pads on the headphone jack, so I bodged it back with flux and solder (speaker and headphones now work, but it’s a spares board). The no‑USB issue was an ESD protection IC sitting off its pad; I reflowed it on a mini hot plate, cleaned up with IPA, verified continuity, and it now enumerates and flashes perfectly. On to the keyboard next—oh, and Happy New Year!
ESP32-S3 USB UAC Audio Device - does it work? - Time for an audio project: I took my PCBWay ESP32‑S3 board for a spin—fixed the common anode/cathode LED mix‑up, verified the IMU and battery charger, then tested an I2S PDM mic and tiny speaker with a Web Serial Audio Studio (scope, spectrogram, tuner). I also turned it into a USB UAC device in ESP‑IDF: the mic is clean, but speaker over UAC is crackly (Mac/Windows toggle oddity); direct I2S WAV playback is perfect, so the hardware passes QA.
I Built My Own ESP32-S3 Board… And It Actually Works! - I finally assembled my super simple ESP32‑S3 dev board—voltage regulator, reset button, three status LEDs (5V, 3.3V, and a GPIO blinker), and all pins broken out. I showed two build methods: stencil + hot-plate reflow (quick, with a few USB bridges to clean up) and full hand-solder under the microscope, complete with the rigorous ‘solid’ test. Soldered the ESP32‑S3 module (skipping the center thermal pad unless you need it), plugged in, got power LEDs, confirmed USB enumeration, flashed a blink sketch, and we’ve got a blinking LED. Next up: turning this basic dev board into something more professional for production.
Crowd Funding Success? I must be rich! - Hey guys! So, I wrapped up my ZX Spectrum crowdfunding project, and boy, it was quite a ride! The campaign went gangbusters with 146% funding, and I shipped everything out. Total revenue was £12,839.57, but after costs, I pocketed a neat £4,273.91—though, spoiler, that's before considering my labor! There was quite a learning curve understanding COGS, pricing strategies, and the hidden costs of hardware projects. It took about 13 months from idea to fulfillment, and I amassed 436 hours of work! I discussed vital strategies like working with distributors and how PCBs' cost plummets with bulk orders. Plus, the unknowns, like tariffs, which almost threw a wrench in the works. Stick around for the deets, and maybe you'll pick up a tip or two for your own crowdfunded adventures!
ESP32-TV Version 3 - Is it done? - In today's project update, I'm excited to share that my ESP32-TV boards, fresh from PCBWay, are operating flawlessly! We've successfully dealt with the USB2244 conflict with the ESP32, and the battery charging issue is now a thing of the past. We've also made some awesome additions like a microphone to our board. The real MVP though, is the USB2244 chip that’s given us significantly improved read/write speeds - making it perfect for handling video files. Next on the agenda, figuring out a solution for the non-standard display connector. As ever, there’s progress, there’s problems, and there's David Bowie animated gifs!
HELP SUPPORT MY WORK: If you're feeling flush then please stop by Patreon Or you can make a one off donation via ko-fi
Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
Blog Logo

Chris Greening


Published

> Image

atomic14

A collection of slightly mad projects, instructive/educational videos, and generally interesting stuff. Building projects around the Arduino and ESP32 platforms - we'll be exploring AI, Computer Vision, Audio, 3D Printing - it may get a bit eclectic...

View All Posts