Analog pin returning different values if connected to wall wart than computer

I am using this regulated Power Supply that states that there is 0 amp minimum. EDIT: I changed the battery in the multimeter and found that the wall wart is working. I still have the problem below.

I am using with the schematic in the attached file, which is a current transducer with emon lib to get amperage.

When I use my computer as a power source, the resting amperage (current reading with no load on the wire) is 0.03. When I power it with a cheap cell phone charger, it is 0.32 amps. When I power it with the wall wart above, it rises up to 0.83 amps.

I’ve tried to simulate a load with a 100 Ohm resistor across the +5v and gnd terminals, and this makes the resting amperage rise to 0.91 amps. I’ve even disconnected the current transducer, but nothing changes.

Could I change one of the resistor values to help with this? Why would the wall wart have a higher resting amp reading than when connected to the computer?


If your supply is defective, don't use it. 7.5V will damage/destroy the board which can't handle more than 6.0V absolute maximum.

The current transducer is nothing to do with the problem, its not using any power.

Perhaps if we saw the whole schematic it would help.

@MarkT This isn't just one wall wart. I have several here and they all test the same. I test them connected to the board and test them when not connected. Same thing happens.

It says right on the wall wart 'regulated' though.

I found that it was a bad battery in the multimeter, so the wall wart is actually putting out 4.99V.

However, the problem still remains that the amp reading is really high when connected to the wall wart.

Do you trust that meter though? If you provide a clean 5V the current will not depend on the
nature of that 5V source.

It's reading a stead 4.99 on a 5V regulated wall wart. I also tested the voltage on my computer and it is a steady 5.1v.

I wonder if the Arduino sees a slightly different power supply voltage and hence gets a slightly different output from the analogRead()s.

You can get the Arduino to report its power supply voltage by using it to read the internal 1.1v voltage reference. If there is a difference you could build in a fudge factor to correct for that.

See this Thread


The thing that gets me is that the 'on' readings are exactly the same. It is only the 'off' readings that vary greatly.

I tried connecting digital ground to earth ground, and it only made a tiny difference of 0.02.