Source Code on GitHub
System Architecture | Software Design | Electrical Design | Mechanical Design
The Raspberry Pi is powered by a USB battery which supplies 5V, 2A. The Wi-Fi dongle, Camera, and OpenCM are connected to the Pi via USB for communication. The first two devices are also powered by the Pi, but the OpenCM is powered by the two 3.7V batteries (connected in series to create 7.4V). The OpenCM is connected to the XL-320 servos by 3-wire cables. The first two wires connect the servos to the Vin (7.4V) and Ground used by the OpenCM, while the 3rd wire is used for serial communication with the servos. The Pi and the OpenCM communicate using the standard USB serial protocol. The OpenCM communicates with the servos using the Dynamixel protocol v2 - a one-wire, half-duplex, multi-drop UART protocol that allows multiple servos to be daisy-chained from the same port on the microcontroller.