OpenGround — a FrSky compatible opensource firmware for the FS-i6s

When i saw the new FlySky FS-i6S RC transmitter for around $50 i immediately thought it would make a nice “always with me” tx for my TinyWhoop. Unfortunately i only run FrSky gear, this one is FlySky… So what now? I am going to swap the hf module to a CC2500 transceiver module and write my own firmware for the FS-i6s! OpenGround will become the counter-part of my opensource firmware OpenSky that runs on FrSky receivers. I am not affiliated with Flysky or FrSky in any way. This is just my personal hobby project.

This is an ongoing project. For now i will write single blog posts and collect them on this page. Once finished this will become the main project page. My code will be hosted on github: https://github.com/fishpepper/OpenGround

Current blog posts:

stay tuned for more πŸ˜‰

35 thoughts on “OpenGround — a FrSky compatible opensource firmware for the FS-i6s

  1. Jonas

    I’ve hit an issue, perhaps someone knows the solution.
    I tried compiling and flashing a new version of the firmware, and now the ADCs are no longer being read out.

    This results in me not being able to toggle away the console and show the gui.
    Commenting out this switch in the code, so that it always shows the gui, I notice in the channel inputs and stick calibration screens that indeed the values are not changing. Other things such as display and sampling the buttons appears to work just fine.

    What’s more odd, I still have a .bin file that I compiled (and downloaded from the device again via st-link) at an earlier time, and as soon as I flash that image back, the ADCs are working as expected.
    Thinking this was an issue with the source code, I tried going back to whatever changeset the working bin was compiled from. To no avail, whatever I compile and upload seems to have non-working ADCs.

    Anyone has an idea what could have changed?

    Reply
    1. fishpepper Post author

      Do you use the code from the master branch? Which tx do you use, fs-i6s or evolution?
      I flashed the master tree yesterday on my i6s, it is working fine for me.

      Reply
      1. Jonas Hauquier

        The master branch of the original repo, using a fs-i6s.
        I think it’s something to do with my setup or something, as I had been able to compile a bin earlier and that one still works if uploaded.
        Problem is I don’t know where to look for the issue.

        What version of the arm gcc are you using?

        Reply
  2. Dominik

    looking forward to the evolution final version.
    Realy like the haptic from the TX but the mini RX are useless with the brownout issues.

    Any timeplan for when you will have a final version ?

    will there be a way to use FRSKY rx with openground and the Taranis ?

    Reply
    1. fishpepper Post author

      OpenGround can “clone” your Taranis or any other Frsky TX. That way both can control the same receivers without rebinding πŸ˜‰

      Reply
  3. Michael

    I love the work you’re doing here. I’ve been following since the beginning and it’s really quite impressive.

    In terms of completion what percentage would you say this is now?

    Keep up the great work!

    Reply
    1. fishpepper Post author

      You can use it for smaller quads (100g). All the basic stuff works.

      Reply
  4. greg

    is there a walk through available anywhere on how to get the frsky firmware to work with the evolution?

    Reply
      1. Pascal

        Do you think, you can flash the fs i6 firmware to the fs i6s? I have a problem with the afhds…..

        Reply
        1. fishpepper Post author

          No, the i6s and the i6 use a totally different hardware and a different processor. This will not work πŸ˜‰

          Reply
  5. Matthew Sherlock

    Hi there. I would like to flash my flysky i6s, what are the compatible receivers and is it possible to downgrade back to the flysky firmware.
    Thanks!

    Reply
    1. fishpepper Post author

      In order to run OpenGround you will have to swap the RF module inside the I6S. Once modified the only way back is swapping the module again and uploading the original firmware you backed up. When running OpenGround you can use all FrSky D8 protocol receivers (D4Rii, VD5M, ..).

      Reply
    1. fishpepper Post author

      Yes, this will work with the evolution. The latest master code autodetects Evo and I6s πŸ™‚

      Reply
  6. rav

    It seems the CC2500 modules are no longer available from banggood and won’t be restocked.
    Are there any good alternatives?

    I’d like to modify the Evolution to be able to bind it to FrSky receivers.

    Reply
  7. Dean Godfrey-Cooke

    Hi Simon
    One major issue with both the Evolution and the I6S is the lack of AFHDS (V1 technically) that’s used on the majority of Flysky compatible integrated FCs
    Looking at the original I6 it seems like it has the same FS-HS060 (2014.11.28 Ver1.2) RF Module.
    Below is a dump of the I6 firmware.
    Do you think it would be possible to add AFHDS to the newer models, using the FW from the I6?
    https://gist.github.com/nathantsoi/ab352234dedfaf0451c5faa50bfeb9a4
    I’m looking at the firmware now but it’s a bit beyond my Arduino coding ability!

    Cheers
    Dean

    Reply
    1. fishpepper Post author

      Sure, if someone picks that up it should not be that hard to add FlySky support to Openground.

      Reply
      1. Dean Godfrey-Cooke

        Grand, thanks for the reply.
        Are you writing the firmware from scratch or is it possible to extract data from the original FW?
        There’s also this project that may have the required code for AFHDS.
        https://github.com/pascallanger/DIY-Multiprotocol-TX-Module

        What are you using for writing Openground? If I get time I’ll see if I can wrap my head around it.

        Thanks for the work so far!

        Reply
        1. fishpepper Post author

          My firmware is written from scratch. It does not use any FlySky code. I used some GPL libraries e.g. for the touch controller and the display.

          Reply
          1. Dean Godfrey-Cooke

            How does the protocol work then? Are you using a library or writing the protocol from scratch too?
            I think that’s quite a bit beyond my abilities!!
            Thanks for the work, the Evo stuff is brilliant and I really think it will take the community be storm!

          2. fishpepper Post author

            Thanks! The firmware is written from scratch. There is no library but I reused parts of my OpenSky code.

      2. lilstevie

        I’m looking into this at the moment. I’ll keep you posted on how it goes. Might be a better solution for telemetry than hacked firmwares like the i6 needs to add extra fields.

        Reply
  8. Jonas

    Hello FishPepper,

    Did you ever manage to re-flash the original firmware on the remote again?
    I made a backup, but when flashing it back on and resetting I keep getting the flashing backlight.
    I can flash it with other software just fine and it will run, just getting back the original firmware dump seems to fail.

    This flashing backlight, any idea whether it is some kind of built-in error indicator?

    Reply
    1. fishpepper Post author

      I accidentally deleted my FSi6s firmware dump with a make clean directly after dumping it… So I was never able to look at it. However, I recently tested the code on a Turnigy Evolution (which works to 90%, only small differences in ADC pins).
      After that test I successfully restored the firmware dump to the Turnigy evolution. So i think it should work for the i6s as well. Did the flash verify suceed?

      Reply
      1. Jonas

        Yes, rom verify succeeded.
        If you want I can send you the i6s firmware dump I’ve made.

        I’m a bit reluctant to try it on my evolution until I have the open firmware up to a point where it is usable enough and I’m sure I won’t need the stock firmware anymore.
        Until that time, I think I’ll keep my evolution with the stock firmware and develop on the i6s.

        Reply
  9. ElevenP

    Hi ! verry nice job ! I have just one question :

    Is it possible to extract the original firmware of a Turnigy Evolution ?

    Thx

    Reply
    1. fishpepper Post author

      In principle yes, you can make a backup of the flash content. It seems like the stm32 rom bootloader can read out the original firmware. I did not investigate it further as I do not own any Flysky gear.

      Reply

Leave a Reply

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

*