The foxBMS software has now moved to GitHub!

We publish major software releases for our open source BMS platform every 3 to 6 months and interim bug fixes when solved in the News section. By subscribing to the foxBMS Newsletter, you will be informed when the new releases are available. Further, the foxBMS Roadmap and the Documentation are also updated regularly.

Warning: The foxBMS hardware and the foxBMS software are under permanent development. The free and open research and development platform foxBMS as presented in the documentation hereafter is not provided to be used without any adaptions (e.g., to fulfill mandatory regulations) in consumer products, electric vehicles, production environments or any similar usages: it is only intended to be used by skilled professionals trained in designing battery system prototypes.

From now on and for the upcoming releases, the foxBMS software source files will be published at: for the primary MCU and for the secondary MCU.

Further, the foxConda installer for the BMS development environment containing all the necessary tools to compile and flash the C source code can be found at:

The documentation is available online at:

The current release is 0.4.3. The changelog is:
• Important: Changed contactor configuration order in the software to match the labels on the front
• Contactor 0: CONT_PLUS_MAIN
• Contactor 2: CONT_MINUS_MAIN
• Fixed a bug which could cause an unintended closing of the contactors after recovering from an error state
• Increased stack size for the engine tasks to avoid stack overflow in some specific conditions
• In CAN documentation
• Added a note in the documentation to indicate the necessity to send a periodic CAN message to the BMS
• Fixed DLC of CAN message for the current sensor measurement
• For details, see: Docs » 6. Communication via CAN
• Added checksum verification for the flashed binaries
• Activate checksum process in build process by passing “chksum” to the build process
python toolswaf-1.8.12 configure –check-c-compiler=gcc build chksum
• Define for checksum in general.h:
* enables checking of flash checksum at startup.
* @var enable flash checksum
* @level advanced
* @type select(2)
* @default 0
* @group GENERAL
• If there are problems at startup of foxBMS, try erasing the flash before flashing. If this does not solve the problem, disable the checksum verification by defining BUILD_MODULE_ENABLE_FLASHCHECKSUM to 0
• For details see the documentation:
o Docs » 5. Important Software Modules » 5.10. Checksum Module
o Docs » 8. Tools used for foxBMS » 8.1. Checksum Tool
• Updated linker script to allow integration of the checksum tool
• Activated debug without JTAG interface via USB

In case you encounter any problems, please contact us.

The Fraunhofer IISB foxBMS Team