In this post, you will see my progress on the physical construction of my raspberry pi robot starting from a used Roomba 435. After hours of testing, I discovered my Roomba 435‘s logic board had an old firmware and would not allow me to communicate with it via it’s serial command interface without paying to flash it with version 2.1. I figured for the price to flash the logic board (ship both ways plus the service charge) and considering I already had an Arduino Mega to use as the micro-controller, it would be cheaper not to use the OEM logic board (for right now).
I first purchased a seeed studio motor shield at Radio Shack to test out my concept. After a successful proof of concept:
Review & POC Video:
[youtube http://youtu.be/F4f7SolCGBg]
I ordered two motor shields to control each of the OEM DC motor units. Each shield can power 4 DC motors or 2 stepper motors (or 1 stepper motors & 2 DC motors) as well as 2 servos, so I have plenty of flexibility to expand the project. I will be using the stock DC motors, wheels and gears. I will eventually integrate the OEM wheel encoders. Utilizing the wheel encoders will allow me to accurately sense direction, distance, velocity and acceleration.
After figuring out what components I was going to use, I needed to build an electronics mounting board so that I could keep all the parts organized and safe. I wanted to mount the Raspberry Pi, two motor controllers and the Arduino Mega in the empty space where all the vacuum parts used to be. I used a spare piece of plexiglass as the mounting platform. I placed the components in the best configuration possible and marked all the mounting holes with a marker. I drilled out each hole to mount different size standoffs for the component to mount to.
Once I had all the components securely mounted on the plexiglass, I had to secure the plexiglass to the Roomba’s frame. I used a couple of screws to hold it initially, but then remembered I had some polymorph left over from another project. The polymorph is what is really holding the two pieces together. If you have never used it before, I would recommend grabbing some and start playing around.
The OEM springs that came in the Roomba 435 were too weak and needed to be much more rigged to hold the weight of the new electronics plus future add-ons. First, I removed the front spring completely and secured it by jamming polymorph into the mounting hole. The wheel still pivots, but no longer moves up and down. After fixing the front wheel, I replaced both rear springs with much larger ones. The rear suspension is still flexible, but it is much more rigid and sturdy now.