Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible to flash this Receiver? #17

Open
benb0jangles opened this issue Sep 3, 2021 · 30 comments
Open

Possible to flash this Receiver? #17

benb0jangles opened this issue Sep 3, 2021 · 30 comments

Comments

@benb0jangles
Copy link

benb0jangles commented Sep 3, 2021

Hi, I have been given a receiver from a 'flying Fy-X8' quadcopter. The quadcopter looks like this one:

https://www.google.com/search?q=flying+fy-x8&tbm=isch&ved=2ahUKEwjansnqgePyAhUMlBoKHZogBp0Q2-cCegQIABAA

I am thinking it is similar to Flysky Ia10b receiver?

FY-X8 receiver:
Rx
IMG_20210902_145605358
IMG_20210902_145619610
MT1235 Rx inside 2

Flysky ia10b receiver:
12306
33376871-b02c3cdc-d50f-11e7-8224-11dde7d21e70

The FY-X8 receiver has no pin connection for ibus servo/sens.
However, looking at the pcb picture there are 2 extra 3-pin pcb pads - which might suggest they are the 'missing' ibus servo/sens connections?

Do you think it is possible to flash it with ia10b firmware? I have no ia10b to compare pcb traces, just internet photos.

Both use stm32 & a7105

@Cleric-K
Copy link
Owner

Cleric-K commented Sep 3, 2021

Well, if the current firmware is not locked you can back it up and try the ia10b. There's always slight risk of damage if the hardware is different and some pins that should be inputs become outputs and put voltage in the wrong places. But if you're willing to take the risk you can try.

@benb0jangles
Copy link
Author

benb0jangles commented Sep 3, 2021

I think the fy-x8 receiver is interesting because it allows ardupilot telemetry natively, so I will try to make a backup first. It just does not bind to flysky i6.

@benb0jangles
Copy link
Author

assist me with SWD pinout?
IMG_20210904_142221__01

@Cleric-K
Copy link
Owner

Cleric-K commented Sep 5, 2021

image

These are the pins according to the datasheet. You can see if they go to the pads.

@benb0jangles
Copy link
Author

unable to connect
stmlink

@benb0jangles
Copy link
Author

oh cool were in. I had to change to software system reset from hardware system reset in settings.
2

@benb0jangles
Copy link
Author

here's the original firmware:
FY_Q7_RX_Original_Firmware.zip

@benb0jangles
Copy link
Author

benb0jangles commented Sep 7, 2021

do you thik it can be changed to pair with the flysky i6 somehow? I probably shouldn't try flashing with ia10b firmware until the original bin file has been looked at.

@Cleric-K
Copy link
Owner

Cleric-K commented Sep 8, 2021

do you thik it can be changed to pair with the flysky i6 somehow? I probably shouldn't try flashing with ia10b firmware until the original bin file has been looked at.

What do you mean? That this receiver currently can't bind to i6? Then what is it compatible with?

@benb0jangles
Copy link
Author

I think it only binds to the flying fy x8 transmitter, it looks like a flysky i6
Screenshot_20210908-150023_1

@Cleric-K
Copy link
Owner

Cleric-K commented Sep 9, 2021

If this receiver doesn't bind to i6 chances are they use some modified flysky air protocol. Theoretically there should be no problem to use the hardware base also for regular flysky (since the RF chip is the same) but that could mean writing new firmware.

Another thing. Does the current firmware have telemetry? Does the above tx show some signal level?

@benb0jangles
Copy link
Author

Yes it has telemetry, the receiver directly connects to tx and rx on an APM board. There seems to be two versions of FY-Q7-RX receiver, one with six signal pins:
Flying3DX8FY-X8-01710CHReceiverfor6-AxisRCQuadcopter-SKUspanitemprop160757-descriptionImage3

and one that I have with more pins similar to the ia10b:
20160629102223_74658

interestingly, my receiver with more pins, it has a sticker over the old sticker like this:
IMG_20210909_104805609

The Flying X8 transmitter displays APM telemetry on screen:
11131731_10205323441596770_1885456364_n

I think qba667 made MavlinkToibus to allow APM telemetry through an ia6b receiver using an arduino pro micro between ia6b and APM:
https://www.rcgroups.com/forums/showthread.php?3020949-FlyPlus-firmware-for-FlySky-I6X
https://github.com/qba667/MAVLinkToIbus

Somebody here attempted to flash the transmitter with 10ch mod firmware and succeeded, but I am unsure if they backed up the original TX firmware firstly:
https://translate.google.com/translate?hl=en&sl=auto&tl=en&u=https%3A%2F%2Fladecadence.net%2Fblog%2Fflasheando-una-flying3d-fy-q7%2F

Somebody on rcgroups seems to think the receiver is also similar to fs-ia10b:
Screen Shot 2021-09-09 at 11 12 31

@benb0jangles
Copy link
Author

benb0jangles commented Sep 9, 2021

Also seems accroding to rcgroups comment that binding plug of receiver goes not to pin B/Vcc like normal receivers, but to port marked Tx:
Screen Shot 2021-09-09 at 11 14 34

So I shall try this also.

edit: tried binding plug via Tx but no fast led flashing on the rx, so false alarm on my version of rx. bind plug on B/Vcc as normal makes fast led flashing happen/bind mode.
Holding down button on rx before powering makes led flash three times repeatedly, so perhaps this is update mode. Same on ia10b perhaps.

@benb0jangles
Copy link
Author

benb0jangles commented Sep 9, 2021

more internet searches and it seems there are also 2 versions of flysky ia10 receiver, 1)ia10 and 2)ia10b:

ia10:
flysky_fs-ia10_receiver-lead

ia10b:
18a9b7fd125361c03d40af5b60e69d3d4a461d91_original

Seems the FY-Q7-RX is more similar to ia10 receiver, the ia10 even has the two side inputs same as FY-Q7-RX:
100-Original-FLYSKY-FS-iA10-FSiA10B-10-channel-receiver-with-a-serial-bus-interface-iBus-for jpg_q50

I have not seen ia10 before, and have not found any images of the internal pcb yet.

@benb0jangles
Copy link
Author

more data on ia10 receiver:
SKU217045-2
SKU217045-3
SKU217045-4
Screen Shot 2021-09-09 at 12 07 28

@benb0jangles
Copy link
Author

I managed to find photos of fs-ia10 receiver pcb:

777552832X433170X27
777552832X433170X16

@benb0jangles
Copy link
Author

FY-Q7-RX and Flysky ia10 receiver have identical pcb:
Screen Shot 2021-09-09 at 12 42 47

@benb0jangles
Copy link
Author

benb0jangles commented Sep 9, 2021

If anybody has ia10 receiver and can make fimware copy?
Or knows if ia10b firmware working with ia10?

interested to see what differences are between ia10 firmware and FY-Q7-RX

@benb0jangles
Copy link
Author

benb0jangles commented Sep 9, 2021

Nevermind I think I found the ia10.bin file on the internet:
https://www.dropbox.com/s/fyohbyzr3rievf5/iA10.bin?dl=0

I will try to flash it to my funky receiver soon.

update: So actually if ia10.bin will flash to FY-Q7-RX, and original FY_Q7_RX_Original_Firmware.bin will flash to ia10 receiver
There is then no reason why the flysky transmitter cannot be flashed with flying X8 tx firmware
Then all we have to do is connect Ardupilot APM board rx/tx to receiver and we get APM telemetry on Transmitter...See.

@benb0jangles
Copy link
Author

benb0jangles commented Sep 9, 2021

Neat. So I can flash original ia10.bin firmware to FY-Q7-RX receiver:
ia10stlink

Solid LED after binding to Flysky i6 transmitter:
IMG_20210909_145046800

PPM 8 channels on receiver pin 1 working.

I guess it is now a Flysky FS-ia10 for no money.

I will test ibus also but I have to solder dupont connector to the pcb pads first.

Also, after I have done this I will try and flash FY-Q7-RX_original_Firmware.bin back to see if works.

I would like to somehow find a Flying X8 FY-Q7 transmitter firmware and flash that to the Flysky i6 Transmitter, then connect to my pixhawk and see what telemetry comes to the transmitter screen.

I will check if ia10.bin includes rssi and post again.

@Cleric-K
Copy link
Owner

Cleric-K commented Sep 9, 2021

Great! To be honest I didn't expect this to work :) The receivers seemed too dissimilar.

If you're feeling adventurous you can play with TX firmwares through ST-Link. These TXes use STM32 mcus (of the larger kinds with many pins). I haven't opened i6 but i6x has pads for SWDIO and SWCLK. You can dump the fw from Q7 and try to flash it to i6 (after backing it up of course).

Yet always keep in mind that if there are hardware differences this can result in malfunctions (if mcu pumps voltage at pins which are otherwise supposed to be inputs).

@benb0jangles
Copy link
Author

benb0jangles commented Sep 9, 2021

Believe in the Force Luke :)

I am relying on someone else out there to upload the transmitter firmware for me to test as I don't have it. Nice to meet you Cleric, I will comment again if the ia10.bin firmware has rssi so you can post it.

@benb0jangles
Copy link
Author

Here is the ia10.bin firmware with RSSI working:
iA10.bin.zip

@benb0jangles
Copy link
Author

14ch ibus working too.
1a10modibuspinout

@benb0jangles
Copy link
Author

benb0jangles commented Sep 13, 2021

I am able to flash to and from ia10.bin & FY-Q7.bin without problems.

After looking at the binary file I noticed a difference in the FY-Q7 firmware at offset 0x204 that ia10.bin or ia6b.bin (or any other flysky firmware I seen) does not have. ia10 and ia6b are 03000100 but FY-Q7 is 02000100
By changing FY-Q7 firmware offset 0x204 to 03000100 i thought this might be the difference between binding and not binding but not successful.
Any thoughts?

@Cleric-K
Copy link
Owner

Is this the only difference?

@benb0jangles
Copy link
Author

Is this the only difference?

of course there are big sections of code which are different but I am firstly searching for small differences which may be simple solutions to binding

@Cleric-K
Copy link
Owner

It's quite doubtful that this would be the solution. I don't have much time now but when I get the chance I'll look at the disassembled code. Can you bind the Fly3d TX to a regular flysky rx?

@benb0jangles
Copy link
Author

Can you bind the Fly3d TX to a regular flysky rx?

I do not have the Fly3D TX unfortunately. Only RX. If somebody has they can upload the firmware here and I will try it.

@Cleric-K
Copy link
Owner

If anyone can report if fly3d can bind to regular flysky rxes this will be indicative if they use different binding procedure (that is - modified air protocol). If that is the case, most certainly it will not be trivial to patch the current rx with a single byte swap.

What exactly is in this receiver that makes it supported by ardupilot? From the FC side, isn't it just a regular IBUS rx? What makes it different?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants