How to integrate RDDRONE-BMS or MR-BMS771 in PX4 via DroneCAN
This page is a step by step guide on how to integrate the NXP BMS772 or BMS771 into PX4
Hardware needed
NXP BMS (RDDRONE-BMS772 or MR-BMS771)
Including 4 wire CAN wire
Tested on MR-BMS771 (7S â 14S) NXP BMS (planned to be released June 30 2025)
FMU (any Pixhawk with CAN)
Tested on MR-VMU-RT1176
USB-C cable (FMU to PC)
3V3 FTDI cable and DCD-LZ
Programmer (JLink base or edu)
How to integrate the BMS into PX4 step by step guide
Be sure to download the latest the NuttX BMS application example code version 6.0 or higher.
MR-BMS771: https://github.com/NXPHoverGames/MR-BMS771
Program the BMS (see
releaseNotes
) and follow the instruction of the releaseNotes to make sure the BMS set up and is operating in NORMAL mode.Make a UART connection to the BMS according the releaseNotes to use the CLI.
Enter the following parameters in the CLI for the BMS, save and reboot.
bms set can-mode dronecan
bms set dronecan-node-static-id 31
bms set dronecan-bat-info 1
bms set dronecan-bat-info-aux 1
bms save
reboot
Connect from the PC to the FMU with the USB cable
Open QGroundControl and wait for auto connect to complete
Go to parameters -> UAVCAN and set it to sensors and actuators & save
Reboot ((right top) tools -> Reboot vehicle)
Go to parameters -> UAVCAN -> UAVCAN_SUB_BAT and set to raw data & save
Reboot (tools -> Reboot vehicle)
Connect 4 wire CAN wire from FMU CAN1 and to BMS CAN0.
To validate: go to Analyze -> MAVLink Console and type âuavcan statusâ -> this should result in
Sensor âbatteryâ: Name: uavcan_battery Channel 0: node id 31 --> instance 1
You can also check cell voltages with âlistener battery_statusâ
It should now work.
Last updated
Was this helpful?