List of PX4 supported FC hardware

Hi folks - wondering if there exists a relatively up-to-date list of FC’s that are PX4 friendly. Specifically I’m referring to the Matek H743 Mini. Most of the lists I have found don’t have any H7 boards on them (they may be legagy lists). Is there a sort of “official” page that stays more or less updtaed?
Thanks very much.

I think you could go to the git repository and look into the “boards” folder.
Those are all the currently supported boards.
Of course you can add boards yourself which is probably what you’re talking about so my only experience so far was changing the board id for a holybro kakute f7 and got it running on the “mini” version of that FC for starters… ,)
In general you want an F4 or F7 chip with at least 1meg of flash.
cheers

Thanks, I’ve looked. I already have the Matek H743 board as my FC but want to do some unconventional things that PX4 would let me experiment with. So if I have to use a close approximation and then sort the details on my own I can (I hope) do that. I’m just trying to start as close as possible. I’m wondering if the transition from F7 to H7 is a deal-breaker in terms of the mods I’d need to make (at my skill level). If it’s some pin assignments or other simple mapping then I can probbably handle that, but much deeper and I’d want to leave it to the pros. Basically, I’m looking to port PX4 to this FC without major surgery, and at the moment I don’t even see any Matek FC’s on the supported hardware list. (I can just hear the collective groans of “That’s not how it works” in the community). My hunch (correct or not) is that starting with PX4 for another Matek board would be at least a start, and maybe even a close approximation. But maybe I’m overestimating the manufacturer-specific similarities and perhaps it’s more to do with the MCU so starting with another similarly laid out H7 board would be better. How off-base am I with that?

Nah I’d say its exactly what I did too with the kakute mini.
If there’s a similar board it’s mainly a matter of pin mapping.
The IMU side is quite broadly supported by PX4’s drivers library so I don’t think you’d have any issues there.
There is some discussion out there where a guy theorized about what I then did and it had a lot of general good information about porting from a similar board.
If I can find it again I’ll throw you a link.

Matek h743 mini runs with the h743 Slim PX4 target and recognises all sensors etc. the io assignment can be read off in the CLI dump in resources by starting Betaflight once in the Betaflight Configurator and seems to be largely correct. The timer 15 required for pwm out 11 and above has not yet been implemented in PX4, but 10 pwm outputs are sufficient for most projects.

Hi guys, tried to flash the H743-slim target bootloader onto the H743-Wing, however, the board seems stuck on boot, with the green light flashing. Did anyone face this issue? I’m using master branch on commit bb1177d504c4c5012fac6a72b194f75add765b22
Both dfu-util -a 0 --dfuse-address 0x08000000 -D ~/PX4-Autopilot/boards/matek/h743-slim/extras/matek_h743-slim_bootloader.bin and make matek_h743-slim_bootloader upload gave me the same results.

Currently I´m running it with the AP boot loader which is offered on the Mateksys website but the PX4 master code want to see board id 139 the AP boot loader sets it to 1013 you can try it from my forge (could work on wing/slim/mini) PX4-Autopilot/boards/matek/h743 at master · taileron/PX4-Autopilot · GitHub

Hi @taileron sorry to keep bugging you, but you’re the one who has the most experience in this.

Uploading arducopter.hex or arduplane.hex results in the green flashing going away but I am not able to view it on QGC, and is locked up due to Permission error while locking the device.

I’ve pulled from your repo and make matek_h743_default upload but I was not able to find any board to upload it to. Not too sure for the mini and the slim, my lsusb shows Bus 001 Device 092: ID 0483:5740 STMicroelectronics STM32F407 probably I’m not able to find the chip?

Running dfu-util -a 0 --dfuse-address 0x08000000 -D ~/Downloads/arducopter.hex

dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash   "
Downloading element to address = 0x08000000, size = 4541300
dfu-util: Last page at 0x08454b73 is not writeable

While Betaflight configurator passes it and manages to flash the bootloader

for me the straightest way was to flash the whole AP firmw. (Matek site) incl bootloader using Betaflight Conf. (that makes sure having all at the right flash position) then check if the fc boots AP, then try to flash it with PX4 by command line make … upload

Hi,

So, ArduPilot firmware (just to have bootloader) is mandatory?
Is it possible to flash blank FC via dfu?
If yes then what bin file should I use? Bootloader (compiled for matek h743) of full (_default) firmware (also for matek h743)?

Hi ,

We are working on using PX4 on H743 Mini and were facing issue. So visited this thread to see your comment.
We corrected the "BOARD _TYPE = 139 " to "BOARD _TYPE = 1013 " and complied the code to get modified firmware and bootloader.

With this change, PX4 was able to recognise all the sensor of the board but we are still facing two issues:

  1. Battery module was showing green even though battery was not connected to the board
  2. After connecting the battery to ESC and attempting to do ESC calibration, we are getting ESC calibration time out, waiting for the battery.

Below is th verbatim of the error message:
NuttShell (NSH) NuttX-10.2.0
nsh> WARN [PreFlightCheck] Preflight Fail: Compass Sensor 0 missing
ERROR [uavcan] couldn’t start parameter count: -2
INFO [gyro_calibration] gyro 0 (3670050) updating offsets [0.015, -0.002, 0.021]->[-0.000, -0.001, 0.004] 47.4 degC
INFO [gyro_calibration] gyro 1 (2162698) updating offsets [0.065, 0.008, -0.025]->[0.046, 0.011, -0.049] 46.1 degC
INFO [commander] [cal] calibration started: 2 esc
INFO [commander] [cal] Connect battery now
WARN [commander] [cal] calibration failed: Timeout waiting for battery
INFO [commander] [cal] calibration started: 2 esc
INFO [commander] [cal] Connect battery now
WARN [commander] [cal] calibration failed: Timeout waiting for battery
nsh>