I'm thinking of using the Waveshare ADC board with a RaspPi 3 to monitor the current driving a DC brushless motor.

I've run through the waveshare examples, and I can handle reading inputs programmatically.

I did an initial bench test without the pi, using the circuit in this photo Measuring voltage via digital meter

Everything works splendidly there. My meter reads 0.3v at rest and 0.6v when the motor's running just as expected (There's a screen and some other circuitry connected to the power supply that's not shown).

My plan is to run measurements using the ADC inputs on the Waveshare board, like this:


Anything else I should be considering here?

The motor circuitry has back-emf protection, and I'll be adding a filter capacitor to the bridge rectifier for a cleaner DC output for sure.

Accuracy isn't a major concern here, if I'm off by 20% I'm still doing much better than I am now using commercial current sensors at this measurement range.

Alternatively, does anyone have a good lead on low value current sensors (< 1A)?

  • sparkfun.com/products/14544
    – CoderMike
    Commented Apr 5, 2019 at 19:13
  • Welcome @CDog. Could you please clarify, what's your main question or concern here? It looks as if you're asking for general advice with your project.
    – David
    Commented Apr 5, 2019 at 19:24
  • I am a bit confused. Do you want to measure the magnitude of AC current, or just the presence of AC current? And why don't you measure the voltage or current at the DC motor side?
    – tlfong01
    Commented Apr 6, 2019 at 9:19
  • I’m trying to measure the magnitude of the AC current using shunt resistors. I’m trying to log the motor currents to monitor motor health over time. I’ve done this before with larger motors using current transformers but this particular motor is too small to get a good reading using any sensor Ive seen. The terminals after the DC power supply are inside of a controls housing so they’re not super accessible
    – CDog
    Commented Apr 6, 2019 at 22:22
  • Ah, now I understand your user constraints. Let me then do some engineering analysis and design.
    – tlfong01
    Commented Apr 7, 2019 at 14:24

2 Answers 2


Update 2019apr08hkt1109

On second thought, the question can be laser cut to focus on a very specific topic:

"How to measure the magnitude of AC current in the range of 0 ~100mA, with a generous tolerance of 20%?"

I think we can begin our feasibility study with two current sensors: (1) AC712, (2) INA12x/22x, ...

ACS712 (or newer ACS723) 5A full scale version can measure +-5V, with a sensitivity 200mV/A. We can use an ADC with 10/12/24 bit resolution to suit any tolerances, ...

ACS712 Datasheet - Allergo MicroSystems

acs712 voltage output vs current passing

INA12x measures DC current only, but can be very precise by using an appropriate external gain resistor, ...

INA12x Datasheet - TI

INA219 current sensing resistor


/ to continue, ...


The following paragraphs contains errors, and would be modified and/or deleted later.

The question

How to measure the analog AC voltage across a 0.5 Ohm (errata- should read 10 ohm) shunt resistor in the range of 0.3V ~ 0.6V (I = V/I ~= 0.5/10 = 0.05 ~= 50mA)

The answer

/ to be continued, ...

The following quick and dirty, long winded, messy draft notes is to be deleted after project is completed.

Project Goal

Using the Waveshare ADC board with a RaspPi 3 to monitor the current driving a DC brushless motor.

Progress so far

Completed Rpi program controlling Waveshare ADC to read analog signal. Completed bench test using digital volt meter to measure motor on and off analog readings 0.3VAC and 0.6VAC. 

User requirements

Accuracy isn't a major concern here, off by 20% is still doing much better than using commercial current sensors at this measurement range (0.3VAC ~ 0.6VAC). Low value current sensors < 1A AC

User constraints

Cannot easily access circuits at the DC motor side, therefore need indirectly measure AC current at the AC mains side.

Because the motor is too small, current transformers which are usually for large current does not work here.

Current sensors and ADCs to explore

[ACS712, INA226, ADS1015, ADS1256,AD7190] Raspberry Pi Current & Voltage Sensors (10A rating and ~40V respectively)

[ADS1256]Waveshare ADC Board


  • Thanks! Re the ACS712, I've ordered a breakout board with a 5A rating: amazon.com/gp/product/B01HXD41U6/… the ADC I'm using has 16 bit resolution, so I'm hoping that'll be good enough to get the readings I want. This shunt resistor set-up is my backup plan in case that breakout board doesn't work for me
    – CDog
    Commented Apr 8, 2019 at 13:49

This is not an answer but a warning!

Your circuitry shows a direct connection to the mains active - this this is potentially LETHAL.

Incidentally the first circuit you posted would do nothing (unless some of the diodes are faulty) - there is no potential difference across the meter.

  • Thanks for the concern, I have circuit protection and disconnects in there and will use an isolating transformer in the final build. All my connections are using finger-safe terminals with much higher ratings. Anything else you can recommend for safety
    – CDog
    Commented Apr 7, 2019 at 11:21
  • Whoops, just noticed the diode bridge note. Looks like I swapped the leads in my drawing. I'm using a packaged bridge rectifier and drew it from memory
    – CDog
    Commented Apr 10, 2019 at 0:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.