Skip to content
Diagnostic guide · GivEnergy battery

GivEnergy SOC bug — battery percentage dropping, jumping, or stuck

Your GivEnergy battery percentage suddenly drops from 70% to 10%, jumps in steps instead of changing smoothly, or gets stuck at a number that clearly isn't right. This is a well-documented BMS calibration issue that GivEnergy has addressed across multiple firmware versions: from BMS 3007 through to 3022 on Gen 1 and Gen 2 batteries, and across the 4000 series on Gen 3. This guide covers every symptom, which firmware you should be on, and how to recalibrate.
Free remote diagnostic £125 only if we fix it remotely
  • All battery generations — Gen 1, Gen 2, Gen 3, AIO
  • No fix, no fee
  • Not affiliated with GivEnergy
SOC readings you can't trust?

Tell us the symptom, your BMS firmware version, and how long it has been happening. We review portal data remotely — battery graph, firmware history, and cell-level health — to determine whether the fix is a calibration cycle, a firmware update, or a hardware issue.

Book your free remote diagnosticGivEnergy hub

Independent — not affiliated with GivEnergy Ltd.

Ronald was fantastic he was insistent in his approach to fixing my battery comms, inverter data corruption, he was fantastic explaining every step of the way, my installer couldn't fix the problem for a year, he did it in z few hours. If you need tech support go here he is fantastic

Richard Rodgers · Aug 2026 Trustpilot

Ron is one of those rare finds - an engineer's engineer. He insightfully and accurately diagnosed the problems with our GivEnergy system, very quickly, which helped get us back on track. We will be using him again!

Geoff Palmer · Sep 2026 Google

What an amazing service. They got my solar inverter back up and running after a firmware update went wrong. It is a breath of fresh air to deal with such a professional company.

Richard Street · Sep 2026 Google

Ron has come to our rescue once again! After sorting out our GivEnergy battery issue, he was on hand to help us find a solution to data logging issues caused during install of an additional inverter. He's helpful, patient and extremely knowledgeable. Utterly brilliant service. Thank you again!

Edward Johnson · Aug 2026 Google

The Solar Tech Support company was the only one to respond to a request for someone to supply and fit a new inverter for our solar panels after our old one finally expired after 26 years. Ron kept us well informed throughout, came and ascertained that the issue was down to the inverter having failed then sourced and fitted a new one. He got the system up and running again, set up the wi-fi performance feedback and took away the old inverter for disposal. By acting promptly and fitting the job around existing commitments we were able to get our solar power unit back in operation with minimal delay in the short while before we were due to go away for a week. The work was carried out very professionally and we were asked to confirm that all was in order the following day. I was impressed that, having recently taken on additional work for GivEnergy customers we were able to keep our solar panel down-time to a minimum. I would highly recommend for prompt attention and first-rate service.

James Dignan · Aug 2026 Trustpilot

Ron is incredibly knowledgeable about solar installs in general but knows givenergy products inside out and the key personnel that worked there from the start to the end. My problem was spurious in its nature but Ron spotted it straight away when he understood the installation details. In essence the installers didn’t fit the correct trip switch. He also gave me hope that in the future hardware repairs could be possible but it’s still early days. This guy really is in the know and keen to sucas a business If you need help don’t hesitate

Geoffrey Heathcote · Jun 2026 Google

Last updated

Before you start: log into givenergy.cloud and go to My Inverter → Software. Write down your current BMS firmware version — every step below depends on knowing which version you are on. Also check the battery graph for the last 7 days so you can describe the pattern (sudden drops, steps, flatline, or divergence between batteries). The portal and its history graphs are part of GivEnergy's Premium plan. The free GivEnergy app shows the live charge level but not the history, so without Premium, note down what you see over a few days instead.
Diagnosis

Step-by-step SOC bug diagnosis

Work through these steps in order. Step 1 identifies the symptom pattern. Steps 2–3 fix the majority of cases. Steps 4–5 cover hardware and firmware causes. Step 6 prevents recurrence.

1
Identify which SOC symptom you have

The bug presents differently depending on firmware and battery generation. The main patterns are: sudden large drops (SOC falls 30–50% in under an hour despite low house load — the most common symptom), SOC stuck at a fixed percentage that does not change regardless of charge or discharge, stepping (SOC jumps in discrete blocks instead of changing gradually — vertical lines on the graph), multi-battery divergence (two batteries showing significantly different percentages), or false 100% (battery reports full but clearly is not). Open the portal and check the battery graph for the last 7 days — the shape of the fault tells you what is happening.

2
Check your current BMS firmware version

In givenergy.cloud, go to My Inverter → Software. The BMS version is the critical number. The key milestones: BMS 3007 (April 2022) was the first release aimed at SOC jumps. BMS 3012 (May 2023) added temperature-adjusted calibration and open-circuit voltage (OCV) offset correction. BMS 3013 (July 2023) widened the SOC calibration range from 50% to 80%. BMS 3017 (May 2024) changed the speed of dynamic SOC calibration and added compensation for a 30 mA standing current loss that let the SOC drift during long idle periods. BMS 3020 (March 2025) was the next public release. BMS 3022 (June 2025) fixed the SOC sticking at 100% after a minor over-voltage alarm. We recommend 3022 for every Gen 1 and Gen 2 battery, and the update matters most on anything older than 3017, the main SOC accuracy update. Gen 3 batteries run a separate 4000-series line, where BMS 4009 (January 2025) is the version we recommend. In our experience 3022 and 4009 are both very good at keeping packs balanced. Every version GivEnergy has logged, for both lines, is listed further down this page.

3
Run a full calibration cycle

A calibration cycle gives the BMS two known reference points to correct its estimate. Let the battery run down to 4% under normal house load. A Timed Discharge window with a 4% target does this, but it follows the house load, so the battery only empties as fast as the home uses power. Once it reaches 4%, charge it to 100%, from solar the next day or with a Timed Charge window overnight, leaving Eco mode on. For multi-battery systems, both batteries must reach 4% at the same time so the BMS modules can resynchronise. One cycle fixes mild drift. If the SOC has been significantly wrong for weeks, repeat the cycle. Best practice: run a proactive calibration once a month to prevent drift accumulating.

4
Check for loose battery connections

This is an under-reported cause. Some GivEnergy battery packs have been found with internal connectors that were not fully tightened during manufacturing — loose by two to three turns. A loose connection causes intermittent voltage measurement errors that the BMS reads as sudden capacity changes. If you can safely access the battery, check that all external cable connections to the terminals are firm. Internal connectors require an engineer. If tightening a loose connection resolves the SOC jumps immediately, the BMS logic was not faulty — it was receiving bad voltage data from the start. This fix is permanent and does not require ongoing calibration cycles.

5
Ask us about BMS firmware if you are on an older version

On a Gen 1 or Gen 2 battery, if your BMS is below 3017, an update may significantly improve SOC accuracy. The GivEnergy portal and app do offer updates, but we do not advise running them. We update firmware manually, to our own written procedures, with the right file for your inverter and battery: on a callout, or by talking you or your electrician through it remotely. Contact us if you think yours needs one. Firmware updates frequently reset settings such as the system mode, charge/discharge window times, SOC targets, export limit and CT clamp direction to defaults, so we record them first and put back anything that changed. After the update, the SOC reading may drop sharply — even to 0%. GivEnergy has confirmed this is expected behaviour when updating from pre-3012 firmware: the new logic recalculates the true SOC, which can look alarming but should correct within 24 hours. On a Gen 1 or Gen 2 battery, BMS 3022 is the version we recommend; on a Gen 3 battery it is 4009. All-in-One batteries run their own firmware line. Run a full calibration cycle on all batteries once the update is done.

6
Monitor for recurrence and prevent future drift

After calibration, watch the portal graph for two weeks. If the SOC moves smoothly and the daily totals match your expectations, the calibration has worked. To prevent the bug returning, avoid leaving the battery in a narrow charge band for extended periods — batteries that rarely discharge below 50% lose calibration accuracy because the BMS has no low-end reference point. A monthly full calibration cycle is the most reliable preventive measure. If the SOC bug returns within days of a successful calibration, the issue is likely hardware — a degraded cell, a failing BMS module, or a loose internal connection. Contact STS for a remote diagnostic — we review your portal data, firmware version, and cell-level health to determine whether the fix is software or whether the battery needs a site visit.

BMS firmware and the SOC bug — what changed at each version

GivEnergy has improved SOC accuracy step by step across many BMS firmware versions. No single version removes the problem, because LiFePO4 chemistry makes the charge level hard to estimate, but taken together the updates have narrowed the margin of error.

GivEnergy's low-voltage Gen 1 and Gen 2 battery packs run one BMS firmware line (the 3000 series). Gen 3 packs run a separate line (the 4000 series), so the two sets of numbers cannot be compared: a higher number does not mean a newer version. Both lines are listed below, and we have put each change GivEnergy logged into plain English. The All-in-One batteries run a third line (BAAA and BADA numbers), which this page does not cover.

OCV in these notes means open-circuit voltage: the cells' voltage at rest, which the BMS checks against a table to correct its SOC estimate.

Which version is your battery on?

Find the BMS number under My Inverter, then Software, in givenergy.cloud. Gen 1 and Gen 2 batteries run the 3000 series (with some early 1000-series numbers); Gen 3 batteries run the 4000 series.

Below 3002

The earliest versions, from 2021 and before. GivEnergy's notes say the battery balancing function was only switched on in 3002, so a battery still on one of these is well overdue an update to 3022.

3002 to 3007

Balancing switched on (3002, October 2021) and strengthened (3005), then the first fix aimed at SOC jumps (3007, April 2022).

3012 to 3015

The calibration overhaul (3012, May 2023) and its follow-ups. 3013 could set the SOC to 0% when the parallel function failed or raised an alarm; 3014 fixed that, and GivEnergy marked 3015 (October 2023) as final.

3017

Widely considered the main SOC accuracy update (May 2024), and the first version GivEnergy labelled BMS 2.0.

3020

The public release of March 2025, and the first general release after 3017.

3022

June 2025: the newest version on GivEnergy's log for Gen 1 and Gen 2 batteries, and the one we recommend.

3016, 3018, 3019, 3021

Builds GivEnergy marked as not issued (3016), internal only (3018), beta and internal (3019) or internal testing (3021). Their changes are listed below, but they were not general releases.

3086 to 3099

Beta builds of 3014. A number in this range is not newer than 3022.

4001 on a Gen 1 or Gen 2 pack

Not on GivEnergy's Gen 1 and Gen 2 log, which ends at 3022. On GivEnergy's separate Gen 3 log, 4001 is the earliest numbered build (listed with 4002) and predates 3022, so on these packs the higher number does not mean a newer version. See why some GivEnergy batteries are limited to 80%.

Gen 3: 4001 to 4008

Older Gen 3 builds, up to October 2024. We recommend 4009.

Gen 3: 4009

January 2025, and the Gen 3 version we recommend. In our experience it is very good at keeping packs balanced.

Gen 3: 4010 and 4011

September and December 2025. GivEnergy labelled 4010 its release build and 4011 a pre-release. 4010 fixed the SOC sticking at 100% on systems that mix Gen 3 and Gen 2 batteries.

Gen 1 and Gen 2 batteries: every version on GivEnergy's logs, newest first

  1. BMS 3022

    13 June 2025 Latest

    The newest version on GivEnergy's log for Gen 1 and Gen 2 batteries, and the one we recommend. GivEnergy listed it as a pre-release. Run a full calibration cycle on every battery after updating.

    • Fixes the SOC staying stuck at 100% after a minor over-voltage alarm.
    • Changes when balancing starts: passive balancing stays off while the BMS has a cell detection fault.
  2. BMS 3021

    25 April 2025 Internal testing

    A test build GivEnergy kept in-house.

    • Adds what GivEnergy calls AI heating processes.
    • Improves how data is handled during a reset and at start-up.
    • Improves the self-calibration logic.
    • Fixes current being held back when 9.5 kWh and 2.6 kWh batteries are used together in cold weather.
  3. BMS 3020

    5 March 2025 Public release

    The first general release after 3017.

    • Fixes a rare fault where the full-capacity figure reset to zero after the battery restarted.
    • Improves the detection of abnormal internal resistance, and fixes an error in the dynamic self-calibration at the low end.
    • Fixes top-end calibration above 80%, where the OCV logic was wrongly pulling the SOC down.
    • New cell maps let the battery take higher charge currents at lower temperatures.
    • Fixes the short-circuit detection that, on rare occasions, raised a false BMS short-circuit error at restart.
    • Updates the pre-charge behaviour to go with the short-circuit changes.
  4. BMS 3019

    3 January 2025 Beta and internal

    A beta that changed the temperature-based charge rates and added cold-weather hibernation.

    • Improves shutdown and start-up, fixing a rare case of the battery going into hibernation on reboot.
    • Adds hibernation below 0°C when the SOC is very low, so the battery does not discharge itself. It can wake to charge once it reaches 1°C.
    • Optimises internal floating-point calculations.
    • Changes the charge rate by temperature: full rate above 10°C, two-thirds rate below 10°C, and no charging at 0°C or below.
    • Improves the SOC display.
    • Improves performance with batteries in parallel.
    • Adds internal resistance checks.
  5. BMS 3018

    29 September 2024 Internal only

    An internal build, and the first to keep charging when the SOC reads 99% but the cells are not yet full.

    • Balances the cells better by allowing for voltage lost in the cables (line losses) while charging and discharging.
    • New rules for when a cell over-voltage or under-voltage alarm triggers protection, and for when the battery recovers from it.
    • Adds a mandatory charge register: while the SOC is not full, the BMS instructs the inverter to keep charging.
    • Better top-end calibration: when the SOC shows 99% but the cells still have room, charging carries on at a reduced rate (1/3C).
    • Samples cell voltages more accurately.
    • Adds current limits for that continued charging, in line with the top-end calibration.
    • Adjusts current limits better for changes in temperature.
    • An overcurrent now makes the BMS restart rather than shut down.
    • Adds more checks to make parallel battery connection more tolerant.
    • Changes OCV behaviour: the SOC moves at a speed set by the current, and the dynamic OCV tables are updated.
    • General charging improvements.
    • Improves shutdown detection.
    • Further parallel improvements.
  6. BMS 3017

    28 May 2024 BMS 2.0

    Widely considered the most significant SOC improvement, and the first version GivEnergy labelled BMS 2.0 (every later version carries the same label). It also made mixed Gen 1 and Gen 3 stacks possible.

    • Fixes restricted current when 9.5 kWh and 2.6 kWh batteries are mixed.
    • Allows Gen 3 and Gen 1 batteries to be mixed in any master and slave combination.
    • Changes the speed of dynamic SOC calibration.
    • Compensates for a 30 mA standing current loss, so the SOC stays more accurate through long idle periods.
    • Adds a firmware lock so each battery generation only accepts firmware meant for it, while still allowing firmware to load on a mixed-generation system.
    • Fixes a fault that limited the voltage difference allowed between batteries to 0.5 V.
  7. BMS 3016

    25 April 2024 Not issued

    GivEnergy marked this build as never issued.

    • Moves logic from BMS3, the Gen 3 battery BMS, over to this BMS2 line.
    • Adds dynamic SOC calibration.
    • Changes the SOC follow-up calibration method.
  8. BMS 3015

    27 October 2023 Final

    Two stability fixes.

    • Fixes charge and discharge current falling to zero when parallel operation fails with a battery out of specification.
    • Fixes a buffer overflow that could crash the BMS.
  9. BMS 3014

    No date given Beta

    A beta whose test builds GivEnergy numbered from 3099 down to 3086. Voltage alarms can now clear themselves, and a failure or alarm in the parallel function no longer sets the SOC to 0%.

    • Over-voltage and under-voltage alarms can both recover on their own.
    • Adds an over-voltage recovery routine: a battery that reaches its protection level discharges back down to the alarm threshold.
    • Adds charge and discharge routines the BMS runs itself, without the inverter, to help with those two recoveries.
    • Raises the allowed voltage difference between batteries to 2 V, with an option to disconnect slave packs that are out of specification.
    • Stops the SOC being set to 0% when the parallel function fails or alarms, which GivEnergy says happened on 3013.
    • Waits 10 seconds after start-up before sending data to the inverter.
    • Corrects the current calibration, improving SOC tracking on version 1 BMS boards.
    • Raises the internal SOC resolution, so the display skips fewer percentage values.
    • During a calibration cycle, resets the SOC to 100% when one cell reaches 3.6 V or two cells reach 3.55 V.
    • Fixes the handling of an internal interrupt (INT10) that could crash the BMS if it stayed active.
    • Shuts the battery down after an hour of under-voltage if it has not recovered by itself, to stop it losing more energy. Self-recovery depends on the inverter firmware, so GivEnergy advises the newest; activating the battery forces a recovery.
  10. BMS 3013

    3 July 2023

    A wider calibration window and fewer conditions on parallel batteries.

    • Removes the backup upgrade file as part of a BMS update.
    • Fixes the BMS hanging on reboot.
    • Drops the 20% SOC condition for running batteries in parallel. The 0.5 V voltage tolerance stays, up to a maximum of 1 V.
    • Widens the SOC calibration range from 50% to 80%.
    • Known issue: GivEnergy's 3014 notes say 3013 could set the SOC to 0% when the parallel function failed or alarmed.
  11. BMS 3012

    4 May 2023 (5 May in GivEnergy's older article) Final beta

    The calibration overhaul: full-charge calibration that depends on temperature, look-up tables that allow for ageing, and new current measurement.

    • Changes the OCV offset used while charging and discharging.
    • Fixes capacity issues on 8.2 kWh and 9.5 kWh batteries.
    • Adds zero-offset current calibration at rest, in both the BMS processor and its analogue front end (the chip that measures the cells).
    • Uses the front end's converted current reading to count amp-hours in and out.
    • Sets the pack over-voltage alarm at 57 V, with current limiting.
    • Updates the look-up table for discharge calibration at rest as the battery ages and loses capacity, because older batteries were raising alarms during calibration.
    • Sets the pack under-voltage threshold at 46 V, where the battery goes idle.
    • Above 56 V, limits charge current to 0.1C while calibration continues upwards. The BMS calibrates to 90% below 20°C and to 95% when warmer, with thresholds set for under 20°C and over 25°C, because a warm battery holds more energy.
    • Changes the discharge limit to 2,810 mV per cell and cuts the load to 0.01C there. It recovers after an hour, or once the cells charge back above 3,200 mV.
    • Moves OCV calibration to below 50% SOC, and lets the look-up value be calibrated below 20%.
    • Allows calibration to continue after the last one while current is below 0.8 A. OCV calibration at idle no longer waits for a 24-hour timer and can happen at any time.
    • Discharge calibration uses the look-up table to correct the offset; charge calibration uses it to correct the difference from the discharge table, plus 15 mV.
    • Lets OCV calibration run again above 20% if the previous attempt failed (the inverter's OCV flag was not set).
    • Uses the default cell map (GivEnergy calls it the Penghui MAP table) for an OCV calibration that is in progress while the battery charges or discharges.
  12. BMS 3007

    7 April 2022

    The first release aimed at SOC jumps.

    • Reduces the rare cases where the battery percentage jumped.
    • Fixes some cell-level monitoring data being shown wrongly.
    • Improves balancing for two battery packs on a single inverter.
  13. BMS 3005

    8 December 2021

    Stronger balancing.

    • More balancing by the BMS chip when cell voltages differ by more than 200 mV during operation.
    • Better balancing between multiple battery packs.
  14. BMS 3002

    15 October 2021

    Cell balancing switched on.

    • Raises the pack low-voltage alarm from 41.6 V to 45 V and lowers the high-voltage alarm from 58.4 V to 57.5 V.
    • Turns on the battery balancing function.
  15. BMS 1041

    9 September 2021

    New cell voltage limits and a faster response.

    • High-voltage alarm when two cells reach 3.65 V or one reaches 3.7 V; protection when two reach 3.7 V or one reaches 3.75 V.
    • Low-voltage alarm when two cells fall to 2.6 V or one to 2.4 V; protection when two fall to 2.3 V or one to 2.0 V.
    • Cuts the time before an under-voltage or over-voltage response from 15 seconds to 3 seconds.
  16. BMS 3001

    9 March 2021

    A faster voltage response and better support for five batteries in parallel.

    • Sets the time before an under-voltage or over-voltage response to 1 second.
    • Improves operation with five batteries in parallel.
  17. BMS 1039

    9 March 2021

    Cell-level alarm and protection limits.

    • Over-voltage alarm when two cells reach 3.65 V or one reaches 3.9 V; under-voltage alarm when two cells fall to 2.6 V or one to 2.3 V.
    • Over-voltage protection when two cells reach 3.75 V or one reaches 4.0 V; under-voltage protection when two cells fall to 2.3 V or one to 2.0 V.
    • If two neighbouring cells differ by 800 mV, no alarm is raised and no full-charge capacity is recorded. The SOC holds where it is, and charging and discharging resume once that voltage difference clears.
  18. BMS 1037

    20 January 2021

    Housekeeping and remote restart.

    • Revises the version numbering.
    • Adds a check for a flag on a USB stick.
    • Adds remote restart of the battery.
  19. BMS 1036

    No date given

    The earliest version on GivEnergy's log.

    • Raises the cell over-voltage alarm from 3.6 V to 3.65 V.
    • Changes the time before an under-voltage or over-voltage response from 1 second to 15 seconds.
    • Improves the 80% depth-of-discharge calculation, which before this only released 78% (why some GivEnergy batteries are limited to 80%).
    • Clears a low-voltage flag if no over-voltage event happens within four days.

Version numbers are not strictly in date order. In 2021 two series ran side by side (1037 to 1041, and 3001 to 3002), and the 3014 beta builds were numbered 3086 to 3099. From October 2021 onwards every release is in the 3000 series. Numbers missing from this list, such as 3008 to 3011, do not appear in either of GivEnergy's logs.

Gen 3 batteries: every version on GivEnergy's Gen 3 log, newest first

  1. BMS 4011

    18 December 2025 Pre-release

    The newest version on GivEnergy's Gen 3 log. GivEnergy listed it as a pre-release.

    • Fixes the SOC stalling during calibration.
    • Fixes SOC problems when the battery is first powered on.
    • Adjusts the cell over-voltage alarms so they trigger falsely less often.
    • Improves the internal resistance check.
    • Improves pre-charge when several batteries are connected.
    • Improves CAN communication between multiple batteries, and fixes CAN communication faults and random false short-circuit alarms on multi-battery systems when force activation is used.
    • Changes the external communication protocol, including its charge and discharge logic.
  2. BMS 4010

    16 September 2025 Release

    GivEnergy's release build for Gen 3 batteries. It fixed the SOC sticking at 100% on systems that mix Gen 3 and Gen 2 batteries.

    • Fixes the SOC locking at 100% when Gen 3 batteries are mixed with Gen 2 batteries.
    • Fixes an occasional BMS freeze caused by running short of memory.
    • Adds support for the BMS 3.5 hardware, including firmware updates on it, and for more types of the chip that measures the cells.
    • Improves the current calibration.
    • Improves solar charging at low SOC while the system is in island mode (running without the grid).
    • Adds communication protocols and BMS tool functions for a project GivEnergy calls POL.
    • Australian market only: lets the 9.5 kWh Gen 3 charge at up to 120 A between 20°C and 30°C, and improves its CAN data.
  3. BMS 4009

    21 January 2025 Previous

    The Gen 3 version we recommend. In our experience it is very good at keeping packs balanced. GivEnergy's release labels in 2026 showed it as the previous version, behind 4010.

    • Adds a charge calibration routine that runs when needed, so the battery reaches a true full charge.
    • Saves the SOC when the battery powers down.
    • Improves cell voltage accuracy.
    • Improves parallel battery operation, and allows a larger difference between packs before they connect in parallel.
    • Fixes cells 13 to 16 shutting down abnormally during passive balancing.
    • Adds a check of the battery's internal resistance (DCR).
    • Allows a higher charge current down to 10°C before the charge rate is cut back.
    • Adds hibernation below 0°C when the battery is flat and not charging, so it does not discharge itself.
    • Improves how the battery's MOSFETs operate, and how the battery wakes up.
    • Adds factory functions: an end-of-life shutdown command and production test support.
  4. BMS 4008

    19 October 2024

    Communication and parallel fixes, including for systems that mix Gen 1 or Gen 2 batteries with Gen 3.

    • Fixes the inverter reporting BAT OPEN during CAN communication.
    • Improves how the charge current limit recovers.
    • Improves the alarm status.
    • Improves CAN communication between parallel batteries on systems that mix Gen 1 or Gen 2 with Gen 3.
    • Adds circuit breaker detection.
    • Makes firmware updates over CAN more robust, to prevent data loss, overflows and crashes.
    • Improves the parallel current limit and how the SOC is shown for parallel batteries.
  5. BMS 4007

    28 May 2024

    Faster calibration, a fix for SOC drift through long idle periods, and protection against loading the wrong generation's firmware. It came out the same day as 3017 on Gen 1 and Gen 2, which also added the 30 mA compensation.

    • Improves calibration speed and compensates for a 30 mA standing current loss.
    • Adds a yellow-light alarm when communication fails between the master battery and the inverter, or between a slave battery and the master.
    • Asks for one unified current when the parallel current is below the maximum.
    • Adds protection against loading the wrong firmware on systems that mix Gen 1 and Gen 3 batteries.
    • Recognises POLAR brand models.
  6. BMS 4006

    No date given Internal release

    An internal build that brought the Gen 3 SOC calibration in line with the Gen 1 and Gen 2 BMS.

    • Changes the SOC calibration method to match BMS 2.0, the Gen 1 and Gen 2 firmware.
    • Improves reconnection when running off-grid at low SOC.
    • Stops over-current and short-circuit events clearing the pre-charge flag during parallel operation.
    • Makes remote updates more reliable and improves USB drive recognition.
    • Adds a function code for what GivEnergy calls beast mode on the 9.5 kWh Gen 3.
  7. BMS 4005

    No date given Internal release

    An internal build that reworked SOC calibration.

    • Improves static OCV calibration and cuts repeated calibration at small currents.
    • Adds static calibration at the end of charging, and dynamic SOC calibration.
    • Improves full-charge and design capacity handling for 9.5 kWh batteries.
    • Adds automatic detection of mixed CAN and RS-485 use.
    • Adds a power-limit map (SOP-MAP) function code.
    • Turns off the discharge MOSFET below 4% SOC when there is a low-temperature fault.
    • Fixes the battery not charging when it is activated at a very low voltage.
    • Stops a real-time clock error from updating the system time.
    • Changes from a software review.
  8. BMS 4004

    26 January 2024 Factory release

    The first dated Gen 3 build. GivEnergy's older knowledge base article called it the factory release.

    • Updates the real-time clock and adds clock settings for slave batteries over RS-485.
    • Adjusts the temperature protection thresholds and the temperature sensor (NTC) fault limits.
    • Adds black-box fault storage, which can be exported to a USB drive.
    • Improves CAN communication between parallel batteries, and the power-limit strategy as parallel batteries reach 100% SOC.
    • Adds what GivEnergy calls beast mode code for the 5.12 kWh Gen 3.
    • Improves the hardware watchdog timing.
    • Reduces the short-circuit risk when parallel batteries have a large voltage difference.
    • When batteries are added in parallel, keeps the current within the single-system maximum.
    • Adds circuit board test code.
  9. BMS 4003

    No date given

    A model code change only.

    • Changes the model code for ALPS units to PB.
  10. BMS 4002/4001

    No date given

    The earliest numbered builds on the Gen 3 log, listed together.

    • Adjusts the parallel current when the voltage difference between batteries is large.
    • Stores runtime statistics every hour.
    • Adds low-SOC handling when running off-grid.
    • Improves the charging and parallel indicator lights.
    • Adds a timeout check for a busy serial port.
    • Improves MOSFET fault detection, using two current thresholds.
    • Extends the MOSFET open time at start-up, to prevent false fault detection.
  11. BMS-3.0C board

    No version number First release

    GivEnergy's Gen 3 log ends with the first official firmware for the BMS-3.0C board. It has no version number.

Versions 4001 to 4003, 4005 and 4006 carry no date on GivEnergy's logs. GivEnergy's release labels in 2026 showed 4011 as a pre-release, 4010 as the release and 4009 as the previous version. GivEnergy's Gen 2 and Gen 3 hybrid inverter logs (versions A922 and A317) say the inverter's AI self-heating feature needs BMS 3022 or later, or 4009 or later.

Sources: GivEnergy's knowledge base article Low voltage firmware revisions (versions 1036 to 3017, dated 14 August 2024); GivEnergy's BMS Gen 1 & 2 Firmware Log (versions 3012 to 3022, archived copy from April 2026, as the support portal page is no longer online); GivEnergy's BMS Gen 3 Firmware Log (versions 4001 to 4011, archived copy from April 2026) and its older knowledge base article G3 battery (versions 4004 to 4007, dated 14 August 2024, archived copy), which labelled 4004 the factory release and 4005 and 4006 internal releases; GivEnergy's Gen 2 and Gen 3 hybrid inverter firmware logs (archived copies from April 2026) for the self-heating requirement; and GivEnergy's own release labels as published in June 2026, which listed 3022 as a pre-release, 3020 as the release and 3017 as the previous version for Gen 1 and Gen 2, and 4011, 4010 and 4009 the same way for Gen 3. GivEnergy's notes are brief; where a change is open to more than one reading, we have kept to what the note says.

Why the SOC bug happens — and why it's hard to fix

GivEnergy batteries use LiFePO4 (lithium iron phosphate) chemistry, which is excellent for longevity and safety but presents a fundamental challenge for SOC estimation. Unlike other lithium chemistries, LiFePO4 has a very flat voltage curve between roughly 20% and 80% SOC — the voltage barely changes across 60% of the battery's capacity. This makes voltage-based SOC estimation unreliable in the range where the battery spends most of its time. The BMS falls back on coulomb counting — tracking current flow in and out over time — which works well in the short term but accumulates small measurement errors over weeks and months. Without periodic recalibration at known reference points (near-empty and full), these errors compound until the displayed percentage diverges significantly from reality.

One of GivEnergy's beta testers, passing on the findings of GivEnergy's own investigation, reported peak voltage degradation: the peak voltage the cells reach during charging can fall over time, leading to reduced capacity and sudden SOC drops. GivEnergy's firmware log records a related change: from BMS 3018 onwards, the battery keeps charging at a reduced rate when the SOC reads 99% but the cells are not yet full. The issue affects all GivEnergy battery generations (Gen 1, Gen 2, Gen 3, and All-in-One), though Gen 3 batteries with BMS3 hardware have improved SOC tracking out of the box. STS has deep experience with GivEnergy systems across all generations and can determine remotely whether a SOC issue is fixable with firmware and calibration or whether it points to a hardware fault that needs a site visit.

FAQ

SOC bug — common questions

A sudden drop — typically 30–50% in under an hour — happens when the BMS loses track of true charge level. GivEnergy batteries use LiFePO4 chemistry with a very flat voltage curve between 20–80% SOC, making voltage-based estimation unreliable. The BMS relies on coulomb counting, which accumulates errors over weeks. When the battery eventually hits a voltage the BMS can measure accurately (near full or near empty), the SOC snaps to the true value — appearing as a sudden drop. A full calibration cycle (discharge to 4%, charge to 100%) resets the reference points.
No single version eliminates the bug entirely — LiFePO4 coulomb counting drift is inherent to the chemistry. BMS 3017 (May 2024) is widely considered the most significant improvement, changing the speed of dynamic SOC calibration and adding compensation for a 30 mA standing current loss. BMS 3018, an internal build, was the first to keep charging at a reduced rate when the SOC reads 99% but the cells are not yet full, and BMS 3022 fixed the SOC sticking at 100% after a minor over-voltage alarm. On a Gen 1 or Gen 2 battery, 3022 is the version we recommend. Gen 3 batteries run GivEnergy's separate 4000-series firmware, and there we recommend 4009. In our experience both are very good at keeping packs balanced. We do not advise updating it from the portal or app. We update firmware manually, to our own written procedures: on a callout, or by talking you or your electrician through it remotely with the right file. Contact us if yours is older. Even on the firmware we recommend, monthly calibration cycles are still necessary. Our firmware update page explains more.
Let the battery run down to 4% SOC under normal house load, then charge it back to 100% from solar or with a Timed Charge window, leaving Eco mode on. A Timed Discharge window with a 4% target supplies the house, but it follows the house load, so the battery only empties as fast as you use power. For multi-battery systems, both batteries must reach 4% at the same time so the BMS modules can resynchronise. One cycle fixes mild drift — repeat if the SOC has been wrong for a long time. Running this monthly prevents accumulation. See our full battery calibration guide for the detailed walkthrough.
Yes — inaccurate SOC directly undermines any smart tariff that relies on knowing how much energy is in the battery. On Octopus Flux, Intelligent Go, or Agile, the system uses SOC to decide when to charge (cheap rate) and when to discharge (peak rate). Wrong SOC means the battery may stop discharging mid-peak because it thinks it has hit reserve, or fail to charge fully overnight because it reports 100% prematurely. Users running Predbat automation report the same issue. Keeping a Gen 1 or Gen 2 battery on BMS 3022, or a Gen 3 battery on 4009, and running monthly calibration minimises the tariff impact.
Multi-battery divergence occurs when each battery's BMS drifts at a different rate — more common with mixed generations, different firmware versions, or when the batteries have not been fully discharged together recently. They can only resynchronise when both reach the same low reference point (4% SOC) at the same time. Run a full calibration with both batteries discharging together to 4%, then charging to 100%. If the gap keeps coming back, check which BMS firmware each battery is on: in our experience 3022 (Gen 1 and Gen 2) and 4009 (Gen 3) are very good at keeping packs balanced. If both are on those versions and divergence still returns quickly, one battery may have a degraded cell or hardware fault. Contact STS and we can check the cell-level data remotely.
Working out whether your SOC problem is calibration, firmware, or hardware is free — that's the remote diagnostic, no fix no fee. If it's a settings or calibration fix, such as a guided calibration cycle, we can do that remotely for a flat £125, and only if it works. Firmware is different: we update it manually, to our own written procedures, with the right file for your battery, either on a callout or by talking you or your electrician through it remotely, and we tell you what is involved before anything is done. If your portal and cell-level data point to a degraded cell or a failed BMS module needing an engineer, that's an on-site job quoted up front. No fix, no fee. Full pricing →
The remote diagnostic is usually same-day. The fix itself depends on the cause: a settings change is quick, but a full calibration cycle (discharge to 4%, charge to 100%) runs over a day or two of normal use — that's the battery's own timescale, not ours. We tell you in the 30-minute session which applies, including whether the firmware needs changing, and roughly how long it'll take to settle.
Book

SOC still not right after calibration?

If the SOC bug returns within days of a full calibration cycle, the issue may be hardware rather than firmware — a degraded cell, a failing BMS module, or a loose internal connection. We review your portal data, firmware version, battery health metrics, and cell-level readings remotely to determine the next step. Independent from GivEnergy and your installer.

  • Not affiliated with GivEnergy Ltd
  • No fix, no fee
  • On-site visits available across the UK

By submitting you agree to be contacted about your diagnostic request. We don't share your data with 3rd parties.

Call 07944 877 329 Book free diagnostic