One step forward, two ICs back

A project log for TapV2

ESP32-Pico based, sensor-packed, kinda-silly wearable for not-every-day use!

XasinXasin 10/14/2021 at 11:540 Comments

Let's cut right to the chase - the item that most of you will most likely want to see:

TapV2's LEDs in action
After fixing a bit of rogue code, the LEDs now work perfectly, and give the badge a stunning aura

TapV2 has been soldered and has booted right up!

It was not, sadly, quite as first-try as we had been hoping, and a bunch of issues came up that will need to be fixed, but it's nothing major.

Look below the break to read up on how things went, what went wrong, how it almost blew up on us(!), and how we'll deal with that in the future!


Soldering took place across a few hours, and went rather smoothly, all things considered!

Pre hot-air, in the middle of placing all the little caps. 0402 was a bit more challenging than usual, but by far the toughest little bean were the ridiculously small XQFN LDOs, five pads but only 0.5x0.5mm!
After some hot air and hand-soldering on more sensitive components such as the LEDs, whose plastic casing would've melted, the badge was now ready for testing! Mostly.

All the soldering was completely on a single day, and actually went fairly smoothly!
Despite the fiducials, no automated P&P was used - all the components were laid down by hand, which made for a slightly stressful, mostly soothing day of carefully laying things down.

Sadly, a few parts either weren't there to begin with due to supply shortage, melted during the soldering, or had to be removed again.
These are:

After soldering things up, a first test was performed, and... It was successful!
Most voltage lines were at the correct level, and the board drew only 20mA, which is what the ESP32's core would soak up without light sleep, so all seemed well!


The board right after loading a test program. Odd, all LEDs should have had the same colour here, but were flickering eratically - a bug-chase ensued and soon found the issue!

The LEDs at first refused to work, as usual, but it turns out we had a bug in our NeoPixel code that... Somehow hadn't caused enough troubles for the past three years to be noticable? But it was quite easy to fix, and after adding a pragma pack(1) statement where it belonged, all seemed well enough.

The aftermath

Sadly, even though the LEDs were fixed easily, more problems were on the rise.

As we went to try and fit the PCB into the casing, it snagged and didn't want to close. It turns out the side-mount LEDs were a little too wide, and the clearance of the top half of the casing rubbed against them.
The bottom half also didn't leave enough clearance for the JST PH connector to wire up the battery, so both halves of the casings need to be reprinted. However, the way the diffusor looks is... Stunning to say the least, and breathtaking, to be honest. It looks better than I could have hoped for :)

There was one last, big issue that we still had to tackle:
While re-reading up on the battery charger IC's datasheet, which we mainly did just to be sure, we discovered, to our horror, that we had ordered a 4.35V battery charger by accident!!

The BQ24232 was the one we had wanted, but was out of stock. DigiKey had listed an alternative, the BQ24232H, which was also described as 4.2V Li-Ion charger...
That, however, was false. The H stands for high-voltage, and it very distinctly will overcharge the LiPo ever so slightly.

If we had not looked at the datasheet beforehand, this would have lead to a very unpleasant surprise after charging the battery for the first time!!

This, however, is not something we can easily deal with. The regular 4.2V charger is far from easily available, and will only be in stock by the end of 2022 - almost 2023!
For now we can still discharge the battery using it or power the system from USB only, but can only cautiously charge it up, leaving Tap without a safe battery system.

What's next?

So, what to do about all of this?
Well, luckily we can still start work on the most important items of the badge. The ESP32 works, the board can be powered without a battery, and once the replacement gyro and OLED screen are soldered in we can start working on the UI and a few first features.

However, with the star of the show, the Gesture Sensor, completely missing, and the battery system crippled due to the missing STM (which would have handled power-sequencing to reduce idle current) and wrongly numbered charge IC, it will take a while for the badge to show its full potential.

That certainly won't stop us though, and between the speaker, mic, LEDs, screen, BLE connection, BME680 and so on, there is enough to keep us busy for the next few weeks!