Lua EFI driver for Loweheiser ECU via CAN bus

We’ve written a Lua scripting driver that lets ArduPilot receive real-time engine telemetry from Loweheiser ECUs over CAN.

What it does:

  • Decodes RPM, MAP, baro, intake air temp, coolant temp, battery voltage and AFR

  • Publishes data to EFI_STATUS (MAVLink #225) and .bin flight logs

  • Tested on Pixhawk 4 + ArduCopter 4.6.3

Setup in one line: copy the .lua to APM/scripts/, set EFI_TYPE=7, CAN_D1_PROTOCOL=10, EFI_MS_ENABLE=1, EFI_MS_BASE_ID=1520, reboot.

Script and full documentation available here: Loweheiser GitHub

Happy to hear feedback before I open a PR to the main repo. Tested with a real engine — MAP, MAT, baro and AFR confirmed working. CLT requires a connected sensor on the ECU side.