Iteration 1: first board

A project log for Trackpad 2040

Multitouch-enabled trackpad on Pi Pico/analog/RP2040

tykhonTykhon 05/15/2024 at 16:290 Comments

Heya! So, in the spirit of sprinting so fast that I forgot all (two) rules of good PCB design that I ever knew, I sat down some time last week and drafted the very first PCB design for the project. Ain't she a beauty?

...I don't remember much of what has followed, but somewhere between 4 and 5AM I must've ordered it into production because mere 4 days later it showed up at my doorstep. Somewhere between those two events I started writing code for it, which is now up on the Github along with the schematic-PCB-notes and everything. Anyway, with the board all starry-eyed and begging to be soldered, felt only fair to oblige:

Now, see that suspiciously proud R1 between SparkFun's CD74HC4067 breakout board's "SIG" and Pi Pico's ADC? Yeah, that's a 100kOhm resistor that SHOULD NOT BE THERE. What should have been there were 9x 100k resistors pulling the RX lines down to the ground to discharge them gracefully between scans but oh well - first board, first botch. It's the circle of life, a constant, much like the unrelenting march of entropy.

So you might be asking - Tau, how in the world does it work, even after the ad-hoc fixes? BADLY. The answer is it works badly. But it works!

MULTIPASSPORT ahem, multi-touch. Yes, there's a whole host of issues with it - I had to jumper around that R1, I had to add those missing draining resistors; there's no buffer for ADC's input and remember, the plan was to swing TX lines with 10MHz signal, and ADC sampling takes whopping 2us (500ksps doesn't seem so fast now, does it?) - hello aliasing and weird levels and shit! But that's not the point, the point is that even with this smoothbrain attempt it manages to output something plausible. And the good news are that I now have a better idea of what it's gonna take to turn this into an actually usable hardware!

Next time on "internet person attempts to wrangle fiddly pixies":