Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I pulled an old PIC from the PIC24 family out of storage, probably last used about a year ago. I reprogrammed the device with a bare minimum program. It seems to work fine on all counts except that it pulls 55 mA from the Vdd pin and the current exits through Vss. All other pins seem to draw current in the uA range.

  • No peripherals are enabled
  • Input pins are not floating
  • Output pins are not drawing current

This current draw is way out of specification for this device which should draw about 2mA. What would cause such high current to be drawn on a device that is otherwise operating normally?

share|improve this question
This might be a more useful question if you said you had a new chip doing the same thing. There are almost infinite ways that a chip could be damaged and draw more current than normal. That's kinda the default (for the semi-conductor to turn into a conductor when it is damaged). – Spehro Pefhany May 20 '14 at 14:51
Yes, I am starting to think I want to rephrase the question. The chip could just be damaged and I can just discard it. I am pretty strict about watching for ESD events but that doesn't mean they couldn't happen. I think my real curiosity lies in if this has been seen in chips that weren't in some way irrevocably damaged. I am accustomed to bricked MCUs being non-operational. – SomeEE May 20 '14 at 14:58
It might not even be ESD, it could be a probe tip or screwdriver slip or something of that ilk. Does it draw 55mA when reset is asserted? (/MCLR low)? That current is suspiciously close to what I'd expect if an output was shorted to a supply line. – Spehro Pefhany May 20 '14 at 15:02
It is the same under reset. – SomeEE May 20 '14 at 15:05
Then I'd be 99% sure the chip is garbage. – Spehro Pefhany May 20 '14 at 15:10

You say that 55 mA is "way out of specification", but you provide no evidence of that. It seems to me you haven't bothered to look in the datasheet. You also haven't said which PIC 24.

I grabbed a random PIC 24H datasheet and looked up Vdd current. The PIC 24HJ12GP201, for example, can draw up to 90 mA at 3.3 V and 25°C when running at 40 MIPS. 55 mA is therefore not at all obviously "way out of specification".


share|improve this answer

You actually don't know whether the chip operates normally, because the space of functionality of what the chip can do is quite large; you have not executed an extensive test suite of all its functions. What can be said is that it works normally for your "hello, world" test case that you're running on it.

It does sound like some area of the silicon is leaking a lot of current through. It could be some on-chip peripheral, for instance. The IC has many circuits on it that are connected between VDD and VSS; if some of them leak, that might not impair the chip's ability to be programmed and to execute a "hello, world" program.

share|improve this answer
Well, I did program it with a significant and proven program at very first. That is why I noticed the high current draw but I get your point. – SomeEE May 20 '14 at 14:13

This is less than 1/4 watt at 3.3V. If the chip is operating at a high speed, performing even seemingly simple calculations, and no power saving measures are enabled, then a 24 series PIC processor can certainly dissipate a quarter watt running around in circles.

If you provide the chip part number, the program, and schematic, we might be able to identify specific reasons it's consuming more than the 2mA you expect.

If you want to investigate further

  • Consider replacing it with a new chip and a similar program to compare the two.
  • It may have a MAC and a divider. If your code is exercising these features heavily you'll consume a surprising amount of current
  • Some peripherals consume current when not specifically configured - go through and disable the peripherals and peripheral clock
  • Some older chips had rather high current consumption for certain blocks, like the brownout detector. Disable these in the fuse settings.
  • Perform a complete chip erase and reset.
  • Disconnect any programmers/debuggers to disable JTAG and related blocks.
  • Ensure inputs aren't floating - even though the risk of damage is all but gone these days, floating inputs can draw significant currents operating in the linear region.
share|improve this answer
None of these applied to me but +1 because I think they could be helpful to others. – SomeEE May 21 '14 at 18:03

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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