Modal AI's Flight Core - An Embedded Controller for More Than Flight

Designed as an NDAA ‘20 Section 848 compliant Pixhawk alternative Drone Flight Controller, the Flight Core is an impressive embedded system for more than just flight. Based around a 32-bit ARM and open source code from ModalAI, running modified PX4 open source code for Pixhawk, the board contains two IMUs, a pressure sensor, an SD Card slot for datalogging, 8 PWM channels, and onboard RGB LEDs. The board has inputs for an integrated GPS/compass, telemetry, USB, I2C, UART, CANbus, and general purpose IO.

I’m currently using the board on multiple projects for the Navy, to be used on submersible devices as embedded controllers. The board runs a Realtime OS called NuttX, and new modules are easily created that have access to messages published by the sensors and other modules in the system. It was easy to install the build tools on my Windows machine, and the C++ code is easy to follow. I created custom modules to actuate control surfaces via PWM, and also to interface with other sensors via UART and I2C for data collection. Although ArduSUB includes code for converting a pressure reading into depth the PX4 code is for aerial drones so I had to write that module myself.

When I had questions about hardware or software the folks at ModalAI were very responsive. They added items to their online store to make my system integration easier, such as an option at checkout for which power connector to provide with their power board. On the software side their forum was very useful, even though for a while I was the only one using it.

The datalogging format is ULog, and I use pyulog to convert the individual messages to CSV files, then import them into MATLAB for analysis and presentation. I created a few standalone MATLAB applications for that purpose so that my clients can do the analysis on their own without needing a MATLAB license, including on the dock if they want.

I’m impressed by the board. It’s currently $230, which is a great price for what you get. I’m a big fan of doing more with less, and I think many autonomy applications can benefit from something like a Flight Core that packs a better punch than an Arduino, with much less power consumption than a single board computer. For those applications where you do need higher level processing such as for a LiDAR or machine learning it’s easy to integrate this board for the lower level functions.

Contact me if you have any questions or would like more information about this or similar projects.