Thread Tools
Jan 19, 2018, 01:36 PM
Registered User
Thread OP
Discussion

FlyPlus firmware for FlySky I6X


Because lately a lot of people asking me if there will be release of FlyPlus firmware for I6X unit I have decided to start such project.
The idea is to bring actual functionality of FlyPlus firmware to I6X units.
Planned features:
  • Configurable flight timer
  • Configurable telemetry alarms
  • Adjustable telemetry value for voltage
  • Advanced Telemetry
  • Using PPM input for auxiliary channels
  • Using telemetry value SNR/RSSI/ERROR for auxiliary channels
  • Redefined main screen
Implemented features:
  • Using telemetry value SNR/RSSI/ERROR for auxiliary channels (channel 11/12) - fixed for values below 16dB 05.04.2017
  • Alarm for SNR values <= 10dB
  • 2 Bytes sensors added to telemetry list (without units because in case of to long text display method crashes)

Telemetry data is working with IA6B, you can use my custom CleanFlight from:

https://github.com/qba667/cleanflight/releases

Or current branch of BetaFlight
https://github.com/betaflight/betaflight/releases

Selected sensors can be configured using CLI by setting array "ibus_sensor"
If sensor id assigned to this array equals 0 it means sensor is not configured. First occurrence of 0 is preventing further sensors usage.

MavlinkToIBUS can be also used in case of APM/Pixhawk
https://github.com/qba667/MAVLinkToIbus

Selected sensors can be configured using CLI by setting ibus_sensor array:
Code:
set ibus_sensor = 12,13,14,15,16,17,240,65,0,255,255,255,255,255,255
If sensor id assigned to this array equals 0 it means sensor is not configured. First occurrence of 0 is preventing further sensors usage.
  1. Temperature
  2. RPM
  3. External Voltage
  4. Avg Cell Voltage
  5. Battery current
  6. Remaining batt.
  7. Throttle
  8. Heading
  9. Climb rate
  10. CoG
  11. GPS status
  12. ACC X
  13. ACC Y
  14. ACC Z
  15. Roll
  16. Pitch
  17. Yaw
  18. Vertical speed
  19. Ground speed
  20. GPS distnace
  21. Armed
  22. Flight mode


As always ideas are welcome.
Please list current issues with the unit maybe we can solve them together.

Because myself I am not using the system any more I see no sense in buying the unit for firmware development.
Also some of you declared to support the project, because of that I have started a crowdfunding campaign under:

https://gogetfunding.com/flyplus-fir...for-flysky-i6x

During I6 firmware development I have damaged 2 units, so it must be expendable hardware.

List of donors:
  • Gas Teddy
  • darmach
  • frenchtony
  • mece
  • kamikazze
  • Adam W.

Subtrim/endpoint fixed - lesson for feature do not mess with defined channels count.
Now you don't have to configure total channels count - RSSI/Error on channel 11/12 always present.

FlySky updater seems to remove receiver ID from configuration or change transmitter ID. After updating you will have to rebind your receivers.
I have noticed that in updater the field Transmitter ID gets incremented every time - so maybe setting value to current value -1 will allow us to keep TX id.


Using original updater to flash FW
Code:
Firmware 1.0.42.1560 .zip
FlySky provided to use nice way to flash new FW.
If you use this mode please be sure that you have entered ID of transmitter from sticker on TX into this filed (only numeric characters).
Just copy modified firmware file "FS-i6X.bin" in same directory where original updater is located.
Then start updater. Updater should detect new file and use it instead of default one.
Version displayed will be wrong. But it will update the unit correctly.
As bonus we get 2 additional fields:
Transmitter ID
Company code
And selection how many hoops does the transmitter has.

Using modified updater to flash FW
Code:
Integrated 1.0.42.1560 .zip
Placing bin file in updater directory will trigger factory update mode, as described above. To avoid this mode I have patched updater, and replaced build in firmware..
This method will not change TX id, or any other setting, but Windows Defender detects it Win32/Fuerboos.A!cl trojan - you can submit the file to be scanned - I am giving my warranty that I have not inject anything but firmware.

In cleanflight/betaflight configure all 14 channels:
Code:
set max_aux_channels = 14
configure RSSI channel
Quote:
set rssi_channel = 11

It seems that not all units are handling update correctly -issues reported by maczar_pl smeat.

To workaround it before flashing factory defaults must be performed.

But just in case original FW attached (restore to default fw, restore factory defaults settings, flash modified firmware).

The crisis recovery method - seems to be working just fine.

Precondition: both trims on left side moved to the center on powering on the unit.
The unit should display nothing on screen.
Then start updater, it should detect the device and start flashing.
Last edited by qba667; Apr 07, 2018 at 02:06 AM.
Sign up now
to remove ads between posts
Jan 24, 2018, 04:16 PM
Registered User
That's awesome, can't wait to see this happen.
Feb 01, 2018, 01:37 PM
Registered User
Thread OP
I was able to identify compiler used for compiling firmware:
ARMCC in version 5.0
Here you have IDA signatures. I will verify but probably they can be applied to to other FlySky devices.
Last edited by qba667; Feb 01, 2018 at 01:59 PM.
Feb 04, 2018, 01:18 AM
Brett
pmanu's Avatar
This maybe possible already but I want to hack into the PPM input to the onboard 2.4 module and fit 433mhz, can this be done and would the software have any problems ?

Cheers
Brett
Feb 04, 2018, 04:47 PM
Registered User
all ive ever wanted from my i6x, is a low signal alarm.

it displays the signal strength on the screen, but you cant set any kind of alarm for it like you can with voltage. seriously, w tf?
Feb 05, 2018, 03:53 AM
Registered User
Quote:
Originally Posted by warmpudgy
all ive ever wanted from my i6x, is a low signal alarm.

it displays the signal strength on the screen, but you cant set any kind of alarm for it like you can with voltage. seriously, w tf?
I know what you mean. There was so much potential for this transmitter, but it looks like Flysky stopped the firmware development as soon as they had something more or less functional and didn't bother with features that would have made this little transmitter great. Hopefully though with this effort and the selfless contribution of qba667, we will see these functions implemented.
Feb 05, 2018, 02:01 PM
Registered User
Thread OP
The I6X is still in transit - so I have tried something absolutely different today.
DeviaitonTX compiled for STM32F0 based on Devo7e without protocol code, fonts, images and configuration managment (saving, loading, templates) needs:
ROM: 0x08003000 - 0x0801969c = 89.65kB
RAM: 0x20000000 - 0x20001e38 = 7.55kB
What do you think will it fit (the STM32F072VBT has 128 kB of flash and 16kB of RAM)?
Last edited by qba667; Feb 05, 2018 at 02:26 PM.
Feb 06, 2018, 10:58 AM
Registered User
Quote:
Originally Posted by qba667
the STM32F072VBT has 128 kB of flash and 16kB of RAM
That is twice of what the i6 has, right?

I wish they would sell the motherboards for these transmitters. BangGood used to sell them for the i6 but the don't anymore and I can't find the ones for the i6x
Feb 06, 2018, 12:59 PM
Registered User
Thread OP
@TigerPilot yes MKL16Z64 has only 64KB of Flash.
But it can be replaced by STM32F030RC - 256KB/32KB
The STM32F072VB in I6X can be replaced by STM32F091VC.
I provided only F0 family members because of compatibility with I6X firmware and highly configurable ports.
Almost all pin mapped.
Last edited by qba667; Mar 30, 2018 at 05:21 AM.
Feb 10, 2018, 12:52 AM
Registered User
Wow guys, this sounds great!
I'd love to be able to configure a low RSSI warning buzzer on my budget TX.

Just let me get some $$ into my paypal and I will make a small donation in the next few days...
Feb 10, 2018, 02:54 AM
Registered User
junmarD4th's Avatar
Now, I'm excited for my fs-i6x to be used again once this new firmware is available.
I
Feb 10, 2018, 05:31 AM
Registered User
Thread OP
Some more findings:
-maximum input voltage for regulators 6V - so no 2S lipo possible
-second SPI exposed - possible of use other radio module
-3 UARTS exposed - WIFI/3dr radios possible
-additional ADC channels exposed - more switches/knobs possible
-many GPIO test points exposed
-MCU can not be replaced by STMF1 because of missing SPI on ports currently used by radio module
(but rerouting from second exposed SPI possible)
Last edited by qba667; Feb 10, 2018 at 03:46 PM.
Feb 10, 2018, 09:45 PM
Registered User
Quote:
Originally Posted by qba667
Some more findings:
-maximum input voltage for regulators 6V - so no 2S lipo possible
-second SPI exposed - possible of use other radio module
-3 UARTS exposed - WIFI/3dr radios possible
-additional ADC channels exposed - more switches/knobs possible
-many GPIO test points exposed
-MCU can not be replaced by STMF1 because of missing SPI on ports currently used by radio module
(but rerouting from second exposed SPI possible)
Those sound promising
Feb 11, 2018, 08:40 AM
Registered User
Quote:
Originally Posted by qba667
...
Planned features:
  • Configurable flight timer
  • Configurable telemetry alarms
  • Adjustable telemetry value for voltage
  • Advanced Telemetry
  • Using PPM input for auxiliary channels
  • Using telemetry value SNR/RSSI/ERROR for auxiliary channels
  • Redefined main screen
...
About adjustable telemetry - I do not know if that's relevant, but the battery voltage on x6b is spot on - on the condition that the 47k resistor is indeed 47k.
Check out more details in those posts: post 1 and post 2

Just wanted to let you know.

I'd also have few ideas or you might call them features, and wanted to ask if these could be included:
- Controller not enabling if any of the switch is in the up position. This really drives me mad.
- Will PPM output for simulators still work?
- A cosmetic change - but can 'proper' quadcopter icons be included. Or there is not place for model icons on this firmware screens?
Feb 11, 2018, 09:15 AM
Registered User
Thread OP
@darmach
In I6 I have added calibration in radio - it is much easier than soldering resistors.
PPM to simulator - sure - but why not provide HID functionality

Icon editor is working:
https://github.com/qba667/FlySkyI6/r...gfx.editor.zip
I got radio this Friday - today I was able to attach my old JLink probe so I can check where the checksum (and what kind of checksum is used). There is no checksum at all - you are free to change anything.
Last edited by qba667; Feb 11, 2018 at 01:26 PM.


Quick Reply
Message:

Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Flysky FS2A 4CH AFHDS 2A Mini Compatible Receiver PWM Output for Flysky i6 i6X i6S scousethief Banggood.com 3 Apr 09, 2018 10:04 AM
Question FlySky FS-i6X / X6B i-BUS Receiver telemetry with Naze32 full for beginner darmach Radios 11 Mar 01, 2018 11:30 PM
Discussion Can't register Flysky FS-I6X. Firmware? Virus?? Despotes FlySky 13 Jan 28, 2018 07:59 PM
New Product Flysky X6B 2.4G 6CH i-BUS PPM PWM Receiver for AFHDS i10 i6s i6 i6x i4x Transmitter lmpuIse Radios 6 Aug 30, 2017 12:07 PM
New Product iRangeX iRX-i6X = Flysky FS-i6X 40$ at Banggood snapper1234 Radios 4 Mar 08, 2017 11:28 AM