Smartphone rocket launcher

Teenage electronics enthusiast Lewis Callaway thought that an ad in which actors launch rockets from their iPhones was really cool, but he couldn’t find out how it was done, so he decided to start from scratch himself, using (of course) a Raspberry Pi.

Model rockets are launched by passing an electric current through an igniter, a device that includes a thin piece of wire in contact with the rocket’s propellant; the current causes the wire to heat up, igniting the propellant. Lewis used a relay board and jumper leads to complete the circuit between a 9V battery and the model rocket’s igniter, and connected power and signal wires between the relay board and his Raspberry Pi’s GPIO pins so he could flip the switch on the 9V circuit with a signal from the GPIO.

To allow him to send the launch command from a smartphone, he installed the WebIOPi framework on the Pi. A custom web page hosted on the Pi contains a nice, big, orange LAUNCH button; pressing it runs a Python script which, in turn, controls the GPIO. A portable router provided the wifi hotspot necessary to view the web page on the phone.

Testing the system

Lewis also talks about his fantastic project in this Adafruit Show and Tell (starting at 7m55s), and shows how the system can be tested without actually launching anything—important if, like Lewis, you are working indoors.

We know that every day, Raspberry Pis lie idle when they could be launching rockets, and this makes us feel sad. Read the article Lewis wrote for Make: including links to his code and the parts that he used, and try it for yourself!


Niall Saunders avatar


Well done young Lewis – I am already reaching for the hardware to fire a sequence of model rockets, triggered by the “LAUNCH” button, but timer (or rhythm) controlled from the PYTHON code.

In fact, why not triggered in time with XBMC-streamed music?

Hmmm, anyone fancy holding a Pireworks ™ show?


simon avatar

With multiple GPIO lines you could launch quite a few (but still finite).

For a more general interface you could crib something like MIDI so you could address each firework and set its launch.

Matt Smith avatar

8 x mcp23017 would let you have 128 extra gpio which would make a pretty awesome rocket/firework display. The pi is only limited by your own imagination and your bank balance!

cpslashm avatar

Great idea!

Maybe I’ll try it with a water rocket…

thomas avatar

Spoilsport safety note: if you are doing something like this you MUST have some kind of hardware interlock aka a mechanical switch to disable the electronic firing until safety checks have been completed and everyone is at a safe distance.

(it doesn’t need to be complicated – even if it’s a procedure that says you don’t connect the firing battery to the circuit until checks are complete, ie your “switch” is the croc clips (or whatever) onto the battery.

This may well be present in Lewis’s version but it wasn’t mentioned in the video so…

Niall Saunders avatar

You don’t see the MythBusters Team messing around with safety interlocks – it is often just a case of ‘shoving twisty wires into the terminals of a cordless drill battery’.

Now, THAT’S proper ‘hacking’ for you !!

[ Do N O T try this at home !!! ]

Of course – the ‘other’ approach to all of this is to create a simulated Pireworks [still ™ – just in case I can make any dosh !] display, using SCRATCH.

Lot’s of good computational and applied physics skills can be brought into play here: trajectories, gravity, horizontal (drift) forces due to wind, vertical (float) forces due to parachutes, trajectories of sub-munitions after launched projectiles explode out their cargo.

Again, I did this way back in the time of the BBC Micro, but very quickly had to hit Assembly Language as the native BBC Basic ran out of capabilities with only a few sprites on-screen.

To Pi-Towers: What about a little competition in time for November? Open to secondary education pupils, winner gets a Pi?


Comments are closed