Wish List For Future Micro Sawppy Control Board
Once I cut an access port for the micro-USB connector on my Micro Sawppy Beta 3 (MSB3) control board, I think I have enough for continue developing my ESP32-based rover software. That's not to say the control board is in good shape, far from it! It was only the second iteration of my control board design, transition from a breadboard-tested layout to soldered connections. I have many more improvements I want to incorporate for future revisions. All of them are problems on the power delivery side that I want to solve before I work more on the data transmission side.
The biggest and most obvious problem that needs solving is making power distribution less chaotic. I used many thick 22AWG wire for this board wired as closely to the battery plug as I could, in the hopes that I will reduce power losses enough to let me run on four AA batteries. Now that I've conceded I have to give up on that desire and move to some other power source, there's less of a motivation for such large wires performing direct delivery. Future versions won't be as efficient and direct at power distribution, but they wouldn't need to! I expect they'll be carrying higher voltage, lower amperage, and tolerate more losses. In exchange, I can make the layout more sane.
By making the layout more sane, I hope to find room to install a fuse. Right now this control board is running without a fuse, and I think it's only a matter of time before a wiring accident destroys a component. In fact, I expect that an accidental short will be the reason I retire this board and move on to the next one. With power meter readings indicate steady state of 10W, I have enough data to make a first guess: I think a 2.5A fuse would be appropriate for running batteries anywhere from 7.4V (nominal voltage of two-cell LiPo) to 9V (six AA alkalines.)
Making room for the fuse should also hopefully make room for a voltmeter to the rover. This will let me visually monitor voltage sag as it occurs. Adding another data point to correlate what the ESP32 would sense in software.
And finally, I think an emergency stop button would be a good safety measure. I don't think I need it to cut power to the whole rover, just disable the motors should be enough. The DRV8833 DC motor control ICs have an "ENABLE" line and the breakout board I have on hand pulls it up to VCC by default. But it also had provision for me to cut a trace to gain control over that line. The MP1584 buck converter for servo power also has an enable line, although the module I'm using doesn't seem to have exposed that line. A future control board revision could move to a different breakout module, one which exposes a way for me to control its enable state.
All of those things would be nice to have, but I don't need them right now to start exploring the first of many ways to control a Sawppy rover wirelessly.