Blimp Controller


The Blimp Controller [schematic] is based on a Arduino Pro Mini, running at 3.3V/8MHz.
Other major parts include:
XBee radio modem
TB6612FNG dual H-bridge motor driver
HMC6352 compass module with I2C interface
LISY300AL yaw rate gyro

The board is powered by a 7.4V 2-cell Lithium-polymer battery. The Arduino has an onboard 3.3V regulator, which also powers the other modules. A separate 5V regulator is provided to power external Cricket receivers.

External connections

Motors for port and starboard propellers are connected directly to the pin headers of the motor driver:
pin 3: motor 1 -
pin 4: motor 1 +
pin 5: motor 2 +
pin 6: motor 2 -

The servo for propeller pitch has a 3-pin header next to the battery:
pin 1: ground (brown)
pin 2: power (red)
pin 3: pulse (orange)

There are two parallel 4-pin headers for Cricket receivers, connected to the local I2C bus:
pin 1: ground
pin 2: +5V
pin 3: SCL
pin 4: SDA

The Arduino has a FTDI connector for direct connection to a pc. Important: remove the power jumper and the XBee module before connecting the FTDI cable. The FTDI cable will drive 5V into the local 3.3V supply, which is fine for the Arduino and sensors, but it will damage the XBee module.
It is easier (and safer) to upload code for the Arduino wirelessly through the XBee modem.

Blimp Controller
Motor and servo wiring
Cricket receiver wiring
Cricket receiver


The code for the Blimp Controller accepts commands from the host pc, and sends sensor values back. It also implements a local PID control loop for flight stabilization, regulating the differential motor signals to maintain a constant yaw rate (zero for straight flight, non-zero for turns).