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.binflight 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.

