# Cheaper solution then LTC6804 ic? 7cell battery monitor using Arduino or etc...

#### bigjoncoop

Joined Feb 1, 2019
129
Hey fellaz,

***The Rundow(Long/Whole Story Below)

Looking for a cheap alternative to a LTC6804 IC that can be connected to an Arduino in order to monitor multiple battery cell voltages.

I've been doing some research into designing a battery cell monitoring device. There are a handful DIY projects out there but most of them are utilizing the LTC6804 ic.

But they are pretty expensive especially for DIY project that may not work or come to fruition. The cheapest I can find them on the normal reputable sites is about $25 but usually about$30. There are some eBay sellers from China selling them for a couple dollars but 1. I'm assuming they are knock-off and 2. I normally don't spend money and wait a couple months to receive my items LOL.

Now with that being said if there are some cheap clones out there that work with data sheets and what not I'm fine with that too.

**********
Long / Whole Story

My end goal is to have a GUI that shows each battery cells voltage in somewhat real time. The only cheap DIY solution I know of is to use an Arduino.

There are a couple of battery Management Systems (bms) that include this functionality but are fairly expensive, and there are a couple of Arduino based DIY BMS systems also but have much more functionality than I need and also require a "slave" pcb for every cell in the battery and then send that information to the "master" controller. I almost ordered everything I needed from JLCPCB but I'm holding off to Sea there is an easier solution to what I'm trying to do.

The last time I was looking around how to create such a monitoring device, I believe I was told there was a couple of ways of achieving this without using a IC at all... I believe someone mentioned that I could connect each cell to an analog input on a Arduino that has the appropriate amount of analog inputs but would have to use resistors or somehow offset each cell's voltage because the way the Arduino would add them together or something similar.

At this moment all I want to achieve is being able to see each of the battery cells voltage represented in a graphical interface. I'm not looking to do anything with the information at this point. Just want to see it.... I sort of understand how to send the information to a graphical dashboard I just need to figure out how to monitor each cell's voltage and get that information into an Arduino or some DIY application...

Below is a image of what I'm trying to achieve...

If anyone has any ideas whatsoever I'm open to suggestions.

Thanks

#### Irving

Joined Jan 30, 2016
1,006
I'm using a TI chip for monitoring an 8S 5kW LiFePO4 pack... the BQ76930. Its not the easiest because its a 0.5mm TSSOP-30 package but does the job. Datasheet attached... $5.60 at Digikey,$4.67 at Mouser...

I couple it to an ESP32 for bluetooth datacapture...

Early prototype at initial testing...

#### Attachments

• 1.6 MB Views: 1

#### Solar Mike

Joined Apr 26, 2018
24
I have a 100V bank of 32 x 400AH Lifepo4 cells, with a requirement to sense each cell voltage and optionally load each cell with a 1 to 3 amp load for balancing, I did look at those IC's but wasnt happy with their max voltage, noting I also want a system that looks at 6V lead carbon cells in a 100V series string.

My solution to this problem was to design a floating common voltmeter that gets switched across each cell in the bank. Optimos dual switches are used to present each cell to a floating voltage sense bus, this is isolated from the cpu by an analog isolator chip.
Attached is part of the schematic for that eee.pdf

The isolation barrier part of the circuit here:

I'm using a Picaxe CPU, there is no reason you couldn't use something else provided it has SDI output
Will give you some ideas anyway. Look at this blog for more information BMS

Cheers
Mike

#### Attachments

• 141.4 KB Views: 3

#### Irving

Joined Jan 30, 2016
1,006
I have a 100V bank of 32 x 400AH Lifepo4 cells, with a requirement to sense each cell voltage and optionally load each cell with a 1 to 3 amp load for balancing, I did look at those IC's but wasnt happy with their max voltage, noting I also want a system that looks at 6V lead carbon cells in a 100V series string.

My solution to this problem was to design a floating common voltmeter that gets switched across each cell in the bank. Optimos dual switches are used to present each cell to a floating voltage sense bus, this is isolated from the cpu by an analog isolator chip.
Attached is part of the schematic for that eee.pdf

The isolation barrier part of the circuit here:
View attachment 218171

I'm using a Picaxe CPU, there is no reason you couldn't use something else provided it has SDI output
Will give you some ideas anyway. Look at this blog for more information BMS

Cheers
Mike
That's a neat solution, though doesn't meet the TS requirement for low-cost as the PAA140 switches are $4.70 each which makes it expensive even for a 7S solution. I've looked at the ACPL-C87 before for another requirement but eventually ended up with a 14bit I2C ADC and 4.096v reference behind an I2C isolation barrier. Thread Starter #### bigjoncoop Joined Feb 1, 2019 129 I'm using a TI chip for monitoring an 8S 5kW LiFePO4 pack... the BQ76930. Its not the easiest because its a 0.5mm TSSOP-30 package but does the job. Datasheet attached...$5.60 at Digikey, \$4.67 at Mouser...
Hey @Irving,

Very cool. Besides the BQ76930 being a pain to solder, did you run into any other problems using it?

I briefly checked out the data sheet and seems pretty straightforward. I haven't looked very closely yet and compared it to the LTC6804. I'm hoping they are both pretty similar since I sort of understanding how to connect the LTC6804 to a arduino to read the cell voltages. ( I'm not very good at programming)

Ill be using it for one of my 4.5kwh 7s 18650 packs.

Do u happen to have a schmatic of how u connected the BQ76930 to your battery and to the arduino? Or did u basicly follow the datasheet typical application

Thx again

#### Irving

Joined Jan 30, 2016
1,006
I just followed the datasheet typical application. Be careful though, there are some weird arrangements of grounding for the intermediate filter capacitors - its easy to get your wires crossed... The I2C interface is pretty straightforward though read carefully the section on startup as there's a specific sequence to get things going; if you don't follow it the device stays in power-down mode and refuses to talk to you. There's a fledgling but useable Arduino library on github and some BMS projects, one being a 7S powerwall. Here's the search URL: https://github.com/search?q=bq76930&type=Repositories
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.1988687664270401, "perplexity": 2030.1694535128722}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2020-45/segments/1603107879673.14/warc/CC-MAIN-20201022141106-20201022171106-00355.warc.gz"}