Version 6 (modified by hz, 10 years ago) (diff)


Hacking IR Dongle

There are 4 components in the circuit 2 resistors(5k, 50 OHM) , 1 IR LED(IR333C/H0/L10), and 1 NPN transistor(2N3904).

  • Resistors are not direction specific, both ends are the same.
  • IR LED symbol, pin 1 is Anode (longer lead), pin2 is Cathode(shorter lead).

NPN transistor

  • 2N3904 is the NPN transistor. Looking at the flat face, the left lead is Emitter (pin 1 in schematic), the middle lead is Base (pin 2 in schematic), the right lead is Collector (pin 3 in schematic).

Solder them together as in the picture (or use bread board), and then connect

  • 50 Ohm resistor to Collector on NPN transistor
  • 5K resistor to Base on NPN transistor
  • Anode of IR LED (longer lead) to Emitter NPN transistor
  • another end of 50 Ohm resistor to +5v pin on Arduino. (An alternative would be use a bigger resistor, say 100 Ohm, to replace the 50 Ohm one, and connect the other end to Vin Pin on Arduino.) This resistor is to make sure we won't burn the IR LED. The IR LED can only accept a maximum of 100 mA current, so if we use 5V to drive the IR LED, we need to make sure the current run through the LED is limited less than 100 mA, which yields the resistance R=5V/100mA=50 Ohm.
  • Another end of 5K Ohm resistor to Pin 10 on Arduino Uno.
  • Cathode of IR LED (shorter lead) to GND on Arduino Uno.

There's a total of 6 connection. After all these connections, you're all set.

After download the firmware to Uno, and wire everything up, if the helicopter still don't fly, you need to use a camera (except iphone camera) to look at the IR LED, make sure it's blinking. ALso, remember you may need to point the IR LED to the IR receiver(a little black plastic square) on the helicopter.

Hacking IR Dongle Audio Jack version

The Audio Jack IR Dongle is produced by UPRtek, and they have published their official Android App and iOS App

They use their own chip to process the audio wave. There's no way to figure out what's inside.

However, we only need to follow the same rules of the IR remote version, with minor change, and it should work.

Each command consists of 31 bits (including the leading 2 special period bits), the structure is explained in detail on our instructables

There are only 2 differences in the Audio Jack version:

  • The remote version use {HIGH=0.715ms, LOW=0.759ms} to be "1", { HIGH =0.377ms, LOW=0.422ms} to be "0", but the Audio version use { HIGH=0.55ms, LOW=1.01ms} to be "1", {HIGH = 0.25ms, LOW=0.56ms} to be "0".
  • The remote version use 38kHz as carrier, the Audio version use 21kHz as carrier.

Remember there should be some space between two commands, from 30ms to 80ms.