Flysky receivers RSSI mod – alternative firmware

Flysky receivers and RSSI

Most of the Flysky receivers lacks one very important feature – RSSI. In fact none of the original Flysky receivers outputs RSSI information to the flight controller via one of the channel or telemetry link. Even calculating the Link Quality (LQ) by the lost packets is not possible if your Flysky receiver outputs iBUS signal. The best and most universal solution is to flash the alternative receiver firmware with RSSI signal calculated and injected into one of the channels (usually CH8 or CH14).

Supported receivers

In fact all of these receivers (except A8S and 8A) are reading the RSSI and sending it back to the transmitter in the telemetry link. But no info is sent to the flight controller.

Hardware

You’ll need the ST-LINK programming adapter to flash the alternative firmware to the FlySky receiver. Any ST-LINK V2 USB adapter should work and can be obtained for less than 3$. (on Banggood , Aliexpress or Ebay)

Also you’ll probably need a few jumper wires for connecting the ST-Link adapter to the receiver programming pads.

Software

You will need to download and install ST-Link Utilityhttp://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link004.html#getsoftware-scroll

ST-Link driver: http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link009.html#getsoftware-scroll

Firmware

The alternative firmware is kindly provided by Cleric-K and can be found in this github repository. The prebuilt images have two versions each – one which injects the Signal Strength into channel 14 and one for channel 8. All protocols (IBUS, SBUS and PPM) are supported.

Connecting the programmer

Most of the receivers  have programming pads on the PCB board. Usually they are not labeled so you need to follow the pinouts supplied below. Connection 

SWDIO <-> DAT
SWCLK <-> CLK
GND      <-> GND
3.3V       <-> 3.3V

RST signal should not be necessary unless “Connect under reset” is needed. None of the tested receivers requires this line, so don’t bother connecting it.

Pinout diagram for Flysky FS-iA8X receiver:

Pinout diagram for Flysky FS-A8S receiver:

Pinout diagram for Flysky FS-X6B receiver:

Pinout diagram for Flysky 8A receiver:

Example of the connected receiver programming pads to the ST-Link adapter.

Golden rule: do not connect the 3.3V power from the ST-LINK dongle if your receiver is connected to external power source (Flight Controller, BEC or other). You should connect only GND, SWCLK and SWDIO lines in this case as show in the picture above.

 

Installing software and drivers

Start the ST-Link Utility setup. Follow the installation process by simply clicking in the [Next] button. 

ST-Link Utility setup usually also installs the required ST-Link USB adapter driver .

Plug the ST-Link USB adapter and check if the device is detected and driver is sucessfully installed.

Making the backup of the original firmware

First thing is precaution – you should always make the backup of the original firmware.

  • Start ST-Link Utility
  • Change Address field to 0x08000000 and Size field to 0x8000 (otherwise ST-LINK utility will save only the part of the firmware)
  • Select [Target] -> [Connect] from the program menu
  • Click [File] -> [Save file as…] and save your original firmware to keep a backup, just in case you would want to go back to your original firmware…

Note about the firmware backups: There are backups of the receivers original firmware in the Cleric-K repository, except the 8A receiver firmware – each of the 8A receiver has it own unique firmware with Unique device ID and checksum checking so you cannot restore the original firmware from the other 8A receiver. Do the backup!

Flashing the alternative firmware

  • Launch ST-Link Utility
  • Select [Target] -> [Connect] from the program menu

  • Sucessfully connected to the target and device type detected.

  • Select [File] -> [Open file…] and select the corresponding firmware file for your receiver

  • Select [Program & Verify…] from the “Target” menu.

  • Press [Start] button.

  • Flashing the firmware

  •  Firmware flashing finished sucessfully

You will have to rebind the receiver after the flashing of the alternative firmware, except the A8S and 8A receivers as they store the transmitter ID in the EEPROM and is not affected by the flashing process.

You can read the alternative firmware for Flysky receivers discussion on the RCGroups: https://www.rcgroups.com/forums/showthread.php?3093552-RSSI-Firmware-mod-for-FlySky-IA6B-and-X6B

Leave a Reply

Your email address will not be published. Required fields are marked *

*