helicontrol_offenHeliControl is a small nifty USB gadget, which can be used to steer miniature helicopters and quadcopters which can be controlled by an infrared remote control. This project was aimed at developing a cheap and easy to build IR remote control for helicopters which can be attached to a PC.

Note: This project is not commercial, you can not buy this device but you may build one on your own! Software and the PCB are licensed under the GNU General Public License (GPL), you can download both from this site (see below).

HeliControl uses infrared diodes to steer the following helicopters:

For these devices the IR protocols for Siliverlit devices and for Alien Air devices are known. Other helicopters could be made working if the protocol is known.


Hardware Description

Our design guidelines for PCBs:

  • USB is the choice of time, nearly every PC has USB ports.
  • Atmel provides microcontrollers which have proven to be very useful (AtmelAvr).
  • Since we want to publish the PCB on our web page, it should be as easy for amateurs to produce one. For this reason we have chosen a single-layer PCB design.
  • SMD parts are the only choice… Soldering a TQFP64 package is a bit tricky, however it should work after some practicing.
  • We like the Eagle layout editor, which is freely available for non-commerical use from CadSoft.

Helicontrol PCB can be devided into 4 functional units:

  • AT90USB1287 microcontroller (USB support, 128k flash, up to 16 MHz AtmelAvr controller), crystal oscillator (up to 16 MHz) and capacitors to keep the controller running,
  • a mosfet transistor and up to 6 infrared LEDs to produce a PWM signal,
  • (optional) a RS232 port (possibly for debug messages), including line drivers,
  • (optional) an 8-bit I/O-Port.

Firmware for HeliControl

The firmware for HeliControl is based on Dr. Stefan Salewski’s free GPL firmware for AT90USB. It can be build (cross-compiled) on your PC using avr-gcc compiler and must be programmed into the microcontroller (see below).

If you do not want to do this, you can use our precompiled firmware (.hex-file) which comes with our software release, you will only need dfu-programmer or Flip (see below).

Required Software

The Linux/Mac toolchain consists of:

All programs can be found in Debian (“apt-get install make gcc-avr avr-libc dfu-programmer”) and Fedora.

The toolchain on Windows uses:

Programming firmware into the device: Bootloader or ISP/JTAG

  • The easiest way to get new firmware into the AT90USB1287 is to rely on DFU programming over the USB port.
  • ISP programming over our ISP connector (only needed to program fuses or if pre-installed bootloader is overwritten)
    • Tools: An ISP programmer, either STK500, ATAVRISP or some other ISP device.
  • JTAG programming (only needed to program fuses of if pre-installed bootloader is overwritten)
    • Tools: ATJTAGICE or other JTAG device…

libhelicontrol C/C++ library

Required software

The Linux/Mac toolchain:

  • gcc
  • GNU make
  • libUSB (for sending the commands to the AVR board)
  • libSDL (for joystick/gamepad control) [optional]
  • boost (for helictrl tool) [optional]

The Windows toolchain:

  • Visual Studio 2008
  • libUSB-win32 (for sending the commands to the AVR board)
  • boost (for helictrl tool) [optional]

API description

See Doxygen Documentation of the helicontrol-1.0 API


helicontrol_schematic Schematic (pdf): helicontrol-rev1-30-schematic.pdf

helicontrol_board PCB layout (pdf): helicontrol-rev1-30-board.pdf

Download helicontrol-1.0.tar.gz now! The package contains Eagle hardware schematics and PCB layout. See Hardware/Download above for a quick pdf preview.