Robotics/Computer Control/The Interface/SBC and multichip modules

SBC: Single Board Computers
Single Board Computers are a complete computer on a single printed circuit board. These usually require only a single power supply. SBCs commonly provide all standard PC I/O support like keyboard, mouse, SVGA, serial and parallel ports, ethernet, IDE, SCSI and USB. Some provide a PCMCIA connector. Late model SBCs are also replete with multiple CPU/Pentium 4/Xeon/AMD configurations.

SBC are commonly used in the industry in process control. Although they are quite expensive and hard to find (in retail), they can be a great way to control a larger robot. For small robots their power consumption would be a problem.

Stacking modular connector boards
Many robots include a "stack" of boards, typically with a processor on one board, H bridge motor driver on another board, and a wireless communication on another board.

Many people prefer to build rapid prototypes out of many single-purpose boards that can be disassembled and re-used for the next prototype, rather than making a single big specialized PCB prototype that is used once for testing and then thrown away. There are many standards for such electronic pieces.


 * PC/104
 * "PlugaPodS"
 * gumstix and gumstix packs and more gumstix packs
 * Stackable USB (USB is smaller and faster than the ISA bus used in the original PC/104)
 * Virtual Cogs uses a stacking connector. Virtual Cogs wiki.
 * ( Modular interface extension (MIX) stacking and communications interface )
 * "pass-through 40-Pin OOPic expansion connectors"
 * R-Dev-Ino is a Robotic Development Arduino compatible board, easily stackable.
 * the JeeNode Arduino-compatible board and JeeLabs modules that plug into it: a b c d
 * The Tower System
 * Bug Labs
 * Xadow
 * The Grove system:  "Cluster mode" and "Jigsaw mode"
 * Microsoft .NET Gadgeteer
 * DaisyLink interface
 * gobus ports
 * TinyDuino stacking connector
 * Wouter van Ooijen's Dwarf Boards have 10 pin shrouded header connected by IDC ribbon cable connectors (GND, +5V, and 8 GPIO pins).
 * "Stacking Arduino Shields" (compatibility between shields can be a little tricky)
 * ... (Add to me)
 * ... (Add to me)

(If I think the stacking idea is good, but my robot is too small for PC/104, do you have any tips for picking an appropriate stacking connector, and arranging which electrical signal/power goes where?)

The "stackable headers" are one way to stack boards together. What other options do we have for stacking connectors?

Multichip Module Boards

 * Is there a better name for this sort of thing? See Talk:Robotics.

Multichip Module boards are lighter versions of the SBC. These boards provide less I/O abilities than a full fledged SBC, but are considerably less expensive. For example the Acme Foxboard provides a 100Mips processor with 16MB RAM and 4MB Flash running Linux. This board has IDE, SCSI, USB, Ethernet, I2C and more on a surface of aprox. 6x7cm. It consumes about 280mA and costs around €170. While this particular board is designed for embedded internet-enabled applications, it's a great board for controlling your robot. Another alternative is to use a Linksys router and install OpenWRT on it. You can usually pick these up for around $50. If you spend some time shopping around you may find similar boards that are better or cheaper.