Over the last few weeks I’ve been messing about with options for getting Spot X running again. My focus has been trying to use a Raspberry Pi Pico as the controller but this has been a tedious process.
Principally it comes down to 2 things: Voltage and Tooling.
First the tooling. I’m in a peculiar situation of not having the resources to produce PCBs that I did back before everything. Now I find myself having to bodge together robot controller boards using stripboard, which has flow on effects like not being able to use modular connectors and so on.
So I made up a main board with a Pico on it, stuck it in the robot and it promptly fried the Pico – dead short between ground and vSys. I’m not certain, but I think it was because I had the robot power on at the same time as having it plugged into the USB.
So that went in the bin.
I built another main board, this time with the Pico soldered directly to the copper. Trouble is, pin2 shorted to ground, so that UART is unusable. Otherwise, the new main board works fine, except that the whole thing is such a cludge. I’m half thinking of designing a PCB.
Then there’s the voltage. All my existing electronics runs at 5v. The Pico runs at 3.3v, making interfacing with my existing modules a challenge.
The other issue with the voltage is that I’m still using a 7805 based power module. I want to switch over to using some Li-Ion battery packs that deliver 18v and a 13v stepdown is too much. So I’ll need to source a buck module before that happens, meaning I’m stuck using some old 12v SLAs for now.
As part of the project, I’ve changed the PIC controlled motor control module for a smaller, dumb unit that fits under the deck. But the Pico can’t drive the FETs at 3.3v. Fortunately I was able to repurpose a mini PIC board that I’d made to go with the new motor controller. The Pico is able to communicate with the PIC, which is able to drive the motor FETs.
I also had difficulty interfacing with the old sonar rangefinders. After some fiddling I managed to get a signal using a level shifter module I made up with some salvaged bits.Whether or not the module is reliable enough is another matter.
Another problem is getting the bump sensors to work. I guess I’m still a fan of having the LEDs running on the bumpers, but that’s not going to fly given the connectivity options. They were designed for 5V operation with modular connectors. Interfacing all those wires to a perfboard, given the small amount of space I have, would be a nightmare and going from modular connector to soldered joint is nasty at the best of times.
So there’s a lot of challenges, but the robot is operating.
I like the way it looks with the clean deck. Spot X in the past had a tower of multiple circuit boards stacked on top of each other. Having all the electronics under the deck is an improvement.
The WiFi control also works pretty well. I have a WiFi hot spot gadget that I’m planning to use as a connection option. It’s small enough to be velcroed onto the robot and provide the WiFi network.
The Pico is set up to serve a web page with control buttons and this can be accessed by any computer on the network – it’s an extension of the system used in my light box project.
Now I’m at the stage of diving deep into the autonomous driving. I need to have a bit of a think how this will all work, look at the PicBasic code I wrote for Spot X ages ago and see how much I can port over into python.
Originally written August 27, 2025