OpenEmbedded meta layer for PX4/Simulators(Gazebo)

Hi all,

I’ve noticed that most UAV projects use both companion board (based on ARM Cortex-A/RISC-V + running Linux) for high-level applications + dedicated autopilot controller (usually ARM Cortex-M), which communicates with each other via uart/mavlink.

Usually Yocto/OE is being used for building Linux image for companion board, however developers still build/flash PX4 manually to autopilot controller, which, IMHO is a bit inconvinient in terms of development/deployment/further support (for example, in case of OTA updates, where there is a need to update both Compaion and Flight Controller firmware).

I’m currently working on OE meta layer (as I haven’t found anything publicly available) with PX4/Gazebo recipes, which supports builds of PX4 for both real HW and SITL emulation (QEMU is used for companion board emulation, and PX4 SITL + Gazebo for flight controller emulation.) Next steps will be adding a recipe for a simple dfu-util script, so it’s possible to update px4 firmware on a flight controller directly from a companion board.
I also plan to publish the meta layer on github when PoC is ready.

I’m just curious if anyone else is also using Yocto/OE in their UAV projects, where a bundle of flight controller and Companion board is used, and what approaches did you use for building/depolying the whole software stack for your product (Linux, PX4 etc.).