If I make another one, I'm going to change pretty much everything except the colour.
This build was a bit of a washout overall, but since the boards are made up of distinct modules connected by wide traces it’s very easy to break it down and reuse bits. Here’s the usb segment & battery charger segment from one of the casualties charging a little Lego clip-on battery.

The first two boards from this batch powered up just fine. The next one was dead, and I thought maybe I saw smoke? The next one let the smoke out immediately. I stopped plugging them in after that while I tracked down what was going on. It turns out that for one of the 100K pull down resistors I'd actually ordered 1Ω.

The nice thing about 1 Ohm resistors is it makes the maths very easy when you're working out how badly you cocked up.

So, another go.
This one survived the process. It's even almost practical.
The capacitive touch pad in the ring is just 4 copper pads each connected to a gpio - no external components. A PIO program times how long the pad takes to pull high using the internal pull-up resistors.
This worked well. The capacitive sensor works by discharging the pad through a resistor and timing how long it takes. Previously I was doing this a few thousand times in a loop and returning the accumulated time. Here I'm doing it the other way round - spending a fixed time in the loop, and counting how many charge / discharge cycles it can do. My aim was to make it easier to tune the sample period, but it turns out noticeably smoother and less noisy this way too.
I put the PIO program for this on github: https://github.com/AncientJames/jtouch
GitHub - AncientJames/jtouch: PIO based capacitive touch for the RP2040

PIO based capacitive touch for the RP2040. Contribute to AncientJames/jtouch development by creating an account on GitHub.

GitHub
spooky
0%
elegant
0%
clever
100%
fly
0%
Poll ended at .
@ancientjames this is awesome! I will definitely be cribbing some of your PIO tricks now that I understand a bit how that stuff works
@todbot Apparently it's PIO capsense day!
@ancientjames why does the video have a slightly stop-motion look about it?
@forelioned I think it's just the way my finger sticks a bit on the drawing pins, so it looks jerky.
@ancientjames also one of the frames appears brighter than the others, adding to a film shot like effect.