I have a circuit that includes an arduino and an electromagnet thats periodically turned on. I can easily measure the current consumed when its turned on and when its off by wiring in my multimeter in series and observing the drain. However I want to know how I can measure the total current consumed (for example overnight). The frequency in which the electromagnet will be turned on will be somewhat random.

This is the multimeter I have https://www.amazon.co.uk/gp/product/B01N3RVVJ4/ref=od_aui_detailpages00?ie=UTF8&psc=1

I've seen some multimeters that have the capability to measure total current passed in, by the looks of it mine doesn't have that. I did consider buying one of those USB multimeters which can do this and splicing the wires to connect it in series with my circuit but I figured surely there's a better way to measure this?

  • \$\begingroup\$ There exists logging multimeter which can measure the average current over long periods of time. They are pricey though. \$\endgroup\$
    – winny
    Commented Apr 19, 2017 at 14:15
  • 1
    \$\begingroup\$ "Current" is a rate of flow of charge, or combined with voltage gives you a rate of flow of energy so "Total current" is a rather meaningless concept. If the electromagnet always takes the same current, you could work out average current and/or total power by getting your arduino to record the amount of time it turns the electromagnet on for. \$\endgroup\$
    – Finbarr
    Commented Apr 19, 2017 at 14:19
  • \$\begingroup\$ You cannot have what you call "Total current" since current is rate at which electrons are going through a medium. What you should look into is the total power consumed. \$\endgroup\$
    – 12Lappie
    Commented Apr 19, 2017 at 14:33
  • 1
    \$\begingroup\$ "Milliamps per hour" IS meaningless. It's like saying "revolutions per minute per hour" \$\endgroup\$
    – Finbarr
    Commented Apr 19, 2017 at 15:25
  • 1
    \$\begingroup\$ @Finbarr or in the case of the question here, "charge". If you're going to be picky, at least be right. \$\endgroup\$
    – Neil_UK
    Commented Apr 19, 2017 at 15:53

1 Answer 1


There are three ways to handle this.

1) ... buying one of those USB multimeters which can do this and splicing the wires to connect it in series with your circuit

2) Measure the current manually with the magnet on, and again with the magnet off. Use a logger that records the time the magnet spends on. Then get the average current consumption over the period by computing the time weighted average of these two figures.

3) Use a logger that measures the current moment by moment. Read sufficiently often that the timing errors are small enough for your purposes. Integrate the readings to total charge, and then divide charge by total time to get average current.

What sort of logger? You can spend various amounts of money on standalone loggers with all sorts of fun inputs. My preference is to use an Arduino and read it from a program running on a PC. If you already use arduino, then that's a cinch. As you will probably need signal conditioning to get your current measurement into a voltage, it's a neat trick to use both high and low sensitivity amplifiers into two ADC channels, one optimised for the magnet current range, one for the controller range, and figure out which one to read at the time.

  • \$\begingroup\$ this answers my question. I already know how long the magnet stays on, its 10 milliseconds, im just not sure how frequent :) but I guess I could work out an average and from that calculate the total drawn. The arduino method sounds like a good idea I shall give that a go. Thanks \$\endgroup\$ Commented Apr 19, 2017 at 23:11

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.