Self Esteem Projects Are Important

     When you're working on years-long research projects with no exact end goal in mind (or dozens of potential end goals), it's easy to feel like you're never making any progress. There are no mile markers in the woods. I find that every once in a while it helps to pursue a completely unnecessary side project that I can finish in a weekend. It keeps me sane.

     A while back I built a manual controller for my robot Rocky, so that we could drive it around the room without booting up the computer and running fancy code (it's not practically backdrivable). However, the cable that connects this controller to the robot carries an SPI bus, and it starts to lose data if it's more than one or two feet long. I decided to make a wireless version that could handle latencies and dropped packets, based almost entirely on existing electronics and code from previous projects.


     Here it is! Basically I just combined the Arduino Fio and XBee setup that I used in my wireless Emergency Stop with the Arduino ProMicro, joysticks, and SPI DAC that I was using on the old wired manual controller. I'm using the same control code and SPI messages as before, and instead of transmitting the E-Stop switch position across the XBees, I'm transmitting the joint velocities in the form of DAC values. Super easy, very little to debug. I considered combining the wireless E-Stop and wireless controller into a single system, but decided against it. Arduinos are cheap, and combining them would destroy the plug-and-play simplicity. Woo.