Current With Arduino

Hi everyone!
Does anyone know how I'd go about measuring current around 40A with an Arduino and some Current Shunts. The context of this question lies in an ESC and I just wanted to know how my design would go about measuring such currents with minimal extra components and ic's


Easiest & smallest number of components would be something like the ACS product range from Allegro. ACS730 or 732 looks suitable, depending on if you need to measure bidirectional or unidirectional only.

A shunt & opamp system would work as well, but takes * a lot * more components to get near the same performance as e.g. an ACS730 and a whole lot of engineering. You can of course always do a very simple/minimal design with just a shunt, a single opamp and the ADC on an Arduino but performance won't be close to the ready-made products mentioned and you'll either battle noise (very small shunt) or poor efficiency (larger shunt).

If you put a shunt in the low side and use the A/D to measure the voltage across it it becomes relative simple. You may have to add an amplifier to boost the voltage depending on the A/D maximum input voltage. Several different Arduino implementations have different A/D maximum such as the ESP32. There are parts such as the INA260 which will also measure current. You may have to add an external shunt depending on your choice.

If you just plan on making a few DC current measurements, a shunt and a multimeter are all you need. Shunts are usually calibrated as mV/full scale current reading (e.g. 50 mV might correspond to 50 Amperes).

Thank you for your response,
I have three questions regarding your excellent response!

  1. What is A/D?
  2. Would the INA260 take care of three current shunts measuring current to a specified voltage?

I will follow up this forum thread with a picture of my schematic so far if that will help.
Your response was appreciated.

Thank you for your response :wink:
Mouser in Australia doesn't have any Allegro ACS chips in stock....
Do you maybe have a reference schematic to a shunt + opamp circuit for the parameters - max. 30A 25-30V?
Also, with that circuit, what would the efficiency be as you said that it would be super dodgy. I'm looking for only rough measurements as it will be an ESC on a drone for temporary measurements.

Thank you for your response to my question :slight_smile:
I can't really have a multimeter on my drone ...

How fascinating to learn that you plan to build a drone!

Study this:

You could use high side sensing as well of course, but that's probably going to be tricky given the supply voltage.

Btw I used plain old google to find this; give it a try sometime.

Sorry, A/D stands for Analog to Digital Converter, or the analog input to the microcontroller. Arduino has a built A/D. You would need 3 1NA260, one for each circuit.

What is an ESC?

Basically a fancy / appliction-specific motor driver.