Building Molecube Interface PCBs
This page describes the design and functionality of the Molecube module interface circuit boards.
Every Molecube is equipped with a set of circuit boards that enable all of its programmable functions, such as turning an actuator to a desired angle, setting the speed and torque of its motion, controlling the module digital outputs or reading digital inputs, reading or writing internal servo motor register values, etc. To streamline low level software and simplify overall system construction, we designed a unified set of circuit boards that is used across all types of Molecubes. These circut boards are then programmed differently depending on the type of module at hand.
With intent to minimize the volume occupied by circuit boards inside of individual modules, we combined the communication/power interface and control functions of module electronics in a single design. In this way, every module equipped with the interface circuit boards, is also programmable.
Actuator module is equipped with two sets of three diamond-shaped boards. Individual boards of each set are interconnected with flat flexible 50-conductor cables. These cables allow placing the boards at an angle relative to each other, thus providing each robot side with an electronic interface.
Two sets of boards are connected with each other with four electrical lines passing through a slip ring, thus enabling Molecube with endless rotation capabilities. These lines transmit ground and power signals through the Molecube rotary joint, as well as the two serial communication signals, one for data exchange between internal module processors, and the other for global assembly-wide communication.
The main processing unit of an interface circuit board is an ATmega324P processor, running at a clock frequency of 16 Mhz. This processor provides all control and communication capabilities to the individual non-controller Molecube modules.
For exchange of commands and data between the internal processors on board of individual Molecubes, as well as between the processors of different Molecubes joined into a single assembly, we have designed a specialized serial communication protocol. This is a half-duplex serial protocol with Rx and Tx signals modulated on a single bus. There is always only one bus master issuing requests to which one of the slave processors responds as specified in the master's transmitted packet. The protocol details and the packet structure are given in the Hardware Protocol Definition document.
This serial communication protocol is designed to be compatible with the communication protocol used by Robotis AX-12 servos so that the module controller could directly communicate with and control the servos.
For a detailed list of components and their costs, please see our Bill of Materials. For your convenience, we also placed all referenced manufacturer specifications and user manuals in the same SVN folder. All these components are available off the shelf from most major electronics vendors, such as Digi-Key, Newark, Mouser Electronics, and others.
Board Manufacture and Assembly
We implemented all electronic circuit board designs with Eagle layout editor freeware version, and you will need to use it in case you are interested in modifying our designs or reusing parts thereof. Generally, there are two options with regards to board production and assembly: you can either obtain bare boards and assemble them yourself (which works fine for prototyping) or you can have them assembled for you. In either case, you will need to provide the board manufacturing facility with the board layout designs. You can find our original Eagle design files and final production gerber files (which you will have to send to the plant) in this SVN folder. For a list of board manufacturing facilities worldwide, please refer to this page, here is also a list of PCB manufacturing facilities in Germany