BlimpDuino is a very low cost open source autonomous blimp. It consists of an Arduino-based blimp controller board with on-board infrared and ultrasonic sensors and an interface for an optional RC mode, a simple gondola with two vectoring (tilting) differential thrusters, and ground-based infrared beacon.It is available as a commercial kit from the Maker Shed or the DIY Drones store for $89.
[UPDATE: The current Blimpduino kit has been discontinued. Stay tuned for a new design in 2012]
- What else you'll need
- Instructions for making the kit are here.
- Instructions for loading the code are here
- Correct LED/servo/motor behavior modes are here
- Instructions for using Blimpduino are here
- The parts list is here
- The discussion forum for teams using Blimpduino in the FIRST Robotics aerial robotics demonstration is here
- If you want to build your own board from scratch, the necessary files and component lists are here
- If you want to print out a cool DIY Drones sticker like the blimp above has, here's a pdf.
The Blimpduino board is the core of the kit. Features:
* 17 grams, with ultrasonic and IR sensors.
* Controls two motors and one vectoring servo.
* Built-in RC compatibility (can read two RC channels--throttle and steering)
* Designed for a 7.4v LiPo battery; has an automatic power cut-off at low voltage to protect the battery.
Here's the board with the ultrasonic sensor removed, so you can see the Atmega168 processor underneath it:
Here is a video of BlimpDuino in flight, using a breadboard version of the controller board:
At the moment, we're using Pololu IR beacons as the ground beacon, but we'll eventually release our own, open source, versions of them, too.
Here's the board on the gondola with vectoring thrusters and the optional RC receiver:
The commercial kit consists of the following:
--BlimpDuino board, with all SMD parts already soldered on
--Other through-hole components, to be soldered by user (easy)
--A very simple laser-cut plastic platform for the board, battery, optional RC receiver, and motor components
--A servo, gears and motor shaft for the vectoring (thrust tilting) function
--Two motors and props
--One IR ground beacon
--52" mylar envelope
The following is a chronological list of posts describing the development of the project. This is mostly for those who want to follow along and learn about Arduino-based robotics. If you're interested in autonomous blimp development and want to know more about BlimpDuino features, they will give you some insight into the evolution of this project.
- BlimpDuino, an Arduino-based blimp controller board.
- BlimpDuino board, assembled
- BlimpDuino test platform, with optional RC mode
- A simple Arduino code demo of how to control vectoring thrusters in RC mode
- How to add vectoring thrusters to a toy RC blimp
- Video of BlimpDuino with vectoring thrusters
- Near-final production Blimpduino board
- Status update (Sept 10)
- Production board release candidate
- How can we make BlimpDuino navigate between multiple IR beacons?
- BlimpDuino code now in pre-alpha
- BlimpDuino RC-mode code
- New BlimpDuino code--much more efficient (10/18/08)
- Video of BlimpDuino demonstrating autonomous navigation
- Finally, BlimpDuino code in Beta!
- Board version 432 released
- How to prepare a self-built BlimpDuino board for first use
- Coast Guard Academy course built around BlimpDuino
- BlimpDuino debugging tips
- A small fleet going out to the beta testers
- Building instructions
- Instructions for using BlimpDuino
- BlimpDuino code Beta 1.1 released
- BlimpDuino board v5 released, final production version
Comments
EDIT: I will write up some documentation if there is enough interest, but it is pretty simple and self explanatory so I don't think it will be a problem.
P.S. FedEx just showed up with my blimp while I was typing this message :)
Thanks for the note. I'd actually added such a delay a few weeks ago. I put it in the main loop:
delay(1000); // wait one second
Serial.println("Checking RC connection...");
Were using some code that you'd downloaded earlier?
Got my blimpduino working today and already had loads of fun with it!!
I justed wanted to let you know I made a tiny change in the code to be able to use a synthesizing receiver, since this receiver takes a little while to start up, it wasn't detected by the board in time. A small delay in the RC_detector() fixed this....
byte RC_detector(void)
{
float average_ch1=0;
delay(1000); //Wait for receiver to settle...
....
}
thanks for the effort!
Hugo