Tag Archives: PiPlateBot

Making a PiPlateBot with the Raspberry Pi

Turtle robots of the yesteryears had always fascinated Robert Doerr and he decided to create one with the popular single board computer, the raspberry Pi or RBPi. He hid all components of the robot inside the plate case, and decided to call his robot PiPlateBot.

Robert Doerr is the owner of Robot Workshop, and a dedicated robot builder. He used the Bud Pi Plate case, as this was strikingly similar to the turtle-style robots computer science students used earlier.

The Pi Plate has a circular design. Twisting off the top allows easy access to the space within that can house additional components. That led Robert try to fit an RBPi inside, along with the other parts required to build a moving robot. According to Robert, the PiPlateBot is the only robot that runs on an RBPi and uses an off the shelf RBPi case. Robert claims he is using as many RBPi-type products as possible for the construction.

To get everything to fit, Robert had to cut two rectangular holes in the Pl Plate enclosure base. Then he glued servos to the bottom and clipped the RBPi and RoboPi boards on the top. On the boards, he placed a BZO power bank to work as a battery. To enable communicating wirelessly with the RBPi, Robert uses a USB Wi-Fi adaptor. This allows him to SSH directly into the RBPi.

The RoboPi is an impressive motor controller, and the most powerful one for the RBPi. Using an eight-core 32-bit Parallax Propeller RISC micro-controller at 100 MHz, it allows offloading hard real time IO from the Linux OS running on the RBPi, thereby giving timing with greater precision to projects. The RoboPi will work with any RBPi model.

Each core on the RISC controller works at 25 MIPS, with each instruction taking only four clock cycles to complete. The RoboPi has three ten-pin IO module expansion connectors and they provide 24 servo-compatible headers. Some of these connectors use jumper selectable power from the internal 5 VDC or the external servo power supply for powering the sensors.

The user can connect servos to screw terminals that provide external power. There are eight headers for setting up an eight channel 0-5 V analog to digital converter. The user has a choice of using MCP3008 for 10-bit AD conversion or MCP3208 for 12-bit AD conversion.

Therefore, while the RBPi does the high-level thinking, the Parallax Propeller chip on the RoboPi board handles all the IO controlling and the real-time tasks. As the RoboPi controller has both C and Python libraries, Robert plans to write a Logo Interpreter to make the PiPlateBot use Logo to emulate the early turtle robots.

As the PiPlateBot has only two servos controlling its two wheels, the robot actually wobbles when operated. Robert had to use furniture gliders to prevent this. He attached them to the front and rear of the PiPlateBot. A sonar sensor fitted on the PiPlateBot allows it to sense its surroundings.

Building a robot is the fun way of learning to use the RBPi, and a great way to learn programming on the SBC.