Interfacing to Remote Receivers

Introduction:

The 2.4GHz remote receivers offered by Spektrum and Fly Sky are able to function on their own after they are bound to a transmitter using a master receiver and following the binding instructions that apply to your system. Once they are bound, the remote receivers can be removed from the master receiver and connected to a variety of other computing platforms for the purpose of reading transmitter stick and switch positions. The data presented from the remote receivers is in serial format that many small computers can read. This data is particularly useful for many platforms, vehicles, or robots that are controlled remotely using a RC transmitter where the data needs to be processed by a computer in lieu of using normal servos.
Interfacing to the 2.4GHz remote receivers is a simple task when you have the proper equipment, and you are knowledgeable in the art of microcomputer hardware and firmware design. This article assumes that the reader has the necessary skills and tools required to write computer code, they have a target processor or some kind of computing platform that they wish to use, and they are familiar with how to program, debug, and operate it.

Scope:

The scope of this article will be limited to the information necessary to interface two different 2.4GHz remote receivers to your own embedded computing platform. The hardware design will be presented only as it pertains to the three-wire cable that connects a remote receiver to a master receiver, or a remote receiver to your custom platform. The data information from the remote receiver will be limited to my own observations taken by reverse-engineering the interface, and may or may not be only a subset of all possible receiver functions. The reverse-engineered functionality is sufficient as to allow the receiver to be used in most computing platforms and be able to read all of the transmitter channel data.
Throughout this article, the term ‘channel’ refers to the particular transmitter channels such as elevator, aileron, and so on. It does not refer to Radio Frequency (“RF”) channels. This article does not discuss any of the of RF functionality of remote receivers, nor does it discuss any of the demodulated base-band signal processing. This information begins and ends at the remote receiver 3-pin connector where serial data is presented.

Embedded Platform Requirements:

Requirements for the custom-computing platform, hereon referred to as the “target”, are as follows:

  1. The target must be able to read an asynchronous serial stream at 115.9K-baud (the standard 115.2K-baud is acceptable) for Spektrum receivers, or contiguous 16-bit words with a single start bit at 41.6K-baud for Fly Sky receivers. The 16-bit word is not a standard UART protocol on most micro-controllers, nor is 41.6K a standard serial baud rate.
  2. The target must provide voltage to the remote receiver. Voltage requirements are 3.3 to 3.7-volts for Spektrum receivers, or 3.7 to 5-volts for Fly Sky receivers. Current draw of a remote receiver is approximately 30mA.
  3. The target must be able to process at least 18-bytes of contiguous streaming data at a rate of about 50Hz.
  4. When using Fly Sky receivers, the target must be able to send serial data to the remote receiver and read data from it. This requirement does not apply to Spektrum receivers.
  5. When using Fly Sky receivers, the target should be able to read the transmitter binding codes from the Fly Sky master receiver and store those codes in non-volatile memory. Binding codes are sent to the remote receiver when power is applied to the system. The master receiver is no longer used once the binding codes are read and secured by the target.
Most all of the commercially available processors are up to the task including devices from TI, Microchip, Atmel, ST, Motorola, and the list goes on. Simple 8-bit computers can easily handle this job, but keep in mind how the transmitter data will be used and what kind of processing is required, then size the target performance accordingly.
If simplicity is of great concern then go with the Spektrum hardware. If cost is an issue then go with Fly Sky. There are a fair number of hoops to jump through to get the Fly Sky receiver to start working in terms of transferring binding codes and dealing with non-standard bit framing and baud rates, but the hardware is much less expensive than Spektrum and so far I am not seeing any difference in functional performance. I cannot speak to RF performance differences, as I did not evaluate that.
Selecting parts, building hardware, and writing code that utilizes remote receiver data is the responsibility of the reader. This article does not suggest any particular use for such data, nor does it recommend any particular target hardware, it only provides information regarding how to retrieve data from remote receivers. If there is enough feedback and questions regarding a target implementation then perhaps a sample processor design can be presented. But for now, everybody is on their own in regards to target platforms.

Hardware Connections:

Each of the remote receivers discussed in this article use the same basic 3-wire connection. Care should be taken to make sure that the connections are correct, and do not assume that all cables are created equal. The cable that comes with the Fly Sky receiver pair is crossed between the master and the remote receivers. Pictures of the connection to both receivers are shown later in the individual receiver sections. There are two wires that provide power to the receivers, and one wire to provide the signal. The signal wire voltage levels are standard 3.3-volt peak-to-peak CMOS logic levels. Power to the receivers should not exceed 3.7-volts for the Spektrum receiver and 5-volts for the Fly Sky receiver. I have found that both receivers work fine with an input power voltage level of about 3.6-volts. Continuous static current draw from the receivers was measured at less than 35mA.

Receiver Binding:

Receiver binding is out of scope for this article, as it requires the use of the master receiver for both Spektrum and Fly Sky systems that are not used on the target for normal operation. Make sure Spektrum receivers are already bound to their respective transmitter before expecting them to work with the target. Likewise, make sure the Fly Sky master receiver is bound to its respective transmitter, and make sure the binding codes are transferred from the Fly Sky master receiver to the target before the Fly Sky remote receiver will work. Obtaining the Fly Sky binding codes is explained later. No data will ever be sent from either receiver if the binding steps are not completed.

May the Differences Begin:

Here is where the similarities between the Spektrum and the Fly Sky remote receivers end. Spektrum remote receivers do not need any binding codes sent to them to begin operating while the Fly Sky remote receivers do. Fly Sky receivers provide a checksum word with every data packet while Spektrum receivers do not. Once the receivers are operational, their serial rates, bit framing, and data formats are completely different. While the desired result is the same, getting that result requires different processing so the remainder of this article will focus on transmitter data retrieval from each receiver separately.