Arbotix User Manual

arbotiX robocontroller
V1.0 for Rev A Boards
User Manual


The arbotiX robocontroller is a high-end AVR-based robot controller. General overview of components and connections:

  • 1 - Analog port headers
  • 2 - Left motor/encoder headers
  • 3 - Dual motor driver, max current 1A
  • 4 - Right motor/encoder headers
  • 5 - I2C header
  • 6 - ATMEGA644P
  • 7 - Power selection header
  • 8 - FTDI serial0/programming header and reset enable jumper
  • 9 - Digital port headers
  • 10 - Reset Switch
  • 11 - Serial1 header, also used to jumper RX/TX together for bioloid bus interactions
  • 12 - Prototyping headers and user led (tied to digital pin 0)
  • 13 - XBEE socket
  • 14 - In-system programming (ISP) header
  • 15 - 3 Bioloid headers
  • 16 - Power terminals

Applying Power

The arbotiX robocontroller requires a power supply of 6-16V, however other devices may have more stringent requirements. Power supplied to the robocontroller is denoted VIN:

  1. The Bioloid bus is tied directly to VIN, if using Bioloid servos, VIN must be 7-12V, we recommend 11.1V LiPO batteries if using Bioloid servos with your arbotiX.
  2. The hobby servo headers are directly connected to VIN, considerations should be made not to overvolt the servos, if connected.
  3. Motor supply is tied directly to VIN, care should be taken to have a safe combination of input voltage and PWM levels, so as not to overvolt attached motors.

VIN Power can be connected to the robocontroller through the terminal blocks. The robocontroller has low drop out regulators for both 5V and 3.3V perpherals.

Alternatively, the onboard logic can be powered by the FTDI USB cable. You can select which 5V source using the jumper near the end of the AVR chip. The middle pin is attached to 5V output to the AVR. The upper pin selects 5V in from the FTDI USB cable, the lower pin selects the 5V output from the regulator that brings VIN down to 5V. If using the FTDI port to provide 5V power, the XBEE and AVR will work, however Bioloid and hobby servos, as well as the motor controller will not function.

In-System Programming Options

The arbotiX has two ways to load programs: either through the In-System Programming header using an In-System Programmer, or via the FTDI header using either an FTDI cable or a Sparkfun FTDI board. The ISP header is located near the power terminals, the FTDI header is located near the AVR chip, above the bioloid headers:

The arbotiX ships with the Sanguino bootloader installed, so that you could use the FTDI port. However, we recommend using an ISP for better reliability. The arbotiX also ships with the PyPose sketch loaded, so you can get started right away doing pose and capture.

When using the FTDI port you will want to set the FTDI Reset Enable jumper above the Bioloid headers. This allows the USB port to reset the AVR when downloading sketches. Note: the arbotiX ships with the jumper set.

Digital/Analog Headers

There are a total of 16 servo-style I/O headers on the robocontroller, 8 of which can be used as analog inputs. Each three pin header provides a signal, ground, and regulated 5V power pin. This makes it very easy to connect sensors using something like: these

I2C and Serial Headers

Communication with external devices is very important for a robot. The arbotiX has 2 serial ports, and an I2C port. Serial0 is connected to both the FTDI header and the XBEE port. This is one of the major reasons we recommend using an ISP, since you will have to remove the XBEE radio each time you want to use the FTDI header, or the devices will fight each other. The second serial port is used for the Bioloid bus.

The I2C header has power, ground, SDA, and SCL pins. Note that there are no pull-up resistors, you'll have to mount them elsewhere.

Connecting Bioloid/Dynamixel Servos

There are three headers for connecting bioloid servos (AX-12+). Since the AX-12 servos are half-duplex, we have to tie the RX and TX signals together. We can do this by putting a jumper on the RX and TX pins of the Serial1 header:


The robocontroller also includes two hobby servo connections, which can be used with traditional PWM servos. Note: the servo signal pin is the upper pin in the picture above.

Motor/Encoder Headers

The robocontroller has a two-channel motor driver. This will most often be used when the arbotiX is on a 2-wheel rover, as such, the motors are named Left and Right. Each motor output is capable of driving up to 1A.

The motor and encoder outputs are brought out to a 6-pin header. The outermost pins are the motor outputs. The next pair of pins are VCC and ground pins for powering encoders. The innermost pair of pins is the encoder A and B input channels. The motors2 library can be used to drive these motors forward or backward, with up to 256 speeds in each direction. The encoders library

XBEE Connection

The arbotiX supports a wireless connection via an XBEE serial connection. The on-board 3V regulator can only power regular XBEE models, it cannot power an XBEE PRO module.

This requires 2 XBEE radios, one on the arbotiX and one connected to your PC, and an XBEE explorer to connect the XBEE to your PC.

Prototyping Headers

Along the edge of the robocontroller there is space for several prototyping headers that are not installed. These can be plugged as either female headers, for use beside a breadboard, or as male headers, for plugging directly into a breadboard. Both configurations are shown below. Neither type of header is included with the robocontroller, however possible parts from both Jameco or Digikey are listed in the Accessories section at the end of this manual.




To upload code onto your board, you will need either an ISP or an FTDI cable, we recommend the Pololu ISP:

  • AVR ISP Programmer - from Pololu - we recommend using an ISP, rather than an FTDI serial connection.
  • FTDI Programming breakout board - from SparkFun - we recommend this over the FTDI programming cable, because it uses DTR for the reset signal, just like the rest of the Arduino family.
  • FTDI Programming Cable - from Digikey - Because this uses RTS instead of DTR for reset, you may have to do additional configuration for auto-reset to work. See this link for information about using RTS under Linux/MacOSX.

XBEE Radios:

  • XBEE radio - you will likely want 2, one on the arbotiX and one connected to your PC
  • XBEE explorer - to connect an XBEE to your PC through USB.

The prototyping headers can be filled with either:

  • Female headers <link>
  • Male headers <link>

Vanadium Labs LLC.
Copyright 2009