The foxBMS Team at Fraunhofer IISB is proud to announce that the second generation of its foxBMS platform, foxBMS 2 version 1.0.0, is available!

After the great success of the first generation of foxBMS, which was the first free, open and flexible research and development environment for the design of complex Battery Management Systems (BMS), Fraunhofer IISB now publishes foxBMS 2.

foxBMS 2 master unit

Development version of the master unit for the first release of foxBMS 2

As every new generation of a products, foxBMS 2 comes also with new and exciting features. This is especially true when transitioning from generation 1 to generation 2.

Before having a closer look to the changes, we would like to emphasize the most important information first: foxBMS 2 version 1.0.0 is available and distributed under the same free and open source licensing model as foxBMS 1:

And now, let’s shed some light on foxBMS 2!

Simplicity of foxBMS 2

foxBMS is a free, open and flexible research and development environment to empower everybody to build Battery Management Systems (BMS) beyond state of the art. To live up to this promise we have drastically reduced the complexity of developing on and for the foxBMS platform.

One of the obstacles that we have identified in foxBMS 1 was the architecture around two physically separated microcontrollers (MCU). The purpose of the combination of both MCUs has been to serve as a safety net during development. In reality, this is raising the software and system complexity, thus becoming a source of human errors. Therefore, we have removed the need for a secondary MCU while at the same time streamlining our safety concept by choosing an appropriate safety-qualified MCU providing a dual-core lockstep architecture. We have revised our component selection to only use AEC-Q qualified components. These clever design choices drastically improve the safety and the versatility of the foxBMS platform, enabling it to be used in safety critical automotive, industrial, aerospace, marine and even defense applications. Read more on this exciting new change in the Safety section.

The configuration features of the software have been extended to describe battery system architectures in an even simpler and more detailed way. The list of software tools that need to be installed has grown slightly. But the improvements gained by this are superb, let’s see for example the unit testing feature. You can now unit test large parts of the software inside the IDE without having to develop every part of your next generation state-of-charge (SOC) algorithm in the time consuming code – deploy-to-hardware – debug cycle. By enabling unit tests for foxBMS you can now enjoy much shorter code – deploy-to-hardware – debug cycles. It saves you time, money and for sure some headache while developing your prototype or your product.

Safety of foxBMS 2

While foxBMS is intended as a development platform, functional safety is a concern even in early stages of developments in the lab. With the second generation of our platform we have chosen to address this issue specifically and in an innovative way, enabling it to potentially fulfill the safety requirements in multiple application domains based on a single hardware platform.

A critical step while developing the safety concept is the choice of the MCU. We have chosen the Texas Instruments TMS570LC4357 for foxBMS 2. The TMS570LC4357 is an ARM Cortex-R5F safety MCU and uses a dual-core lockstep architecture. It provides extensive diagnostic features, such as a Built-In Self-Test (BIST) logic for the CPU and an Error Correction Code (ECC) protection for the internal buses, caches, flash and SRAM memories.

Functional Safety is a process that ensures that the developed system fulfills its tasks with certainty so that neither persons nor the surroundings are harmed. This always has to be tailored to a specific use case and development cycle. Therefore, it is not possible to have a one-size-fits-all BMS that magically fulfills all possible functional safety requirements at once. However, we have done the important groundwork to enable functional safety development processes. The components have been carefully chosen for parts with known reliability and high diagnostic coverage. For all the major components we are in contact with their manufacturers in order to be able to support your development process.

With foxBMS 2 and its focus on a clean safety concept, we enable the development of safe and reliable BMS for nearly all kinds of battery systems in mobile and stationary applications!

Connectivity and Algorithm Development

One key in making high-quality battery systems is accurate battery state estimation algorithms (SOx), where x is charge, energy, power, health, life or safety and transferring this knowledge into optimized operating strategies for the specific application.

foxBMS 2 provides an interface to bring these algorithms in a simple way into your application. One of the blog entries will cover the deployment of algorithms to the application. In order to enable this, we will also extend our focus to the connectivity of the BMS.

Improved connectivity allows to grow the applications around the BMS. Internet of Things (IoT) applications allow the aggregation of battery data. This can scale from the monitoring of single battery systems to big data applications. We are working on employing advanced artificial intelligence (AI) methods for generating deep insights into the captured data. Benefits of AI can be improved state estimation of the system, more economic usage of batteries or increased confidence in the stability of a system.

Organizational Information

Of course, such big changes always come along with organizational changes. Luckily, these are simple and short for the foxBMS project.

foxBMS 2

foxBMS 1

Comparison of foxBMS 1 and foxBMS 2 Hardware Capabilities:

BMS-MasterfoxBMS 1foxBMS 2
Operating ambient temperature-40°C to +85°C-40°C to +125°C
Power Supply10V-26V6V-60V (all components rated for 12V, 24V and 48V automotive/truck/bus applications)
SBC-2x FS8530 connected over SPI to the MCU
MCU2x ST32F429 @ 180MHz1x TMS570LC4357 @ 300MHz
Single Core ARM Cortex-M4F for SIL2 / ASIL-CDual-Core ARM Cortex-R5F in Lockstep for SIL3 / ASIL-D / DAL-C (A)
Internal MCU Memory2MB Flash4MB Flash with ECC
256kB SRAM + 4kB Backup SRAM512kB SRAM with ECC
External Memory256kB EEPROM with ECC256kB FRAM over SPI with ECC
8MB SDR-SDRAM512kB MRAM over SPI with ECC
Memory Card128MB NOR Flash over SPI with ECC (ASIL-D)
Ethernet-100BASE-TX/FX with WoL and loopback
CAN2x 1Mb/s CAN 2.0B4x 1Mb/s CAN 2.0B with wake-up
LIN-1x 10.4kb/s SAE J2602 and 20kb/s, with wake-up
RS4851x RS485 Half-Duplex1x Half/Full Duplex with loopback
USB1x USB over UART for Flashing1x USB over UART only over add-on board (not directly on BMS-Master)
UART1x2x
Power Contactor Drivers9x Opto-MOS up to 6A3x Quadruple Smart High-Side Switch (MC33XS2410EL)
Analog I/O6x to 12bit SAR MCU ADC (non-isol.)1x Quadruple 24bit ADC (isolated)
1x Quadruple 16bit DAC (isolated)
Digital I/O8x Digital I/O (isolated)8x Digital I/O (isolated)
RTC1x embedded in the MCU1x with TCXO oscillator and I2C
Galvanic Isolation Monitoring1x PWM input + 1x Digital input1x PWM input + 1x Digital input
1x Supply output (12V) with ON/OFF control1x Supply output (12V) with ON/OFF control
Interlock1x 20mA current loop over both MCUs1x 20mA current loop over the MCU
Programming and DebuggingJTAG + ETM (8bit)JTAG + ETM (32bit) + RTP + DMM
Isolation560Vpeak reinforced isolation (VDE)2121Vdc reinforced isolation (VDE)

Overview of the Selected Integrated Circuits for the foxBMS 2 Master Unit

Device NameManufacturerFunctionAEC-Q100
PC33FS8530A0ESNXPSystem Basis ChipYes
MC33664ATL1EGNXPBMS-Interface ICYes
MC33771BTP1AENXPBMS-Slave ICYes
PC33XS2410ELNXPSmart High-Side Power SwitchYes
PCA9539PW/Q900,118NXPI/O Expender with I2C ControlYes
PCA2131TF/Q900NXPUltra Low Power and High Accuracy RTC with Integrated Quartz CrystalYes
TJA1042TK/3,118NXPCAN TransceiverYes
TJA1081TS,118NXPFlexRay TransceiverYes
TMS5704357BZWTQQ1 Texas InstrumentsMCU (Dual Core Lockstep ARM Cortex-R5F)Yes
DP83869HMRGZTTexas InstrumentsEthernet 100BASE-TX/FX TransceiverNo
TCAN1043HGDQ1Texas InstrumentsCAN Transceiver (58V)Yes
ISO7763FQDWRQ1Texas InstrumentsDigital Isolators (2121Vdc Working Voltage)Yes
LM5176QPWPRQ1Texas InstrumentsSwitching Buck-Boost ControllerYes
ADS131A04IPBSRTexas InstrumentsAnalog-to-Digital Converter (24bit)No
DAC8775IRWFTTexas InstrumentsDigital-to-Analog Converter (16bit Voltage & Current)No
LTC2870HUFD#PBFAnalog DevicesRS232 & RS485 Full/Half-Duplex TransceiverNo
ADR4525WBRZAnalog DevicesVoltage Reference 2.500VYes
ADR4540BRZAnalog DevicesVoltage Reference 4.096VNo
ADR4550BRZAnalog DevicesVoltage Reference 5.000VNo
CY15B102QN-50SXECypress Semiconductor CorpFRAM over SPI (2Mb)Yes
S25HL01GTCypress Semiconductor CorpSamper Flash Memory over QSPI (1Gb)Yes
MR25H40MDFEverspin Technologies Inc.MRAM over SPI (4Mb)Yes
MAX13021ASA/V+TMaxim IntegratedLIN TransceiverYes
MAX16998DAUA/V+Maxim IntegratedWindowed Watchdog and Reset CircuitYes
SHT35-DIS-F2.5kSSensirion AGHumidity Sensor over I2CYes
SIT8924BM-31-XXX-000.FP0000GSiTIMEMEMS OscillatorYes

What’s Next?

We plan to publish new blog entries about foxBMS 2 in the next time in order to introduce the improvements foxBMS 2 has made in detail, tips and tricks for working with the new platform and more generally, the joy of developing battery related software using foxBMS 2 for a better, more sustainable and battery powered future!

For more information or if you are looking for professional support in your battery projects, please do not hesitate to contact us.

The Fraunhofer IISB foxBMS Team