Creative Commons images are CC BY-NC-SA 3.0

Description: Odometers are extremely useful for cars, they tell you how far you have gone, wouldn’t it be nice if you were able to have a device that does the same for electrical current? The LTC4150 SparkFun Coulomb Counter Breakout is here to be your odometer for current. If you are wondering: a coulomb is defind as, to put it simply, one amp for one second. This breakout is capable of constantly monitoring the current your sensor is using, is able to add it up, and will give you a pulse each time a given amount of amp-hours have been used. When used effectively and if you start with a full battery, you’ll always know exactly how much of it is left!

At one end of the Coulomb Counter Breakout are headers labeled IN and OUT. Connect your battery or power supply to the IN header or JST battery connector (they’re identical), and connect the OUT header to your project. At the other end of the Coulomb Counter you’ll find a header with six pins. These are the pins you’ll need to connect to your microcontroller and include VIO (Voltage Input), INT (Interrupt), POL (Polarity), GND (Ground), CLR (Clear), and SHDN (Shutdown). Simply install this breakout out between your power source and your circuit, that way all the current your circuit uses needs to pass through the Coulomb Counter to be measured.

Features:

  • Operating Voltage: 2.7V - 8.5V
  • Operating Current: 1A
  • Indicates Charge Quantity and Polarity
  • ±50mV Sense Voltage Range
  • 32.55Hz/V Charge Count Frequency
  • 1.5μA Shutdown Current

Documents:

Recommended Products

Customer Comments

  • BE CAREFUL IF YOU ARE POWER CONSTRAINT.

    Using it with a solar project. It works but the breakout is REALLY BAD DESIGN, imho. The problem is that the board leaks ~1mA through idiotic pull-ups (POL and others). It should not be surprising that this is used in context with very limited power supply. which makes the sloppy design even more embarrassing for Sparkfun. Please please update this!

    So my current design uses 1,12mA when in power saving. 1mA for the coulomb counter and 120uA for everything else. rolleyes

    • Using it with a solar project. It works but the breakout is REALLY BAD DESIGN, imho. The problem is that the board leaks ~1mA through idiotic pull-ups (POL and others). It should not be surprising that this is used in context with very limited power supply. which makes the sloppy design even more embarrassing for Sparkfun. Please please update this!

      The data sheet indicates that pullups are required for proper operation of the LTC4150 and the 3.3K resistors chosen are larger than the minimum required. Unfortunately we cant build a board that works for every customers unique situation but we to try to provide you with information that allows you to tailor a board to your requirements.

      I would suggest swapping R5,R7 and R9 out for larger value resistors to get a lower current drain. 10K’s should work but you might try higher. Alternatively, you could remove those resistors altogether and use internal pullups on your μC if it has that feature.

      If you find a value that works well, let us know. We may incorporate that into a future revision.

  • Another good application: electric wheelchair batteries. 24V, OMG amps (but well under fifty), very flat discharge until the critical point when voltage drops abruptly. Having an “estimated hours of battery remaining” or some other representation other than the trivial voltmeter they come with would be a great device. I can start out with what appears to be a full charge and a block later I’m looking for someone to give me a push! A few experiments counting coulombs before battery discharge, and I’ve got a “countdown timer” for actual usage.

    Don’t count your coulombs before they’re hatched…

  • I agree with the comments so far - with a much higher rating of current, this would be very handy for a number of things. Monitoring status of your RV or boat batteries would be big. I just made one for my boat using a shunt resistor. A Hall Effect transistor may be a better way. Check it out Sparkfun!

    • For an RV or boat, check out this: http://www.bogartengineering.com/products/TriMetric. Substantially more expensive, but specifically designed for the higher currents (a few hundred amps.) And if your rig has a Magnum Energy inverter and remote, this one plugs right in and will even start the generator when the batteries drain to a set state of charge: http://magnumenergy.com/battery-monitor-kit-me-bmk/

      This coulomb counter is for MUCH smaller battery systems, obviously designed for small portable electronics. It should give a much more accurate approximation of the battery state, compared to just measuring voltage, especially for batteries that have a rather flat discharge curve.

  • Too bad it isn’t rated to 14V – I’d love to have a something like this for the lead-acid batteries I need for ham radio field day, especially since I also use solar panels to charge them on-the-fly, so to speak. Oh, I also note this is only rated to 1A – the radio can pull up to 15A or so. If this had specs I could use, the MicroView looks like it would be a good companion for this one.

    • Have you considered the LTC2943? It supports batteries up to 20V, and talks I2C. (The DFN package is a mild downer, though; that part might be a good candidate for a SFE breakout of its own.)

    • Looking at the schematic, there is a D1 shunt that appears to drop 0.05V at 1A. But it’s in parallel with R2, which is only marked DNP. I’m not at all clear what DNP is about. If you wanted to measure more than 1A, the simple solution is to shunt the majority of the current externally, knowing the ratio between the two paths, and multiplying each 1A count by that ratio. The ohms value of the shunt would be very low, something that might be crafted with a carefully cut piece of heavy wire.

      • In our world, “DNP” stands for “Do Not Populate”. R2 is an empty through-hole resistor footprint provided in case someone wants to replace the existing surface mount R1 shunt resistor with a different-valued resistor.

        • Yes, and thank you for providing that. I unsoldered the 50mΩ surface mount resistor, and installed a 51Ω through-hole resistor, increasing the current sensitivity by a tad over a thousand.

    • I was thinking the same. I have a 12V solar system that I use for some household lighting and charging laptops, phones, tablets etc. Would be great if this could do a much higher current and voltage :D

      • The problem with this board/chip is that the current line is not isolated from the electronics side of the circuit. Take a look at the ACS712 breakout board. It is totally isolated – but be aware the Sparkfun design does not leave enough gap between the current trace and the electronics ground plane. (Look at the Allegro spec sheet.) It is a nifty board for circuits up to about 25V isolation.

        Also note that you can place a resistive shunt across the current sense terminal to increase the upper range. I use ACS712 board with a 500 amp shunt to monitor motor current in my electric vehicle.

      • Allegro makes a 30A version of their Hall detector current sensor, would that be enough for your application?

Customer Reviews

4.2 out of 5

Based on 5 ratings:

5 star
2
4 star
2
3 star
1
2 star
0
1 star
0

1 of 1 found this helpful:

Good for the exact purpose specified, but ...

This seems like a terrific breakout to track charge/discharge on a battery. It accumulates a net change in charge and interrupts the host microcontroller

I had a little bit different application in mind, which was to track current draw of an Arduino differentiating states of high draw and low draw (as, for example, when the processor is sleeping). Unfortunately, when you do the math, the Coulomb counter will interrupt its host microcontroller at most once every 0.6 seconds and it will be only that frequent if the CC is measuring the maximum current draw for the sense resistor in place. If the current draw is less it could be many seconds between interrupts.

It would be great if it were possible to reduce the downscaling on the board from 1024 to 128 or even 1. That would enable a finer resolution on the time at various current levels.


Handy little board

I wanted to use this board to monitor the performance of an energy harvester, so I needed more than the default sensitivity. Accordingly, I unsoldered the 50mΩ resistor provided and used the provided through holes to install a 51Ω resistor, increasing the sensitivity by lightly over a thousand. Now, with a 5µA current, I get an interrupt every couple of minutes, and a simple Arduino sketch can convert that to current. However, this use case doesn’t fit the “I’m being powered by the battery” assumption built in to the board, which made things a little tricky. Perhaps another jumper to disconnect the Vdd pin from the Vout+ pin? Additionally, one to connect Vdd to Vio would have been perfect for my application.


0 of 1 found this helpful:

Works well

Very easy to use. Had no trouble getting it up and running quickly. Looking forward to playing around with it further.


Great for basic battery life prediction

This product does a great job with measuring moderate to high currents from 1mA, to 50-100mA or even more. If you’re trying to track extremely low current accumulations (majority of time spent in uA range), you might consider swapping out the sensing resistor for a higher value, but of course this would yield a higher voltage drop across the device for ‘run’ current. If you use the self-clearing feature of the /INT line, be aware that this pulse width can be extremely short, on the order of a couple of uSecs, so either use a h/w IRQ line or a counter input, or switch over to manually resetting it via the /CLR line (you have to leave /INT asserted for at least 20uS before you clear it). NIce product for gathering real-world data!


Related Tutorials

LTC4150 Coulomb Counter Hookup Guide

September 18, 2014

A "Coulomb Counter" is like a gas gauge for your battery. Here's how to use it.