V3 Victory!
The beginning of May was a rush to the finish — and it ended brilliantly. But it didn't start that way. No matter how much time was spent on the V3, things just wouldn't come together. Power management issues, software conflicts, the fundamental limitations of the ESP32 touchscreen device pushing back at every attempt. Hours of programming, hours of hardware experimentation — and always some compromise that still left something broken. It was genuinely frustrating.
The hard decision had to be made: this approach wasn't going to work 100%. And once that decision was made, everything changed.
The moment I stopped trying to force the ESP32 to do everything, the path forward became obvious — and it was already built.
The solution was right there in the V2. The Waveshare RP2040 was already proven — running motor control and interface programs simultaneously on two independent cores, receiving data from either physical controls or Bluetooth via UART. It was tiny, reliable, and already knew how to do everything the V3 needed. So rather than fight the ESP32 touchscreen's limitations, the RP2040 became the brain of V3 too — with very little change to the programming. The touchscreen would be exactly what it was always best at: a beautiful graphical user interface. Nothing more, nothing less.
The connection between the two was elegant: a little circuit tracing and software experimentation revealed that two pins of the SD card interface could be used as a UART output — conveying all the necessary information to the RP2040 on just two wires. Some very delicate soldering, a revised power structure drawing from the proven 3-cell 18650 battery, and the appropriate voltages distributed to everything. The 3D enclosure needed a few modifications, and the caddy too — but none of it took long. Within a few days, all the hardware and software tweaks were in place. It worked. Cleanly, reliably, without endless false starts.
The V3 milestone was finally real.
With a few days still available, attention turned to new features — and with AI doing the heavy lifting on the code, progress was rapid. The touchscreen device has built-in Wi-Fi, which opened a compelling possibility: a direct Wi-Fi connect button on the interface itself. The user could select their network, enter credentials using an on-screen keyboard, and connect to the internet server — no phone app required. Some tweaking to make this work independently of the app, but it got there. The V3 could now reach the internet server on its own terms.
And then came the realisation that unlocked something genuinely exciting. All the recent refinements to the internet mode logic meant that more than one device could now connect to the same server page simultaneously — without conflicts. Of course independent users could always connect to separate pages. But what if they connected to the same one?
Connect multiple vibraphones to one server page — and they all synchronise. Any ensemble member can be the group "motor-conductor" by adjusting their own controls... or a remote user controlling the group. The system is finally becoming truly unlimited!
To make ensemble sync practical, a Solo / Group mode button was added to both the V3 interface and the phone app. In Group mode, all connected devices stay synchronised — change a setting on any one of them and the whole ensemble follows. In Solo mode, a performer can take independent control of their own motor without affecting the group. And when they're ready to rejoin, one tap resynchronises them — pushing their latest settings to the whole ensemble.















