/MobiFlight-STM32Firmware

STM32 firmware for MobiFlight

Primary LanguageC++MIT LicenseMIT

MobiFlight-STM32Firmware

Open in Visual Studio Code

Implementation of the MobiFlight firmware for STM32-based boards.

Currently supported modules:

  • Analog input (potentiometers)
  • Buttons
  • LCD displays based on the HD44780 controller (e.g. 20x4 LCD module for Arduino). Displays must be 1, 2 or 4 rows high and 16 or 20 columns wide.
  • 7-segment displays based on the MAX7219 controller (e.g. 8-digit 7-segment tubes). The DATA and CLK pins specified in MobiFlight are ignored, you must use your board's hardware SPI pins for MOSI (DATA) and SCK (CLK).
  • Output (LEDs). PWM pins are supported.
  • Servos (e.g. basic servo motors)

Currently supported STM32 boards:

About the code

This project is an exploration of C++17, mbed OS and PlatformIO to write code for an embedded device. It supports various forms of VSCode development including remote containers and GitHub Codespaces, and uses GitHub actions for CI/CD.