2.3 Updating Firmware
This page shows how to find out which firmware a BMS runs, how to decide whether to update it, and how to run the update from the LiMon™ Connection screen without losing data or leaving the pack unprotected. It also says what to check afterwards and what to do when an update fails or is interrupted. Update before you set up a new pack, as 2.1 Commissioning Checklist does in its second step.
Applies to
Boards: BMS1820, BMS3610, BCU2002, BMS1601, BMS1810. LiMon™: the latest LiMon™ release.
2.3.1 How It Works
The firmware comes from the LiBat™ platform over the internet. LiMon™ asks the platform for the latest firmware for the model and hardware version of the connected BMS and compares it with the version the BMS runs. There is one latest version for each model and hardware version; you cannot choose another version or load a file of your own. The update works the same way on every board.
- During the update the BMS does not run. It does not protect the pack, and its charge and discharge paths are OFF.
- At the end the BMS starts again like at any start: it takes the zero of the current sensor, the settings of Table.2.2.1 take effect, and CRITICAL events and trip counts are cleared (5.1 Protection and Recovery).
- The settings and the event history stay. They are kept in a separate memory of the BMS that the update does not erase. LiMon™ still warns that settings may be lost, so export them first, as 2.3.3 says.
Fig.2.3.1: Updating Firmware Step by Step
The Online Firmware Update panel on the Connection screen works only when:
- the PC has an internet connection;
- LiMon™ is connected to the BMS through a port, not to Demo;
- the licence is not VIEWER. With a VIEWER licence the panel is grey and locked (3. Licencing);
- LiMon™ has read the model of the BMS. Check Firmware Online stays grey until then.
2.3.2 Checking the Firmware Version
Connect LiMon™ as described in 5. Connection. Under Device Details, Software Version is the firmware the BMS runs; Hardware Version, Serial Number and Bootloader Version are next to it. When the PC is online, LiMon™ checks the platform by itself after connecting. If a newer firmware exists, New Firmware Available! appears in green next to the title Online Firmware Update.
Press Check Firmware Online to see what the platform offers. LiMon™ shows "Checking Firmware Online" for a few seconds, then a line with the current version, for example "Current version: v2.1.4", and one of the results in Table.2.3.1. Only a successful check makes Update Firmware active.
Table.2.3.1: Results of Check Firmware Online
| LiMon™ shows | Meaning | What to do |
|---|---|---|
| Found a newer version | The platform has a newer firmware for this BMS. | Update, following 2.3.3 to 2.3.5. |
| C211 … already using the latest firmware version …, and Reinstall the latest version | The BMS runs the latest firmware. | Nothing. Reinstalling the same version is possible, for example when LiBat™ support asks for it. |
| C217 … using newer version …, and Downgrade to version | The BMS runs a newer firmware than the platform offers. | Normally nothing. Go back to the older version only when you know that it suits your system; ask LiBat™ if you are not sure. |
| C205: Please stop Log to check Firmware. | Log BMS Data is recording. | Press Stop Log, then check again. |
| C207: Please Check Your Internet Connection! | The platform cannot be reached. | Check the internet connection of the PC. |
| C208, C209 | The platform does not know this model or this hardware version. | Contact LiBat™ with the serial number and the versions. |
| C218 | The platform did not accept the licence. | Contact LiBat™. |
| C219 | Too many checks in a short time. | Wait a few minutes. |
| C210 | The check failed for another reason. | Check the internet connection and try again later. |
2.3.3 Before the Update
- Records: press Fetch Logs and take screenshots of the event history and of the Pack Status tab, as 5.4 Logs and Event History describes.
- Settings: press Read All Settings, then Export Settings, and keep the file (2.2 Managing Settings). Its name holds the old firmware version.
- No current: disconnect the load and the charger, or make sure that no current flows. The paths switch OFF during the update, and the BMS takes the zero of the current sensor when it starts again.
- Log stopped: Log BMS Data is stopped.
- Connection: the cable sits firmly, the PC runs on mains power, and it does not go to sleep during the next minutes.
The BMS does not protect the pack during the update
From the moment you confirm the update until the BMS has started again, no limit is checked and the paths are OFF. A pack that has to supply a load during this time must not be updated.
2.3.4 Running the Update
- Press Check Firmware Online and read the result (Table.2.3.1).
- Press Update Firmware. LiMon™ warns that the present firmware is erased and that settings may be lost, and asks whether to continue. If you cancel, the offer is cleared: press Check Firmware Online again to start over.
- LiMon™ shows "Downloading firmware…" while it loads the firmware from the platform. If this fails, it shows "C220: Firmware download failed. Please check your internet connection and try again." The BMS is not touched and stays connected.
- A progress window opens and shows, in turn, "Switching to DFU mode...", "Extracting file..." and "Updating Firmware..." with the progress in percent. Do not touch the cable, LiMon™ or the PC until it has finished.
- At 100 % the window shows "Update Completed Successfully." and closes by itself. LiMon™ stays connected: the Device Details show "loading..." for a moment and then the values of the BMS with its new firmware.
2.3.5 After the Update
- Version: Software Version shows the version that was offered, and New Firmware Available! is gone.
- Settings: press Read All Settings, then Import Settings with the file from 2.3.3. A field with an orange border differs from what the BMS holds now. With no orange border, the settings came through unchanged. Press Read All Settings again to show the values of the BMS, and save only if you want to restore a value from the file.
- Events: on Pack Status no new event is active. Fetch Logs shows the (32) System Initialize rows of the new start.
- Live View: the cell voltages agree with the values before the update, and the current reads 0.0 A with no current flowing (5.2 Monitoring).
- Backup: press Export Settings again. The new file name carries the new firmware version.
- Load and charger: connect them again only after these checks.
2.3.6 When the Update Fails or Is Interrupted
An update fails when the connection breaks, for example when the cable is pulled or the PC goes to sleep, or when the progress stops for a while. The progress window turns red and shows "Firmware update has failed...", and LiMon™ disconnects from the BMS.
What the BMS does next depends on the moment it stopped:
- Before the old firmware was erased: the BMS starts again with its old firmware. Connect and check the Software Version.
- After the old firmware was erased: the BMS has no firmware. It does not run, its paths stay OFF, and after a new connection LiMon™ shows Software Version 0.0.0. The settings and the event history are still in the BMS.
To recover:
- Leave the BMS powered. If it lost its supply, start it as usual.
- Check the cable and make sure that the PC stays awake.
- Select the port and press Connect.
- Press Check Firmware Online. With Software Version 0.0.0 it shows "Found a newer version".
- Press Update Firmware and follow 2.3.4, then 2.3.5.
If LiMon™ shows "C213: Firmware Update failed. Please Quit and Re-open the App.", close LiMon™, open it again and repeat the steps. If the update keeps failing, try another cable or USB port. If it still fails, contact LiBat™ with the serial number, the hardware version and the LiMon™ version.
2.3.7 Common Mistakes
- Updating with the load connected. The paths switch OFF during the update and the pack is not protected. Disconnect the load and the charger first.
- No backup before the update. The update is designed to keep the settings, but LiMon™ warns that they may be lost. Without a file, they would have to be entered again and the current sensor calibrated again.
- Pulling the cable or closing the PC during the update. The update fails, and the BMS can be left without firmware. Recover as in 2.3.6.
- Taking 0.0.0 for a broken board. A Software Version of 0.0.0 after a failed update means that the firmware is missing, not that the board is damaged. Run the update again.
- Expecting the update to reset the settings. It does not. If you want the defaults, use Default Settings (2.2 Managing Settings).
- Starting with current flowing. The BMS takes the zero of the current sensor when it starts after the update, so the current reading is shifted until the next start without current (3.6 Current Measurement).
- Downgrading without a reason. An older firmware can lack functions that your settings use. Ask LiBat™ first.