├── .gitignore ├── BMS-Extension ├── foxBMS_BMS-Extension.brd ├── foxBMS_BMS-Extension.pdf ├── foxBMS_BMS-Extension.sch └── foxBMS_BMS-Extension_BOM.xlsx ├── BMS-Interface ├── foxBMS_BMS-Interface.brd ├── foxBMS_BMS-Interface.pdf ├── foxBMS_BMS-Interface.sch └── foxBMS_BMS-Interface_BOM.xlsx ├── BMS-Master ├── foxBMS_BMS-Master.brd ├── foxBMS_BMS-Master.pdf ├── foxBMS_BMS-Master.sch └── foxBMS_BMS-Master_BOM.xlsx ├── BMS-Slave ├── foxBMS_BMS-Slave_12cell.brd ├── foxBMS_BMS-Slave_12cell.pdf ├── foxBMS_BMS-Slave_12cell.sch └── foxBMS_BMS-Slave_12cell_BOM.xlsx ├── CHANGELOG.md ├── LICENSE.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | DESCRIPTION 2 | eagle.epf 3 | *.b#* 4 | *.s#* 5 | *.l#* -------------------------------------------------------------------------------- /BMS-Extension/foxBMS_BMS-Extension.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/foxBMS/foxBMS-hardware/190b2dd54bf8e9d83080b02cd4f05b4f4bcb2e71/BMS-Extension/foxBMS_BMS-Extension.pdf -------------------------------------------------------------------------------- /BMS-Extension/foxBMS_BMS-Extension_BOM.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/foxBMS/foxBMS-hardware/190b2dd54bf8e9d83080b02cd4f05b4f4bcb2e71/BMS-Extension/foxBMS_BMS-Extension_BOM.xlsx -------------------------------------------------------------------------------- /BMS-Interface/foxBMS_BMS-Interface.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/foxBMS/foxBMS-hardware/190b2dd54bf8e9d83080b02cd4f05b4f4bcb2e71/BMS-Interface/foxBMS_BMS-Interface.pdf -------------------------------------------------------------------------------- /BMS-Interface/foxBMS_BMS-Interface_BOM.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/foxBMS/foxBMS-hardware/190b2dd54bf8e9d83080b02cd4f05b4f4bcb2e71/BMS-Interface/foxBMS_BMS-Interface_BOM.xlsx -------------------------------------------------------------------------------- /BMS-Master/foxBMS_BMS-Master.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/foxBMS/foxBMS-hardware/190b2dd54bf8e9d83080b02cd4f05b4f4bcb2e71/BMS-Master/foxBMS_BMS-Master.pdf -------------------------------------------------------------------------------- /BMS-Master/foxBMS_BMS-Master_BOM.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/foxBMS/foxBMS-hardware/190b2dd54bf8e9d83080b02cd4f05b4f4bcb2e71/BMS-Master/foxBMS_BMS-Master_BOM.xlsx -------------------------------------------------------------------------------- /BMS-Slave/foxBMS_BMS-Slave_12cell.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/foxBMS/foxBMS-hardware/190b2dd54bf8e9d83080b02cd4f05b4f4bcb2e71/BMS-Slave/foxBMS_BMS-Slave_12cell.pdf -------------------------------------------------------------------------------- /BMS-Slave/foxBMS_BMS-Slave_12cell_BOM.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/foxBMS/foxBMS-hardware/190b2dd54bf8e9d83080b02cd4f05b4f4bcb2e71/BMS-Slave/foxBMS_BMS-Slave_12cell_BOM.xlsx -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # foxBMS Change Log -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # foxBMS Hardware and Documentation License 2 | 3 | Copyright (c) 2010-2017, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. 4 | All rights reserved. 5 | 6 | This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. 7 | 8 | We kindly request you to use one or more of the following phrases to refer to foxBMS in your hardware, software, documentation or advertising materials: 9 | 10 | * "This product uses parts of foxBMS" 11 | * "This product includes parts of foxBMS" 12 | * "This product is derived from foxBMS" 13 | 14 | If you use foxBMS in your products, we encourage you to contact us at: 15 | 16 | CONTACT INFORMATION 17 | Fraunhofer IISB 18 | Schottkystrasse 10 19 | 91058 Erlangen, Germany 20 | info@foxbms.org 21 | www.foxbms.org 22 | 23 | # foxBMS Software License 24 | 25 | Copyright (c) 2010-2017, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. 26 | All rights reserved. 27 | 28 | **BSD 3-Clause License** 29 | 30 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 31 | 32 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 33 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 34 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 35 | 36 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | 38 | We kindly request you to use one or more of the following phrases to refer to foxBMS in your hardware, software, documentation or advertising materials: 39 | 40 | * "This product uses parts of foxBMS" 41 | * "This product includes parts of foxBMS" 42 | * "This product is derived from foxBMS" 43 | 44 | If you use foxBMS in your products, we encourage you to contact us at: 45 | 46 | CONTACT INFORMATION 47 | Fraunhofer IISB 48 | Schottkystrasse 10 49 | 91058 Erlangen, Germany 50 | info@foxbms.org 51 | www.foxbms.org 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # foxBMS 2 | 3 | foxBMS is a free, open and flexible development environment to design battery 4 | management systems. It is the first modular open source BMS development 5 | platform. 6 | 7 | ## foxBMS Project Setup 8 | The foxBMS project consists of several repositories. 9 | 10 | The foxConda-installer repository contains the installer for the foxConda 11 | environment. This environment provides all the tools necessary to generate the 12 | documentation, compile the code for the MCUs and flash the generated binaries on 13 | the MCUs (e.g., Python, git, GCC). 14 | 15 | The starting point to get foxBMS is the foxBMS-setup 16 | repository (https://github.com/foxBMS/foxBMS-setup), which contains 17 | the general setup files for the foxBMS project. It includes a setup script 18 | (bootstrap.py) which clones all the other needed repositories. The needed 19 | documentation will be generated automatically after these repositories have been 20 | cloned. The generated documentation is found in the directory ./build. 21 | After the bootstrap step, the top project directory (foxBMS-setup) structure 22 | looks like this: 23 | 24 | - foxBMS-setup 25 | - .git * 26 | - build 27 | - foxBMS-documentation 28 | - foxBMS-hardware 29 | - foxBMS-primary 30 | - foxBMS-secondary 31 | - foxBMS-tools 32 | - FreeRTOS 33 | - hal 34 | - .gitignore * 35 | - bootstrap.py 36 | - build.py 37 | - CHANGELOG.md 38 | - clean.py 39 | - LICENSE.md 40 | - README.md 41 | - wscript 42 | 43 | * Directories and files with starting full stop are hidden in Windows in default 44 | configuration. 45 | 46 | There is a help available by running "python bootstrap.py -h". 47 | 48 | ## foxBMS Repositories 49 | 50 | The foxConda-installer and foxBMS-setup repositories have already been described. 51 | 52 | foxBMS is made out of two Microcontroller Units (MCU), named primary and 53 | secondary. The C code for the primary MCU is found in the repository 54 | foxBMS-primary (https://github.com/foxBMS/foxBMS-primary). The C code for the 55 | secondary MCU is found in the repository foxBMS-secondary 56 | (https://github.com/foxBMS/foxBMS-secondary). The Doxygen documentation is 57 | generated from these sources into ./build/primary/doxygen/html and 58 | ./build/secondary/doxygen/html respectively. The main file is in both cases 59 | index.html. 60 | 61 | The layout and schematic files for the foxBMS hardware are found in the 62 | foxBMS-hardware repository (https://github.com/foxBMS/foxBMS-hardware). 63 | 64 | The Hardware Abstraction Layer (hal) for foxBMS is found in the hal-repository 65 | (https://github.com/foxBMS/hal.) The real time operating system (FreeRTOS) for 66 | foxBMS is found in the FreeRTOS-repository (https://github.com/foxBMS/FreeRTOS.) 67 | 68 | The tools needed for foxBMS are in the foxBMS-tools-repository 69 | (https://github.com/foxBMS/foxBMS-tools.) 70 | 71 | The general documentation files for the foxBMS project are found in the 72 | foxBMS-documentation repository 73 | (https://github.com/foxBMS/foxBMS-documentation). The sphinx documentation is 74 | found in foxBMS-documentation/doc/sphinx while the Doxygen documentation 75 | configuration is found in foxBMS-documentation/doc/doxygen. The Doxygen 76 | documentation itself is found in the software sources of the primary and 77 | secondary microcontroller. The general documentation, rendered from the sphinx 78 | sources is found in ./build/sphinx/foxBMS-documentation/doc/sphinx/html. The 79 | main file is index.html 80 | 81 | A generated version of the Sphinx documentation can be found at 82 | http://foxbms.readthedocs.io/. It explains the structure of the 83 | foxBMS hardware, how to install the foxConda environment and how to use foxConda 84 | to compile and flash the sources. 85 | 86 | ## Building the Sources 87 | For building the software, open a shell and type "python build.py -h". All 88 | available build options will be displayed. The top build directory is ./build. 89 | 90 | ## Cleaning the ./build-Directory 91 | For cleaning instructions open a shell and type "python clean.py -h". All 92 | available cleaning options will be displayed. --------------------------------------------------------------------------------