Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Lithium and other batteries are dangerous and must be treated with care.
Lithium and other batteries are dangerous and must be treated with care.
Rechargeable Lithium Ion batteries are potentially hazardous and can present a serious FIRE HAZARD if damaged, defective or improperly used. Larger Lithium batteries and those used for industrial use involving high discharge current and frequent full discharge cycles require special precautions. Do not connect this BMS to a lithium ion battery without expertise and training in handling and use of batteries of this type.
Use appropriate test equipment and safety protocols during development.
NXP has battery emulators that may be used during testing: https://www.nxp.com/design/development-boards/analog-toolbox/6-cell-battery-pack-to-supply-mc33772-evbs:BATT-6EMULATOR
NXP provides the enclosed product(s) under the following conditions:
This reference design is intended for use of ENGINEERING DEVELOPMENT OR EVALUATION PURPOSES ONLY. It is provided as a sample IC pre-soldered to a printed circuit board to make it easier to access inputs, outputs, and supply terminals. This reference design may be used with any development system or other source of I/O signals by simply connecting it to the host MCU or computer board via off-the-shelf cables. Final device in an application will be heavily dependent on proper printed circuit board layout and heat sinking design as well as attention to supply filtering, transient suppression, and I/O signal quality.
The goods provided may not be complete in terms of required design, marketing, and or manufacturing related protective considerations, including product safety measures typically found in the end product incorporating the goods.
Due to the open construction of the product, it is the user's responsibility to take any and all appropriate precautions with regard to electrostatic discharge. In order to minimize risks associated with the customers applications, adequate design and operating safeguards must be provided by the customer to minimize inherent or procedural hazards. For any safety concerns, contact NXP sales and technical support services. Should this reference design not meet the specifications indicated in the kit, it may be returned within 30 days from the date of delivery and will be replaced by a new kit.
NXP reserves the right to make changes without further notice to any products herein. NXP makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does NXP assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages.
Typical parameters can and do vary in different applications and actual performance may vary over time. All operating parameters, including Typical, must be validated for each customer application by customer’s technical experts.
NXP does not convey any license under its patent rights nor the rights of others. NXP products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the NXP product could create a situation where personal injury or death may occur. Should the Buyer purchase or use NXP products for any such unintended or unauthorized application, the Buyer shall indemnify and hold NXP and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges NXP was negligent regarding the design or manufacture of the part.
Updated as we gain insight into specific applications
As we learn of specific needs for specific use cases they will be noted here:
PX4 BMS specification and working group discusses the need to provide 5V power to a drone before activating the actual battery power supply. The intent is to allow the host to identify the battery characteristics to avoid a catastrophic mismatch. Conceptually there is a need to supply 5V through the CAN /SBUS connectors to allow a host-side processor to power up and query the battery for compatibility with the drone. i.e. do not power up a 12S battery on a drone that only is designed for 3S or 4S
This functionality can be tested with the current revision of the board given a few jumper wires to the CAN/SBUS connectors. As built the +5V power is NC
Not clear if the battery can be asleep then woken up with a button press to supply power.
The 5V supply MAY only need to power a small MCU on the host side and not the complete host-side FMU. The small MCU could do the BMS query and then choose to power up the battery if in compliance.
May be a trend toward 4 LEDS to show battery gauge status visually. We have one RGB led which we intend to flash a sequence and color to show battery status
Extra LEDs could be added on the expansion header
The BMS itself doesn't regulate charging current or voltage, and needs a simple CC/CV charger. It can however balance it's own cells and disconnect the load. This situation could be improved by making a charger that talks with the battery over CAN and helps properly manage current and voltage, or even additional circuitry on board to manage this.
The RDDRONE-BMS772 may have test software or no software installed from the factory.
Review this manual to understand what is the latest software and how to update it. There may be more than one option:
PX4/NuttX target
NuttX target
S32K design studio project
The RDDRONE-BMS772 integrates the following functions and features:
LiPo Battery from 3s to 6s, with stack voltage ranging from 6V to 26V
ambient temperature range from -20°C to 60°C
measures battery stack and cell voltages with an accuracy of +/-5mV, battery charge or discharge current up to 200A peak and 90A* DC with an accuracy of 1% for the complete chain and cell temperature with an accuracy of +/- 2°C (including AFE, PCB and NTC inaccuracies)
active cell balancing during charging
offers a deep sleep mode (for transportation and storage) with <80μA leakage current, as well as an automatic sleep mode with <200μA current consumption on the battery.
allows authentication of the battery
allows diagnostics to verify the safe operation of the battery
allows CAN, I²C and NFC communication
implements SWD and JTAG debugging interfaces, works with standard Segger J-Link and other debuggers
implements DCD-LZ combined debug and uart console interface for use with PX4 DroneCode and HoverGames platforms
Note: The 90A DC maximum current is obtained only when all MOSFETs and heatsinks are mounted. See Power MOSFETs and heatsinks.
The RDDRONE-BMS772 kit includes:
Assembled and tested reference design in anti-static bag
Unmounted cell balancing connectors for 3s, 4s and 6s
CAN Bus Termination Resistor (DRONE-CAN-TERM)
4-pin JST-GH to 4-pin JST-GH 300mm cable
Power input and power output connectors
Quick start guide
External thermistor with cable
Small display
These boards have been designed and optimized for the operating conditions described below. Usage of these boards beyond these conditions can lead to malfunction and damage.
Description
Min
Max
Unit
Battery input voltage
6
26
V
Battery charge/discharge current at 25 °C (DC) [1]
-
90
A
Battery charge/discharge current at 25 °C (peak) [1]
-
200
A
Operating ambient temperature
-20
60
°C
[1] These values are valid for a 4 pairs of power MOSFETs and 4 heatsinks configuration. See Configuring the hardware for more information
To use this BMS772 kit, you will need:
LiPo battery pack
3S to 6S with cell balancing connector - Voltage range of 6V to 26V
Suitable charger for the type of battery
Soldering iron to configure the board
External Thermistor temperature sensor with cable and JST-GH 2-pin connector (optional)
Debugger:
Segger J-Link Mini debugger
PEMicro universal multilink
or other suitable JTAG/SWD debugger
Note: The HoverGames Drone Kit (KIT-HGDRONEK66) and/or FMU Kit (RDDRONE-FMUK66) both include a DCD-LZ adapter and Segger J-Link Mini EDU and an FTDI USBUART-3v3 cable.
By using the DCD-LZ interface and USBUART cable you will also gain access to the command line interface (CLI) of the board.
S32 Design Studio for ARM-based MCUs (recommended)
Alternatively : PX4 or NuttX build environment depending on what code source is used.
PX4/NuttX board target example code (optional, see Software guide)
Note: The RDDRONE-BMS772 board allows to open the charge circuit when the battery is overcharging , to perform cell balancing and to monitor all cell voltages. Therefore the charger does not need to have a cell terminal connector.
The board features several NXP ICs:
MC33772: 6-Channel Li-Ion battery cell controller IC designed for automotive and industrial applications such as HEV, EV, ESS, UPS systems. The MC33772 allows ADC conversions on the differential cell voltages and currents as well as coulomb counting and temperature measurements. It features embedded balancing transistors and diagnostics to simplify applications. The device supports standard SPI and transformer isolated daisy chain communication (via MC33664) to an MCU for processing and control
S32K144: AEC-Q100 certified microcontroller for general purpose automotive applications. The S32K144 features an Arm® Cortex®- M4F core, 512 KB of Flash, CAN/CAN-FD controllers, security module complying with SHE specification and is offered in LQFP-48, LQFP-64, LQFP-100 and MAPBGA-100 packages supporting an ambient temperature range from -40°C up to 125°C
UJA1169: Mini high-speed CAN System Basis Chip (SBC) containing an ISO 11898-2:201x (upcoming merged ISO 11898-2/5/6) compliant HS-CAN transceiver and an integrated 5V or 3.3V 250 mA scalable supply (V1) for a microcontroller and/ or other loads. It also features a watchdog and a Serial Peripheral Interface (SPI). The UJA1169 can be operated in very low-current Standby and Sleep modes with bus and local wake-up capability
A1007: A1007 authentication IC is a secure solution built with many tamper resistant features and security countermeasures to deter common invasive and non-invasive attacks
NTAG5: NXP’s NTAG 5 boost shrinks the NFC footprint while adding AES security, so designers can deliver ultra-compact devices for use in IoT, consumer, and industrial applications
The main ICs featured are listed in the table below:
Label
Description
Reference
U1
Battery Cell Controller (BCC)
U2
Micro-Controller Unit (MCU)
U3
System Basis Chip (SBC)
U4
Authentication
A1007
U5
Near-Field Communication (NFC)
The following figure shows the location of the connectors on the board.
All connectors implemented on RDDRONE-BMS772 are detailed in the table below:
Label
Description
Manufacturer
Reference
Placed or DNP
JP1
Cell terminal connector
JST MFG. CO
SxB-XH-A(LF)(SN)
DNP
J1
External temperature sensor
JST MFG. CO
SM02B-GHS-TB(LF)(SN)
Populated
J2
JTAG debugger
-
E.g.: FTS-105-01-F-D from SAMTEC
Populated
J3
CAN bus
JST MFG. CO
SM04B-GHS-TB(LF)(SN)
Populated
J4
Battery power input
-
E.g.: FIT0588 from DFRobot
DNP
J5
Battery power output
-
E.g.: FIT0588 from DFRobot
DNP
J6
Reset jumper
FCI
68000-202HLF
Populated with jumper mounted
J18
SMBus (I²C slave bus)
JST MFG. CO
SM04B-GHS-TB(LF)(SN)
Populated
J19
DCD-LZ debugger
JST MFG. CO
SM07B-GHS-TB(LF)(SN)
Populated
J20
Additional CAN bus
JST MFG. CO
SM04B-GHS-TB(LF)(SN)
Populated
J21
MCU expansion header
HARWIN INC.
M50-3530842
DNP
J22
Wake jumper
FCI
68000-202HLF
DNP
J23
I²C master bus
FCI
68000-204HLF
Populated
Note: Hardware configuration of the board is done via 16 jumpers to solder (SJxx). See Cell terminal connection, Shunt resistor and External NFC antenna for more details.
The RDDRONE-BMS772 board can communicate with a host device such as a PX4 Flight Management Unit (FMU) using the SMBus bus (can also be used as a simple I²C bus, connector J18) or the UAVCAN bus (can also be used as a simple CAN bus, connectors J3 and J20).
Note: For further information about UAVCAN, look for enablement in PX4.io software.
There are two ways to program and debug the RDDRONE-BMS772 board:
through the DCD-LZ connector (J19)
through the JTAG connector (J2)
Note: The DCD-LZ combines a debug interface with a debug serial console. It is used on RDDRONE-FMUK66 (HoverGames). For more information see the HoverGames gitbook.
The RDDRONE-BMS772 implements a programmable RGB LED. Various color combination and blink patterns can be used to indicate the state of the battery and system.
The side button is a wake button, it connects the WAKE pin of the SBC to the ground when pressed. The J22 header placed in parallel of the side button can be used as an alternative if an extended or panel mount button is needed.
An external display could be used to display important (battery) information. This display can be connected to J23, the I²C master bus. This header could be supplied with 3.3V (D34) or 5V (D35, default populated). By switching the diode, 3.3V or 5V could be used.
Some recent versions of the board may include a small common 0.91 inch OLED display using SSD1306 controller.
These displays work at both 3.3V and 5V. Software has been prepared but requires connection to the 3.3V domain (D34)
Double check the pinout configuration as they occasionally differ. Most use 1-GND, 2-
VCC, 3-SCL, 4-SDA and will connect directly to header J23 without modification.
Example of 0.91 inch OLED display using SSD1306 I2C display controller
An optional external temperature sensor can be added onto the RDDRONE-BMS772 board using connector J1. An example of application for this external sensor can be to monitor the cells temperature inside the battery pack.
Some components are included in the design but are not mounted on the RDDRONEBMS772 original board. They are marked "DNP" on the schematics and the BOM. The following table is giving the list of additional components that can be implemented in the design as well as their use:
Feature
Description
Label
Additional MOSFETs
Q3, Q4, Q7, Q8
Heatsinks
In order to dissipate more power, four additional heat-sinks can be mounted: two on the top side and two on the bottom side of the board. Recommended part is FK 244 08 D2 PAK
HS1, HS2, HS3, HS4
Optional termination resistor network on CAN bus
One 60.4 Ω resistor on each CAN line connected to a 4700 pF capacitor wired to the ground
R49, R50, C66
Capacitors on cell measurements connections
A filter can be added to the cell voltage measurements connections, according to the number of cells in use
C6, C12, C18, C22, C26, C29, C34
Capacitors on external temperature sensor
If the external temperature sensor is implemented, two capacitors can be added on the external temperature sensor low pass filter for more EMC demanding applications
C49, C54
Capacitor on cell balancing connections
Capacitors can be added on the cell balancing circuit for EMC, according to the number of cell in use
C99, C100, C101, C102, C103, C104, C105, C106, C107
External NFC antenna
Coil as an alternative option for the PCB NFC antenna for extended range operations
L2
Resistor on gate driver RS pin
Resistor to link RS pin on gate driver to MCU
R99
MCU expansion header
Additional MCU pins are wired to a 1x8 header slot. Potential to use additional battery level LEDs, emergency button, etc.
J21
Wake jumper
Jumper for SBC wake-up. In parallel of the button
J22
The following figure shows the location of the test points on the board.
Label
Signal name
Description
TP1
OVERCURRENT
Overcurrent signal
TP2
AUTH_NFC_SCL
Authentication and NFC I²C bus clock signal
TP3
AUTH_NFC_SDA
Authentication and NFC I²C bus data signal
TP4
VCC_3V3_SBC
SBC 3.3 V regulator output
TP5
RST_N
Reset signal (active low)
TP6
CAN_LO
CAN Low signal
TP7
CAN_HI
CAN High signal
TP8
VCC_3V3_LDO1
LDO 3.3 V regulator output
TP9
SMBUS_SCL
SMBus I²C bus clock signal
TP10
SMBUS_SDA
SMBus I²C bus data signal
TP11
VBAT_IN
Power input
TP12
VBAT_OUT
Power output
TP13
GND
Ground reference of the device
TP14
N/A
Power switches gate command
TP16
BCC_MISO
BCC SPI MISO line
TP17
BCC_CS
BCC SPI chip select
TP18
BCC_SCLK
BCC SPI clock signal
TP19
BCC_MOSI
BCC SPI MOSI line
TP20
SBC_CS
SBC SPI chip select
TP21
SBC_MISO
SBC SPI MISO line
TP22
SBC_MOSI
SBC SPI MOSI line
TP23
SBC_SCLK
SBC SPI clock signal
TP24
VCC_HARVEST
The VOUT pin of the NTAG (voltage harvest)
TP25
N/A
Connected to J18[1] of SMBus connector
RDDRONE-BMS772 for Mobile Robotics
Also have a look at some of the other NXP GitBooks:
The HoverGames
UCANS32K146 : CAN-FD / UAVCAN node
RDDRONE-T1ADAPT : T1 Ethernet Adapter
NXP Cup Car : Including MR-Buggy3 build guide
The RDDRONE-BMS772 is a standalone BMS Reference Design suitable for mobile robotics such as drones and rovers, supporting 3-6 cell batteries.
The RDDRONE-BMS772 is a standalone BMS Reference Design suitable for mobile robotics such as drones and rovers, supporting 3-6 cell batteries.
Other uses include portable electronics and equipment needing better battery management
eScooters, ebikes
high end power tools
portable medical devices (Pulse oximeter, portable pumps, electric portable refrigerator)
backup battery system
outdoor monitoring/measuring equipment
If you just received your board, and want to jump to how to configure the jumpers and connectors for your specific battery this is the URL to follow
It is an open hardware and software design and useful leverages components used in general purpose automotive and high-reliability industrial applications. The BCC device performs ADC conversion on the differential cell voltages and currents. It is capable of very accurate battery charge coulomb counting and battery temperature measurements.
The NXP MC33772 is a 6 cell BCC. If higher cell counts are required this could be redesigned to daisy chain multiple BCC chips or switch to a larger cell count BCC such as the MC33771. These parts are all automotive grade Li-Ion battery cell controller IC designed for automotive and industrial applications such as HEV, EV, ESS, UPS systems
The BMS772 also features an S32K146/144 automotive grade S32K Microcontroller. These are rugged M4 core processors part of a scalable family of AEC-Q100 qualified 32-bit Arm® Cortex®-M4F and Cortex-M0+ based MCUs
An NTAG5 Boost NFC NFC Forum-compliant I2C bridge is also onboard and appears as an NFC contactless tag to the external world, and interfaces internally in a simple manner similar to an EEPROM for easy secure query of status or setting of parameters using an external NFC device such as a cell phone. In a practical sense this allows an end user to check multitudes of batteries that may be in storage just by hovering their cell phone over them.
An A1007 is an enhanced version of A1006 secure authenticator IC which includes monotonic counters and secure flags. These can be used to prove the battery pack is genuine and has not been tampered with as well as securely count charge cycles, and permanently flag negative events such as over discharge. The Secure Authenticator IC is a secure tamper-resistant authentication IC, which offers a strong cryptographic solution intended to be used by device manufacturers to prove the authenticity of their genuine products
Finally, the BMS communicates with a host such as a Drone Flight Management Unit (FMU) through UAVCAN or I2C/SMBus.
The RDDRONE-BMS772 is a standalone BMS Reference Design suitable for mobile robotics such as drones and rovers, supporting 3-6 cell batteries. Other portable electronics and equipment, such as scooters, power tools, portable medical devices could also benefit from referencing this design. If higher cell counts are required this could be redesigned to daisy chain multiple BCC chips or switch to a larger cell count BCC.
The device performs ADC conversion on the differential cell voltages and currents. It is capable of very accurate battery charge coulomb counting and battery temperature measurements. Additionally, it communicates with a Flight Management Unit (FMU) through UAVCAN and/or an SMBus.
For disambiguation:
"Power in" (J4) is where your physical battery will connect.
Individual balancing leads will connect to JP1 "Cell Terminal"
The BMS board and Physical battery connected together can now be considered a "smart battery with BMS"
"Power out J5 represents the connection of your "smart battery with BMS" to the outside world.
The board is organized as shown in the figures below:
Because the RDDRONE-BMS772 board aims to be adaptable for many different battery types, the power connectors are not mounted on the PCB. This allows the user to configure the board with the connectors they choose, or solder battery wires directly to the board.
In a completed application, it is expected that the battery and BMS would be permanently attached. During development it can be prudent to allow disconnection of the battery for safety reasons.
The power connectors footprints on the design correspond to an XT90 hobby type connector such as the DFRobot FIT0588 connector. These types of connectors are readily available at local and online hobby shops and may also be used for soldering typical silicone insulation heavy gauge power wires.
TE connectivity has created a line of UMP (Unmanned Power) connectors specifically for professional high power mobile systems. Some kits ship with this type of connector included as a promotional item.
TE connectivity provides a line "UMP" connectors specifically for professional high power mobile systems.
The RDDRONE-BMS772 board is configurable to fit 3s to 6s battery packs.
Solder jumpers must be soldered in place and the matching JP1 connector must be installed on the board to match your battery cell configuration. Do not operate the board without the correct configuration.
This configuration must be done before using the board
The correct cell terminal connector should be soldered as JP1 on the top side. Connectors for 3s, 4s, and 6s are provided unsoldered in the kit.
the connection to the cell terminal circuit should be done by soldering the correct solder jumpers as given in the table below. All jumpers are open by default
Configuration
Jumpers connected
Associated JP1 connector
JP1 placement
3s
SJ6, SJ10, SJ11 and SJ12
S4B-XH-A(LF)(SN)
Pin 4 to 7
4s
SJ3, SJ7, SJ11 and SJ12
S5B-XH-A(LF)(SN)
Pin 3 to 7
5s
SJ1, SJ4, SJ8 and SJ12
S6B-XH-A(LF)(SN)
Pin 2 to 7
6s
SJ2, SJ5 and SJ9
S7B-XH-A(LF)(SN)
Pin 1 to 7
Note: SJ13, SJ14, SJ15 and SJ16 are not used for cell terminal connection. See Shunt resistor and External NFC antenna.
Note: The other jumpers used for cell terminal connection (SJ1 - SJ12) should be open!
Note: The JP1 connector should be soldered on the top side of the board.
The shunt resistor (R1) can be disconnected from the overcurrent protection circuit and the BCC by unsoldering the SJ13 and SJ14 jumpers. Both jumpers are closed by default.
The on-board NTAG5 chip is designed to provide active antenna matching and amplification and will give enhanced performance when the battery is present and providing power. However, for extended range operation, the PCB antenna can be replaced by an SMD coil (L2). The coil is not mounted by default but the recommended part is SDR7045-2R2M. Also note that it is possible to solder wires and attach a remote NFC antenna to the same pads used for L2.
To use the SMD coil, the user must reconfigure the board using the following steps:
remove both 0.75 Ω resistors R93 and R94
solder close SJ15 and SJ16
replace 82pF and 680pF capacitors C72 and C116 by a single 56pF capacitor
The RDDRONE-BMS772 board allows placement of four pairs of power MOSFETs (PSMNR70-30YLH) and four heatsinks (FK 244 08 D2 PAK). Half of them is on the top side of the board and the other half is on the bottom side. By default, only the two pairs of MOSFETs of the top side are mounted.
The user may want to place additional MOSFETs and/or optional heatsinks to their board. This allows to widen the maximum DC current limit as described in the following table:
Configuration
Maximum DC current
4 pairs of MOSFETs and 4 heatsinks
90A
2 pairs of MOSFETs and 2 heatsinks
70A
2 pairs of MOSFETs and no heatsink
60A
Note: Exceeding the given current limit can permanently damage the board.
Depending on the application, the user may want to add some optional components onto the RDDRONE-BMS772 board.
External and additional components and their use are detailed in External and additional components.
If the application requires more power, two pairs of back to back MOSFETs can be added on the bottom side of the board. Corresponding part is PSMNR70-30YLH. See
The software example being developed for the RDDRONE-BMS772 board will use a NuttX Real-Time Operating System (RTOS).
Note: NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards.
Before first start-up, make sure the board is configured properly:
The board MUST be configured, connectors and solder jumpers need to be soldered and installed to match your exact battery cell count
Solder your power in and power out connectors or wires on the J4 and J5 footprints
Solder the correct cell terminal connector at the JP1 location. Ensure it is correctly positioned and aligned
Configure the board for your application by soldering the corresponding SJxx connectors
Configure the board with additional and/or optional components as described in Configuring the hardware to fit the application requirements
Once the board is configured properly (see Configuring the hardware for more details about configuration), it is time to connect the board.
To power on the RDDRONE-BMS772 board, *first* connect the battery to the power input connector (J4) and then the cell terminal connector (JP1). This protects the boards form internal damage due to hot plugging.
Similarly, to disconnect the battery from the board, the cell terminal connector (JP1) should be disconnected first. Then the power input (J4) can be disconnected.
This page will tell you how to use the CLI of the BMS
To use the command line interface, connect the debugger to the BMS using the 7-pin JST-GH connector from the debug adapter board to J19 and plug the USB coming from the debugger converter board into your computer. Open a UART terminal like minicom on a Linux machine or PuTTY or Tera Term for a windows machine.
Type “bms help” to get the help for the CLI. The CLI works only with lowercase commands.
The settings are:
115200 Baud
8 data bits
1 stop bit
Introduction to the nuttx sofware example of the BMS
The example starter software provided with the BMS uses the NuttX RTOS (real-time operating system ) for microcontrollers. NuttX RTOS has an emphasis on being standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. The POSIX compliance on embedded devices is what makes it attractive particularly to developers that are used to programming in a Linux environment. The NuttX code repository can be found here: https://github.com/NXPHoverGames/RDDRONE-BMS772 Please follow the step by step instructions in the github readme.md in order to get started with this code. We will update it and provide clarifications there as needed.
Currently the RDDRONE-BMS772 is not supported in the Model-Based Design Toolbox (MBDT) for Matlab/Simulink.
This software Guide applies for bms version 5.0-10.1.
SOFTWARE provided is for reference only and should not be considered production ready or used in an end product as-is. It is expressly for the purpose of further development, research and validation by experienced people. Overcharging, undercharging or abusing batteries is dangerous and must be monitored carefully in a safe environment.
This example software was prepared in part as an intern's senior project under the supervision of NXP engineers.
The following part of the schematic is copied here to assist users with wiring cell terminal connections based on custom battery packs. Typically hobby style LiPo Batteries are already wired correctly and will be plug and play. The key item to note is the JP1 pin 7 is the negative most CT on the battery pack. The next pin up JP1 Pin6 will be one cell voltage higher than JP7. Similarly Pin 5 will be one votage higher thatn Pin 6. This continues until the end of the cell count depending on how many cells you have configured the BMS for on the previous page,
This page will provide all the information needed to flash the BMS
Download J-Link Software and Documentation Pack
J-Link Commander is used to flash binaries onto the RDDRONE-BMS772 board. The latest (stable) release of the J-Link Software and Documentation Pack is available at the SEGGER website for different operating systems.
The software can only be written to the board using a debugger. The HoverGames drone kit includes a J-Link EDU Mini debugger. To use it, you need to install the J-Link Software Pack.
The debugger can be plugged into the BMS using a small adapter board. This small PCB comes with a 3D printed case that can easily be put together. The J-Link debugger can be connected using an SWD cable. The connectors have to be oriented such that the wires directly go to the side of the board, as shown in the picture below.
While you do not need it right now, the adapter board also has a 6-pin connector for a USB-TTL-3V3 cable, which you can use to access the system console (CLI) of the BMS. The 3D printed case has a small notch on one side of the connector. The USB-TTL-3V3 cable needs to be plugged in such that the black (ground) wire is on the same side as this notch in the case. Make sure the cables are plugged in as shown in the picture below. Connect the 7-pin JST GH to the programming header of the BMS, J19.
A guide for flashing firmware to this board is outlined in one of our consolidated GitBooks for flashing a multitude of NXP hardware. The link to this GitBook is below.
Once you're done flashing your board, you may continue to the Accessories and tools for development tutorial.
The MC33772B Battery Cell Controller (BCC) comes with a SW package. This package contains embedded SDK SW driver for NXP’s Battery Cell Controller products and example projects for S32K144 MCU and S32 Design Studio for Arm Version 2018.R1. It exists in a Lite and a Full version:
The Lite version is implemented and used in the NUTT-PX4 software. It allows controlling the BCC and performing its main tasks, as: measuring Cell Terminal (CT) voltages, current, temperatures, analog inputs, etc.. It is available on
The Full version complements the Lite version by adding diagnostics and safety to it. This package can be useful for users wanting to add a safety layer on their applications. It is available under NDA on