Work in progress…
06/02/2026
This is the sequel of the quest started 10 months ago. Phew, time passed fast!
As forecasted (see for yourself at the end of the aforementioned post), it took some interesting thinking… and time.
The latter system, as explained in its overview, relied on a simple hack: recording a file for each pulse. No doubt that was inappropriate to the project of monitoring 38 meters sending simultaneous pulses!
Since version 1.0, a game changer appeared: the RP2040, a multi-purpose microcontroller, very handy to manage simultaneous pulse counts.
Indeed, a first crude POC proves it:


The top image shows the benchmark set up:
- four crude buttons,
- one Tiny 2040,
- a breadboard and a few wires to connect them all.
The Tiny 2040 is linked to a headless Raspberry Pi via its USB connector. That was a good surprise; it's that easy to connect an RP2040 and to talk to it: just an USB connection!
The second image is a screenshot of what looks like a basic software test. It may seems cryptic to the layman but it tells a lot:
- the connection to the 2040 succeeded,
- its "address" and unique ID of that 2040 are identified,
- button strikes, even more than one at the same time, are correctly recorded.
The last item was a tougher task than expected. Marketing communication about the RP2040 sells that it provides state machines, presented as ideal for many otherwise demanding processes, for example pulse counting. Reality is far from that dream.
Eventually, parallel pulse counting was achieved fairly easily using interrupts on GPIOs configured as simple input pins. Grok provided a welcomed assistance with respect to exploiting the tough documentation needed to master RP2040 handling from a Raspberry Pi.
Although there was also a pitfall in configuring the ISR (Interrupt Service Routine) common to all pins. Only a rigorous step-by-step workflow with comprehensive feedback (via the Tiny 2040's multicolour LED) allowed us to overcome that difficulty. That required a careful taming of Grok, eager to proceed to the next step and with a tendency of flooding its output with unwanted code suggestions ;-)
But difficulties are the spices of an ambitious project. The success of this first POC is all the more satisfying.