Sometimes, we do reverse engineering for fun.                 

1.5 IR remote protocol for Gyro helicopter.

  This IR  independently controls 3 DC motors w/PWM. . 2 - in one direction, and one bi-directional. Not complicated: throttle, left-right, forward-backward, trim plus 2 buttons. We will not disassemble remote.

  With the same 38 kHz sub-carrier, transmits only when  "throttle" (left handle) move up (a little). After releasing "throttle" (to '0'), it transmits codes ~30 times. Interval between packages not stable, from 160 to 280mS.

  If we stretch the code in time, for example when you released the throttle, we will see the following (no carrier presented as 'high level', 'low' -  38 kHz is ON). Next picture shows width / period of pulses inside the package (burst).

  The coding of "zeros" and "ones", looks not brilliant, because it is not clear, at first sight. Everything falls into place if you notice that the duration of the long and short pulses is always the same, ~ 1mS. It can be assumed that the "short pulse" + "long" is '0', and '1' if vice versa. After a long start pulse, there is a synchronization pulse, the length of which determines the bit transmission time. If so, then you will count 64 pulses that represent the bits, plus "stop" pulse at the end.

  Logic Analyzer returns a long picture that should be converted to zeros and ones, according to pulses length.

   It will look ugly, the first time, but you can visually see that are changing. The first conversion gives just an idea.

          GYRO, Throttle, Hi to Lo, trim=max.left, rest=mid. CH_A.
          St.Sn.1001010101101010101010101010101001100101010101011001101010010110 1
          St.Sn.1001011001011001101010101010101001100101010101011001010101100101 1
          St.Sn.1001011001011010101010101010101001100101010101011001010101100110 1
          ... and so on.

   Remember, "01"='1', "10"='0'. After conversion to 'ones' and 'zeros' encoding starts to make more sense.

  The last byte, looks like, checksum (CS - last 6 bits, only). If you can determine the algorithm for CS calculation, please let me know. Thank you!


*** Any inaccuracies on this page will be corrected if you let me know (e-mail is highlighted :)  ***

  12.12.2019 SKootS

Make a free website with Yola