SpeedyBeeF405AIO issue "PreArm: Motors: Check frame class and type""

I want to get a bit into the world of ArduPilot/-copter, but currently I only fly FPV.
I saw that ArduCopter supports my SpeedyBee F405 AIO FC from my 3.5" quad, so I thought I might first try to get it running on my quad, before I decide to spend money and build a new Quad dedicated to ArduPilot.

Now I have an issue and some questions, that you guys might be able to help me:

  1. The problem I have is that after flashing ArduPilot (/Copter/stable-4.6.3/SpeedyBeeF405AIO-heli) and going through the “First Time Setup” documentation I always get the failure: “PreArm: Motors: Check frame class and type” when I try to test my motors. I always select “Quad” as frame class and “X” frame type. Any idea how to solve the issue? Could it also be an issue with the ESCs (they use D-Shot and https://esc-configurator.com/ no longer detects them after flashing ArduPilot) that the motors are not detected or so? I have this issue only in ArduPilot, in BetaFlight and iNav everything works when testing the motors.

  2. In generall, should I continue with my plan of first trying to get ArduPilot running on an FPV quad to get some hands-on experience or should I commit to a new build dedicated to ArduPilot? Maybe some more info: The GPS of my quad has no compass, but as far as I see ArduPilot support compassless operation using GSF, so I should be fine with it? Additionally ELRS support MAVLink, so I should also get away without any additional transmitters and receivers on my quad, right?

Well… ardupilot supports many type of frames, and quadcopter is just one of them.

You need to set which one You have.

Or… probably soon there will be comment to use AMC :slight_smile:

Thanks. My drone is a Quad and has an X frame (exactly like depicted in Mission Planner) with props out and if selected it I get the prearm message mentioned above. Or should i just test completly different layouts and see if they work?
I also tried QGroundControl and arduconfigurator.com, but all resulted in the same prearm message.

If You still get that message that point it is not set. For quad with props out I think You need to set parameter manually anyway.

FRAME_CLASS = 1
FRAME_TYPE = 18

I would use this param, but still motors layout needs to be verified by motor test to check if the assignemt is correct.

One word of advice - do not skip steps if You do not want to crash your drone.

params can be set in CONFIG → Full Parameter List in mission planner.

Perhaps, it might be better for You to go with with AMC software as AP is not the easiest to setup

FRAME_TYPE = 18 is this one I belive:

I have set it like you:

But again i get:

I dont now why it says “Frame: HELI” after each reboot, eventhough in the config it says Quad.

But maybe I should check out AMC :confused:

You did click “write params” in mission planner and rebooted? Also - how You flashed it and with which firmware.

Do You have AIO v1 (purple) or V2 (black) ?

Yes I did click “write params”.^^
I used STM32CubeProgrammer for flashing the firmware.
And I have the AIO v1 (purple).

I just checked and seems to be working fine on my desk.

after setting frame class/type works as expected.

What I would do, just to be sure - in stm32 cube prog. first check if there is any flash protection, then do mass erase and flash it again.

I used this one: https://firmware.ardupilot.org/Copter/stable-4.6.3/SpeedyBeeF405AIO/arducopter_with_bl.hex

Ohoh…
I accidentally used SpeedyBeeF405AIO-heli and not SpeedyBeeF405AIO.
I feel a bit stupid now, but thank you so much for your help and patience.