Worked then it didn't

I am trying to set up a iFlight Succx-A10 F4 flight controller with BetaFlight and was hoping for some help.

I initially hooked up the FC to BetaFlight via USB and all looked well. When I moved the Quad around the Setup page display showed the quad moving also.
I then successfully flashed the FC with the lastest software. I then went back to the Setup page and the display was not moving when I moved the quad. Connected/disconnected serveral times, rebooted the computer and Betaflight serveral times with same results.
I then went to the CLI page and typed in 'VERSION'. The correct version was displayed but also an ERROR was displayed.
###ERROR: VERSION: NO CONFIG FOUND###

Only the USB was hooked up during this time.

I also noticed on the BetaFlight Configuration page in the Board and Sensor Alignment section "Warning No Gyro Detected". The FC contains a gyro.

Any help is greatly appreciated!!

Eastbayboy
 
The only thing you can really do is re-flash the firmware and hope it starts working again.


Try using a different version this time and make sure you have the correct target selected.
 
^^^^ What he said

Hiya so I can at least put you somewhat at ease I don't think you bricked it or anything (actually from what I gather pretty hard to do that with these chips now since the actual firmware updater part of the chips I believe aren't touched when doing the "normal flash" procedure and that software/data is kept on a different partition of memory so as to not corrupt the USB communications or ability to receive updates).

Anyway to make a long story short Betaflight I believe now separates the flashing of the firmware "base system" from specific "FC configs" that need to be applied after a given FC is flashed that includes resource mapping info (what pin goes to what device on the MCU so makes sense it can't find the gyro right now). You'll need to get the FC config applied I think... problem is when I've done this myself with more recent version of BF that include the configs after I flashed and restarted the FC and hooked up to betaflight on first connection it asked if I wanted to apply board config and I just said yes and went about my day :)

You may also want to make sure you have the right "target" version as described here:

 
Thanks for the input guys!!

Well I did try flashing the firmware with serveral different version (4.6, 4.7, 4.8) and no change. I wrote down the target version before I started, so that was good. I also followed the instructions in the video for reloading the board configuration (go to CLI, diff all, copy then paste into command line) and still no change.
In your response you stated that betaflight asked to apply board configuation. My version (10.7.0) never asked. I was confused on the steps you used to get betaflight to ask.
1. flash firmware, OK
2. restart the FC, The USB is already hooked up, so I'm guessing you mean hit the Connect button.
3. hooked up to betaflight on first connection. I'm already hooked up to betaflight, so do you mean disconnect the USB and connect again?
Thanks again in advance for the input!!

Eastbayboy
 
Yup after the flash you usually want the FC to fully restart (give it like 10 seconds after flashing says it's done just to finalize anything being written to memory but in theory safe to unplug once the progress bar is done, then unplug it so literally powers down). Lots of these STM32 ARM based chips need to go through a full reboot after flash to come on with the new firmware running (I think when betaflight sees a FC plugged in with newly flashed firmware it should prompt and if you say yes to allow it to do extra config then it will apply some resource mapping and then will have you restart the board again iirc to make sure everything is applied).
 
The diff to dump your current config will only work if the current config is working but is a good idea to have that diff saved somewhere once you do get things working and have your receiver/modes and all setup since can typically do minor version upgrades of betaflight and just reapply your diff and not have to mess with anything else (also just good if need to replace the FC at some point cause of damage or whatever)
 
Wafflejock, I think I am near the end in a bad way. I tried all you said with no luck. I could never get beatflight to ask to apply the board config.
This is what I did maybe you can see an error in my approach.
1. Successfully flashed firmware (4.8).
2. Wait 60 seconds and disconnect the USB.
3. Wait another 60 seconds and plug in USB and connect. No response from betaflight to load board config. Connect is good.

4. I then repeated steps 1 and 2. Then closed and opened betaflight and plugged in the USB and hit connect. No change.
5. I repeated steps 1 through 4 with two different firmware versions (4.6, 4.7). No change.
6. I had saved board config before I had started this whole thing. So I did a DIFF ALL, copy, paste into command line and then repeated steps 1 through 4. No change.

Thanks for all the input!!! But I think the FC is toast.
If you have any other ideas please let me know!!!
Easybayboy
 

^^ looks like they made this change recently but wondering based on screenshot there if you did legacy option or not for your board and maybe worth trying whichever one you haven't already (kinda shooting in the dark here now but there has to be a way to force it to apply that post flash config manually too I'm almost sure that's all you're missing). One other thing worth trying is flash to an older version like BF 3.6 instead of 4.2 since older versions didn't have that separate config.
 
The version is STM32F405 and there was only one option. The oldest version listed for STM32F405 is 4.0.4, which I tried and it still did not work but there was a change. After flashing with the newer versions and connecting an error always came up stating there was no ESC protocal selected. After loading 4.0.4 the error did not appear and a ESC protocal was slected.

Looking at my original DIFF ALL I saw the following.
# version
# Betaflight / STM32F405 (S405) 4.2.2 Aug 16 2020 / 01:46:41 (e833ac612) MSP API: 1.43
# config: manufacturer_id: IFRC, board_name: IFLIGHT_F405_AIO, version: bc19b7dc, date: 2020-04-01T04:37:12Z

I have been using STM32F405 as the target. However board name in the line below is IFLIGHT_F405_A10 and there is a board listed in beataflight called IFLIGHT_F405_A10. Should I be using that board???
The videos I have watched say to use theSTM32F405
 
Iflight is kinda weird in that they just dump all the config files and manuals up to a Google drive so have to dig around there some to find your particular board but should have the original BF target and config somewhere there... https://iflightrc.freshdesk.com/support/solutions/articles/48001148115-firmware-wiring-factory-dumps

Will let you know if I can find the specific board/target as well, but would look for flashing then reboot and check setup for gyro data and hopefully get that apply config optiom if using 4.2. Think anything before that didn't have this setup but kinda new to me as well.
 
Just FYI too not a thing I think you need as of yet but if you ever do corrupt the usb bootloader stuff on the stm32 chip it is still possible to connect to it and reflash the entire flash memory (bootloader/usb+any firmware on there) but unless the board has a breakout for the "st-link" pins this would require soldering things directly to the pins on the mcu which will be difficult if you aren't an ant and or don't have a microscope and the right gear. I've used the st-link for hardware and software to connect to and recover my "VESC" a big expensive open source esc used for esk8 (in that case the developer Benjamin Vedder added a jst breakout for st-link access cause he's a class act like that :) )
 
Basically the config for the board can tell it what sensors or rather which pins of the mcu should be used as what kind of input or output, the stm32 chip is flexible in that different timers it has running internally and different pins can be tied together and used for either input or output. The only real risk of damage I'm aware of is if some pin is configured as an output but should have been an input and drives enough power through whatever component it's connected to to cause it damage (I've not actually seen this problem just telling you what I can gather from experimenting and doing a little day job work with stm MCUs in the context of IoT/FreeRTOS/AWS Greengrass)
 
I've flashed plenty of f4 boards with the wrong firmware and they've all started working fine once the correct target was selected lol.

I've even flown with jenky fw the f4s get so many it's easy to pick the wrong one.

Just for fun you should try cleanflight or emuflight over bf. I'm using all 3 and there isn't much difference lol.
 
Finally got it working and betaflight/FC recognize the configuration. But I may have other issues relating back to what I heard on the videos for flashing firmware. I flashed using the target IFLIGHT_F405_A10 version 4.2.8 and in the release info there is a line stating Unified Target.
Unified Target: IFRC-IFLIGHT_F405_AIO.config
Date: 2020-04-01T04:37:12Z
So the video says do not use Unified target file, so I am guessing the target file should not be used???

I also went to the IFlight / Betaflight Factory Dumps page looking for a Config file but could find one for my FC (Succex-A-A10). So I have a question into them about the right file to use.

Again thanks for the help. Now I know for sure the FC is not bricked.

Eastbayboy
 
Finally got it working and betaflight/FC recognize the configuration. But I may have other issues relating back to what I heard on the videos for flashing firmware. I flashed using the target IFLIGHT_F405_A10 version 4.2.8 and in the release info there is a line stating Unified Target.
Unified Target: IFRC-IFLIGHT_F405_AIO.config
Date: 2020-04-01T04:37:12Z
So the video says do not use Unified target file, so I am guessing the target file should not be used???

I also went to the IFlight / Betaflight Factory Dumps page looking for a Config file but could find one for my FC (Succex-A-A10). So I have a question into them about the right file to use.

Again thanks for the help. Now I know for sure the FC is not bricked.

Eastbayboy
Can you share how you fixed this? I am using a skystars f7 hd and during setup it just threw up a No GYRO error and wouldnt detect gyro. I feel it's a software issue because connecting to betaflight takes ages and sometimes fails. No idea what's up. Tried reflashing firmware and flashing older versions but nothing worked. I can't get the final 2 beeps either when I connect Lipo.
 
Think after flashing you need it to apply the board config on first connecting or else the outputs and gyro pins on MCU and won't be mapped correctly so will show no gyro. Make sure to flash it disconnect unplug FC , plug FC back into USB then connect again on first connecting should get dialog about apply board config say yes and let it reboot again and should be good to go. For last two beeps the esc protocol in configuration tab needs to be right and motor resource mapping that the board config modifies should fix it.
 
Back
Top