So, as hinted previously, I’ve been working out how to fly a remote control helicopter with the N900 – an idea I had when I first requested a trial. And – it works:

How well does it work?

Pretty well, given the limitations, though it’s not as good as it could be (I don’t have the time to write better software to control it). I can fly it about as well as with the actual transmitter (so not very well then!).


The range of the N900′s IR transmitter is about 2 feet, which makes controlling the helicopter tricky, as it flies out of range easily, and also the angle of control is low. The N900 has to stay pointed at the base of the chopper. And flying a helicopter a couple of feet from your face isn’t the best idea in the world!

Testing took its toll

So how does this work?

Simple version: the N900 has an IR transmitter, the PicooZ helicopter is controlled by IR, so I use the N900 to send control signals instead of the usual remote.

More complicated version: The chopper understands IR signals, the N900 can send them. So I need the N900 to send the same signals the chopper expects. My first approach, which worked to some extent, was to use LIRC on a linux pc, along with a Microsoft MCE USB IR receiver (from a remote) to record signals sent from the real remote. I then use these to create a LIRC configuration file for the N900. I recorded a series of inputs corresponding to different power levels, and different steering input. Then I wrote an interactive bash script to run on the N900, which allows me to adjust the power level, and steering input and sends the appropriate IR signal.

So on the N900, the way it works is I press E for more power, D for less, and U and I to turn left and right.

I can handle the truth! You can’t handle the truth! The final control method was a lot more complex than the above. This didn’t give me accurate enough control to hover (the signals I recorded were either too much, or too little power). But the IR signal isn’t unstructured, it follows a known encoding. So studying my recorded signals for LIRC, and using some existing code, I was able to write a small program to generate IR control signals, in LIRC format, for a given input. I then used this to generate a much finer series of control signals for a (modified) version of my bash script to use. (15 levels of thrust, 2 levels of yaw, and trimming control to be precise).

Can I fly my helicopter with my N900?

Well, if it’s the same (or similar) to mine, yes. If you understood all the above, and still want the code – post in the comments and I’ll see about putting it online. You’ll want to be comfortable with the command line, bash scripts, C++ and LIRC to understand and use it. I could provide slightly easier to use code and instructions if you have a channel A picooZ copter like mine.

About these ads

27 Responses to “#N900copter”

  1. [...] to do something differently… « HOW-TO use the N900 as a remote flash #N900copter [...]

  2. [...] about us; if you’re reading this you should jump over to Iain’s blog RIGHT NOW and a) check out the accompanying explanation to go with the video above and b) leave a comment [...]

  3. Awesome bro great job with that Maemo beast what about bluetooth control it will add some 8 metres instead of 2 metres ir control :)

    • It’s more like 2 feet not metres! The helicopter is very cheap, small and light. To be able to carry and power a bluetooth transceiver would require a much larger helicopter.

  4. [...] donde lo demuestran (con una música muy adecuada =;-) ). El autor no ha publicado en su blog doitdifferent.wordpress.com el código que utiliza para controlar el mini helicóptero con el lirc pero se ofrece a publicarlo [...]

  5. Great idea, keep up the good work! It will be better using bluetooth, with IR there are too much limitations… hope you will improve your N900 copter control in the future. Bye –> Elisa

  6. [...] Fonte …maemomaniaco! –> condividi Hide Sites $$('div.d2659').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); Segui i commenti a questo articolo attraverso RSS 2.0 Lascia un commento, o un trackback. [...]

  7. JunJO QA Says:

    I want the code and the instructions from Latin America
    Quiero el codigo y un tutorial

  8. [...] your tiny inexpensive helicopter with a Nokia N900. The chopper uses an infrared remote control, just like a television. Getting this to work was just [...]

  9. Hi there, I would love to have your code to test out with my cheap-ass chinese RC helicopter. its looks like a knock-off of your helicopter so there’s even a chance it’ll work without tons of tweaking (this is me being optimistic here)

  10. wonderful , but easy to make :)

  11. Hiram Says:

    Good job. There is one project Shaker Racer for the N95. I used it for RC car, modifiyng it. The Ricochet. I want to use it in my N900 is with bluetooth and accelerometer

  12. was man mit Nokia alles machen kan: N900 als fernbedienung für den hubschrauber:…

  13. hi, can you post the code to do this , btw can you post it for channel b thanks

    • I’ve been away and real busy, I’ll try find the time to get it online this weekend, but no promises!

  14. [...] How to do something differently… « #N900copter [...]

  15. Glotharg Says:

    I was able to control a few remote hele’s using my HTC phone and a programmable remote software package that ‘learns’ from the original remote. Its fun!!! I wish I could build a frequency generator to find out what the other hele’s are on that don’t have remotes…

  16. [...] man, part machine, the N900 would be a good device to go with. Think about… you’d be able to fly helicopters with only your brain. Now that’s what we call a party [...]

  17. [...] am sure you will be surprised to see his N900Copter project and his story behind it is also as interesting as his project [...]

  18. Great man… you are really great…

  19. hello, r u still there????? can you send all the codes for us to study? we’re developing the same too.. thanks :)

  20. Gadget Review…

    [...]#N900copter « How to do something differently…[...]…

  21. Saurabh Saxena Says:

    Hey good Job dude. If possible could send me the instructions and the code.

  22. Hey there, I think your blog might be having browser compatibility issues.
    When I look at your website in Ie, it looks fine but when opening in Internet Explorer, it has some overlapping.
    I just wanted to give you a quick heads up! Other then
    that, very good blog!

  23. Fernando Says:

    Can I see the code? please? :D

  24. how to send raw data as argument in irsend ?

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

%d bloggers like this: