RC Blimp

1. Introduction

Lately my son and I got some how mad about the idea of building our own remote controlled blimp. The basic requirements we had in mind were: a helium filled balloon must lift the blimp up in the air, and it MUST be remote controllable in its direction and altitude. Well, fine, we could do that, others did that as well (see this sub-micro-blimp, oder that micro-blimp, or the very profesionell „ARM“ blimp from the picture below).

ARM Blimp

Ballon Blimp

Balloon Blimp

But it turned out to to be NOT that easy. Until now, we succeeded in getting a very early (and glumpsy) prototype up in the air, and at least controll it some how. Thus, if you watch the videos in this article, keep in mind, that this is work in progress, and we expect to come to a better result very soon.

2. The Hardware

For a basis, we used the propellers and the moters of a broken microcopter. Those motors indeed where very lightweight, and the asumption was: if they could lift a microcopter, they will drive a blimp. Unfortunately, while mounting one of the motors, I ripped of a cable, which I was not able to solder back on again. Thus, we had to take a micro server apart to get it's motor for a replacement.

To drive the motors forth and back, H-bridges are needed. We decided to take the SN754410 from TI since it is cheap, and easy to integrate.

Now, the hardest part is to remote controll all the motors. It would have bean fairly easy taking one of those very small micro receivers (like this one), and use for all motors servo motors with their electronics. Only problem: the receivers are fairly cheap, but you need a remote controll which is not (and so far I have no other use for such a remote controll).

So, we thought an XBee would be the right choice since it offers to controll its 8 digital IOs remotely. Exactely what we need. As a remote, an other XBee connected to a PC would do a great job.

Well sounded good, turned out to be a little problematic regarding the powersupply:

The XBee (Pro, Series 2) draws about 50mA when receiving, and up do 120mA when sending. Wow, thats a lot! Also the XBee is picky about the voltage it is willing to work with. We where not able to operate the XBee and the motors from the same powersource, without having the XBee braking down constantly when sending it's ACK packages (no wonder when it uses 120mA). Also the XBee is very picky about the voltage you supply. It is specified to work in between 3.0-3.4 volts. Well a LiPo cell supplies 3.7V (or even more if freshly charged). Thus, two powersources (one for the motors, one for the XBee) and a voltage regulator are needed to satisfy the XBees needs. As you could imagine, this will be a major issue when it comes to weight discussion.

As frame to mount the motors and all the other stuff on, piece of 4mm carbon fiber tube was used (we recycled a broken one from a kite). When it comes to mounting things on the frame, hot glue is your friend ...

1. Used Components

The table below show a detailed list of components used for the blimp:

Qty. Component Description
1 Digi XBee Pro S2 Connected to PC, sends remote commands
1 Digi XBee Pro S2 Receives remote commands, operates the H-bridges through its GPIOs
2 TI SN754410 Quadruple H-bridges, each capable of operating two moters back and forth
1 STM LM1117 Low dropout 3.3V voltage regulator for the XBee
3 DC Motors Micromotors from servo and broken microcopter
3 Propellers Taken also from broken microcopter
1 Microstar LiPo 130mA LiPo single cell batery for XBee
1 Microstar LiPo 160mA LiPo single cell batery for motors
1 Carbon fiber tube 4mm tube as used for kites
1-5 Ballooons The number of balloons needed depends on the size of the balloons
1 Helium kanister For the balloons

2. Schematic

The following figure shows how the components are wired up:

Blimp Schematic

Blimp Schematic

Note: That voltage reulator thing for the XBee is not quit satisfaying and only works barely since the voltage of the LiPo battery is always very close to the dropout voltage of the LM 1117. Thus only a regulator with low dropout could be used, and it only works since the LiPo has about 4.2 volts at the beginning.

3. The Weight Problem

..or what is a balloon able to lift ...

When putting all the above components on the frame, we ended up with a total weight of 30-35grams! Sounds not much, but it is. At least for a helium filled balloon. A normal sized party balloon is able to lift about 10grams. So either you need 4-5 of them, or one big balloon. Taking 4-5 balloons does not work that well since it makes the blimp super glumpsy and hard to steer (as you could see in the attached video). So next we will try using one big balloon with a diameter of about 50cm. It is said, that such a balloon is able to lift about 60-90grams. A far more better solution would be saving weight (we are thinking of that too, yet I don't know how to solve that XBee issue).

For the weight of the components, see the pictures.

Weight of SN754410

Weight of SN754410

Weight of LM1117

Weight ofLM1117

Weight LiPo 160mA

Weight LiPo 160mA

Weight LiPo 130mA

Weight LiPo 130mA

Weight of DC Motors and Frame

Weight of DC Motors and Frame

4. The Software

Since the XBees firmware alredy allows to control its GPIOs, only the software for the PC to send the remote commands has to be written. I first gave the C based "libxbee" library from Atti a try, but the XBee, the library and I did not get along that well, and I was not willing to invest much debuging time. Thus, I switched to Andrew Rapps Java based XBee API and wrot a very basic application to remotely switch the GPIOs to controll the motors. The program just waits for some defined keys, and then sends the according remote AT commands to the blimp.

Java App for Remote Control

Java App for Remote Controll

The program (called "xzrem") takes the following parameters as commandline arguments:

Parameter Description
serial port mandatory, port to which the coordinator is connected to
speed mandatory, speed in bauds at which coordinator operates
address mandatory, 64bit address of remote XBee in the form aa:bb:cc:dd:ee:ff:gg:hh
motor mode optional, give "excel" to operate each motor eclusively


./xzrem /dev/ttyS1 9600 "00:13:a2:00:40:61:30:09"

In the main window, the following keys are realized:

Key Description
F5 connect to coordinator (do this prior any other command)
CTRL-C exit program
w/s forward/backward
a/d left/right
LFT/RGT left/right
UP/DWN up/down
SPACE stop all motors

For more details see the code and the README on github.

5. More Pictures

Leave a Reply

You must be logged in to post a comment.