Posted on Leave a comment

NEVER connect Tesla modules in parallel. Fire Danger!

Several customers have asked me for instructions on connecting multiple parallel Tesla battery modules to a single Pathfinder BMS. I set up a demonstration on how this could be done, but stumbled upon the exact reason why this is NOT acceptable and almost burned down my shop.

After stacking up these modules, I started measuring each cell to be sure that the modules were balanced, and found a few cells that were reading zero, despite the main terminals of the module reading 24v. So, I disassembled the module and found the problem. It had corrosion on the bottom of the module, and all 3 of the balance wires on the side were detached from the bus plates. If this module was connected directly to a BMS, it would be reading open circuit connections to the cells and not turn on.

HOWEVER, if this was connected in parallel with a healthy module, the BMS would be reading good voltage and have no idea that some of the cells were unprotected. When this assembly is charged, the bad module is VERY LIKELY to catch fire. Why, you ask? Remember that the balance wires came off due to corrosion, so its inevitable that some of the cells have the same issue. This leaves one of the cell groups at a lower capacity, meaning it will reach full charge before the other cells. Normally in this case the BMS would shut off with a cell over voltage alarm, but since the balance wire is broken, it will continue to allow charge, and the bad cell group will very quickly overcharge and start to burn.

Even if this setup starts with perfectly healthy battery modules, future corrosion would create the same dangerous condition.

There is NO way to make a parallel Tesla battery safe. This is why 1 BMS per Tesla module is REQUIRED. (or 1 BMS per 2 Tesla modules in series– this is fine)

In all cases, we insist that Tesla module batteries are installed in a detached structure. (Solar shed) Do not install them in your home!

BTW, this corrosion is probably the reason why this Model S went to the junkyard.

Posted on Leave a comment

Measuring State-of-Charge is difficult

Measuring the state of charge of a lithium battery is difficult. Very difficult. In fact its practically impossible to just measure SOC of a lithium battery, it must be calculated from a known starting point, by continuously monitoring and integrating the charge (coulombs) in and out of the battery.

One cheap way to estimate SOC is to compare the battery voltage to a predetermined Volts-to-SOC lookup table. This is how the old JBD BMSs are gauging SOC, and it’s a rough estimate at best. It works for lead-acid batteries, but Lithium batteries have a very wide, flat region on their volts-SOC graph that means there is a lot of uncertainty when comparing voltage to state of charge.

Early in the design process for The Pathfinder BMS, I was planning on programming the User Interface controller to track State of Charge (SOC). We did some research, and my programmer told me this was going to be too complicated and take forever, so we should just buy one of the chips that are made to track battery SOC. It will just work!

I picked the Texas Instruments BQ34Z100 “fuel gauge” chip for the job. (The main BMS functions are handled by the Texas Instruments BQ76952)

TI agrees with my programmer:

A gauging algorithm with a high level of accuracy is quite complex and often requires a large amount of software development. Therefore, a stack-level gauge like the BQ34Z100-G1 can be used in unison to provide State-of-Charge and State-of-Health.

Texas Instruments application note: Battery Gauging Algorithm Comparison

This chip has given me nothing but trouble. It requires a complicated learning cycle that is supposed to be completed by an engineer and then the resulting firmware image is to be copied to identical battery packs on the production line.

We set out to build the best BMS for DIY installation, which means each installation is different, and this is making it very difficult to complete the learning cycle in the field.

Selectable SOC algorithms

To fix this situation, I’ve gone back to the drawing board and programmed a simple, basic SOC tracking algo.

It’s called “BasicSOC”

This SOC tracking algorithm uses a simple method of resetting the capacity at high and low voltage points and tracking coulombs in between the reset points.

As of firmware update V_0.301, the user can select which SOC algo is used to report SOC on the app(s) and OLED. See the updated datasheet: Pathfinder BMS datasheet PDF

This method suffers from drift if the battery experiences shallow cycles or long periods of low activity, but maintains good accuracy if the battery routinely sees a full cycle.

When the Pathfinder BMS is reset and the cell count or chemistry selection changes, default values will be loaded, and the SOC will be initialized at 50%.

To learn the battery capacity using this algo, discharge the battery until at least 1 cell is below the low voltage level, then fully charge until at least 1 cell is above the high voltage level. At that point the SOC confidence should reach 100%. It is not necessary to maintain a specific charge/discharge rate or complete the full cycle in a certain time frame.

This algo also reports which cell triggered the last 0% reset, and which cell triggered the last 100% reset. The SOC confidence level will hit 100% when it has been reset at both the high and low voltage points. The confidence level will drift down as time passes without a reset. It does not try to measure self-discharge of the battery.

Posted on Leave a comment

Pathfinder BMS firmware update: V_0.222_BETA July 5, 2025

Edit: We published another minor bug fix as V_0.222_BETA on July 5.

We have published the first firmware update for Pathfinder BMSs as V_0.221_BETA. All Pathfinders are set to load “STABLE” updates only, so if you haven’t already, please set your BMS to load “BETA” updates, and connect to WiFi.

If you prefer to update offline with the UF2 method, you can find the new file here: https://github.com/OverkillSolarLLC/UF2

The datasheet has been updated to go along with the new firmware: Pathfinder BMS datasheet PDF

Recovery Mode is here!

There are a lot of bug fixes in this release, and some new features including the addition of Recovery Mode. This feature allows you to manually start up the system after a discharge cutoff by enabling the predischarge circuit from the BMS controls. To use it, navigate to “Recovery Mode” on the screen, and hold the OK button. The screen will display the system voltage and you can easily see when your charger engages by the bump in voltage. If the loads on the system are still too high for the predischarge circuit, you will see the red “overload” LED on the main board light up. In that case you will have to shed loads from the system or connect a “dumb” power supply.

This update also includes improvements to the BQ34Z100 Learning Cycle, MQTT bug fixes, and other miscellaneous bug fixes.

Your feedback is valuable! Please send an email to Support@OverkillSolar.com if you have anything to say about this update, good or bad. Remember, if you ever need to roll back an update, or if you rejected an update and changed your mind, all versions are available in UF2 format forever.

Pathfinder BMS firmware change log July 3 2025

V_0.222_BETA

  • Bug fix: Prevent learning cycle instructions from repeating after the cycle is finished.
  • Added Learning cycle “Stage” to non-volatile storage. When the BMS reboots after this update, the stage variable will be lost, but thereafter it will be retained. This does not interrupt the Learning cycle but it will interrupt the sequencing of the on-screen instructions if a learning cycle is already active.

V_0.221_BETA

  • Bug fix: disabling radio power freezes the user interface
  • Don’t auto-start the Learning cycle. Added Start Learning Cycle button to Learning Cycle screen.
  • Changed Charge Overcurrent Recovery parameter default to -200mA from 0mA to prevent rapid cycling of a charge overcurrent fault. (not user adjustable)
  • Bug fix: changing protection parameters to overlap an existing fault condition caused the BQ76952 to crash. Added a partial reset of the BQ76952 after every parameter change.

V_0.215_BETA

Note: some BMSs were shipped with V_0.215_BETA, but the OTA and UF2 files were bumped up to V_0.221_BETA before publishing the update.

Learning cycle

  • Adjusted learn cycle termination voltages to narrower range to accommodate moderate cell mismatch. These parameters are still non adjustable in the field.
  • Added Learning Cycle Reset function to the RESET screen. This resets the BQ43Z100 and re-initializes the learning cycle. User parameters are not overwritten, but calibrations are erased. Null current calibration must be repeated after a learning cycle reset.
  • Added a warning when changing design capacity after learning cycle is started. Once started, the Z100 learning cycle must be reset before capacity can be changed.
  • Bug fix: Energy and current not scaled correctly for the learning cycle. This caused the reported measured capacity to be 5x too high. Scale factor for energy and current is now calculated when setting Design Energy. Current resolution will now change depending on the scale factor.
  • Improved on screen instructions for learning cycle.

MQTT

  • Add MQTT status screen.
  • Bug fix: MQTT was not indexing active cells if less than 16. High/low cell numbers were off by 1.
  • Bug fix: Cell delta incorrectly formatted for MQTT
  • Limit the retry rate for a disconnected MQTT broker to 5 minutes, or 5 seconds if the user cancels the warning popup.
  • Bug fix: MQTT broker disconnecting may cause OTA to fail due to memory leak. MQTT not properly handling broker disconnect events.
  • Bug fix: MQTT leaking memory during connect attempts if radio power is off.
  • Bug fix: MQTT power was displaying current instead of power due to wrong data variable- linked the correct data source.

Recovery Mode

  • Added Recovery Mode screen- Recovery mode is manual operation only, hold the OK button to engage the output via the predischarge circuit.

Misc

  • Added indicators around cell voltage on OLED cell voltage screens to show which cell is balancing.
  • Added function to load alpha OTA with secret code (UP-DN-L-R). Customers should not use this function unless asked to test a specific alpha build.
  • Display RemainingCapacity on SOH screen.
  • Bug fix: Idle calibration routine was overshooting and not getting fresh data during automatic calibration.
  • Bug fix: Wifi scan failed if radio power disabled. Added a warning and prevent starting the scan.
  • Bug fix: Antenna light sometimes stuck on when radio power is disabled.
  • Bug fix: restart BLE advertising after cycling radio power.
Posted on 2 Comments

Pathfinder Schedule Update (It’s Late)

Well, April has come and gone and the Pathfinder BMS is not ready to ship yet.

Most of the components are finished and in our shop. We have the Balancer boards, User interface boards, all the revisions of the balance wire terminal boards. We do not have the main boards yet.

At the start of April I finished revising the main boards and decided to order a prototype instead of pushing the changes to a full run. Its a good thing too, because I have more changes to make. The predischarge circuit on the prototype is overheating when the system load is too high, and the load resistors were placed too close to the control circuits. I repositioned the load resistors away from the sensitive components, next to the FET temperature sensor, and added self resetting PTC fuses to prevent the predischarge circuit from melting down when the output has a short circuit. I also added a red “Overload” LED to give a clear indication that the load needs to be reduced.

The good news is under normal conditions predischarge is working GREAT. I have been testing with a big 48v inverter and without predischarge the BMS detects a short circuit from the inrush current. You can even hear the hard start noise, which is always a bit scary coming from “solid state” components. With predischarge enabled, the system starts up softly in about 1/2 second, with no stress. This is great because now we can leave the short circuit delay set at zero seconds for the fastest possible detection of actual short circuits, and have no issues with cold startup.

When the output has too much load or is actually shorted, the BMS will cancel the predischarge routine after an adjustable timeout, then retry after another adjustable delay. The output voltage target is also adjustable in terms of percent of battery voltage.

I have fixed the issues with the main board prototypes, and I am ready to order the full production run. The factory that makes them is on vacation the rest of the week, so I have all weekend to think about the changes.

BTW, so far we have not had to pay any new import taxes, so the presale price remains at $199. It looks like these parts actually fall under one of the exempted import codes for consumer electronics, so that’s nice.

Posted on 2 Comments

USB signal interference

I’ve been testing the pathfinder BMS with various equipment, and found that the USB connection is vulnerable to electrical noise from a big cheap inverter. We noticed this problem in the past with the JBD BMSs as well. (This doesn’t affect Wifi or Bluetooth)

This interference causes the USB port to stop communication, and the BMS must be rebooted to get it going again. We are working an getting the firmware to automatically restart the USB connection, but it doesn’t work yet. Remember, all Pathfinder BMSs can get firmware upgrades via OTA or UF2, so everyone will be able get the firmware solution later.

Other than getting a better inverter, the best solution seems to be adding ferrite chokes to the USB cable. I found that 2 or 3 snap on ferrite chokes is enough to stabilize the connection. Wrapping the cable 3 times thru a large ferrite ring had the best results, almost completely eliminating the interference when measured on the PC side.

Our very noisy inverter. This thing is crap, but great for testing interference.
Ferrites added to the USB cable. The large ring gave the best results.

We will do some experiments with adding common mode chokes to the Pathfinder circuit board and possibly add them to the next revision.

Better quality inverters produce far less noise, so this isn’t an issue for most customers. For example in the past we found that a Renogy inverter produced the least noise out all the units tested in our shop.

Details and scope traces:

I measured the signal interference using an oscilloscope at the PC end of the USB cable. Not much to see here. Yellow and Blue are the signal lines, Data+ and Data-.

The Inverter produces pulses of RF interference, and between pulses, the USB signal looks fine.

Inverter off, no chokes.
Inverter on, no chokes.

Here, I’ve zoomed out the time scale and added the purple trace on the inverter’s DC terminals. The pulses are happening at 21kHz, which is the inverter’s switching frequency. On the left side you can see a USB communication packet, which occurred between pulses of interference.

The real problem happens when the pulse of interference causes ringing on the USB signal lines as seen here. USB signals are mostly differential, but both lines pulled low means EOP or end-of-packet. This time, the ringing interference pulled the blue trace low enough that the USB controller would read an EOP signal.

Here, I added 3 snap on chokes (left), or wrapped the cable thru a large ferrite ring choke (right). In both cases the interference is dampened enough to prevent spurious EOP signals, but the large ring has the best results by far.

USB cable with 3 snap-on chokes, inverter on.
USB cable with Big ring choke, inverter on.

Posted on 4 Comments

New Self-Test feature

We added a super handy self-test feature to the Pathfinder terminal boards.

They now have a TEST button and fault indicator lights for each cell.

This feature will catch many of the wiring mistakes that can destroy the BMS before the damage can happen.

This test can detect swapped balance wires and open circuit cell connections, both of which would damage the voltage sensing inputs on the BMS main board if the terminal board was plugged in before fixing the faults.

The new 16 cell self-testing boards are finished and ready to ship with pre-orders.

(All of the terminal boards will have this feature at no extra cost)

Example Usage:

In this example, all of the balance wire connections are correct, and only the green LED lights when pressing the TEST button. This assembly is ready to connect to the BMS.


In this example, one of the cell terminal bus bars has been left off. Pressing the button lights up a single red LED corresponding to the open connection. If the BMS was plugged in like this, the full battery voltage would be present between 2 cell voltage inputs that are not tolerant of the full battery voltage.


In these examples, 2 balance wires are swapped out of position. The red LEDs will light even without pressing the test button. This may be the most damaging type of wiring fault because it puts negative voltage across several of the cell voltage inputs, which will destroy them if the connector is plugged into the BMS.


In this example, multiple faults are present and the red LEDs do a fun little dance. Might want to start over if it does this…

Posted on 2 Comments

First batch is sold out!

Sorry, I should have made this post 2 weeks ago: The first production run of Pathfinder BMSs is sold out!

Orders after order number 9025792 (from March 16) will ship from the SECOND production run of Pathfinder BMSs, so they will have some additional lead time beyond the original April 30 estimate.

Pre-order now to save your place in line!

The orders keep coming in, so the lead time will continue to increase for new orders until we get caught up. (Ramping up manufacturing is hard!)

Big thanks to everyone who has placed a pre-order, we really appreciate your support and patience.

Posted on 1 Comment

Quick Start Guide (bottom cover)

Pre-sale Update:

Some of the boards for the first run of Pathfinder BMSs have been ordered and are currently in production. A big thanks to everyone who has put their orders in!

I just finished the quick start graphics for the bottom cover of the BMS, what do you think?

The full user manual will have more example drawings for other cell counts.

While working on revisions to the main boards, I decided to add a wiring test feature that will detect faults in the battery wiring before the BMS is even powered up. This should help prevent a lot of mistakes that we have seen in the past when wiring up DIY batteries.

Posted on 2 Comments

Mailing List

Be the first to know when the Pathfinder BMS is up for sale!

Pathfinder BMS mailing list

* indicates required
Sign up to get email updates about the new Pathfinder BMS

Intuit Mailchimp