How do I avoid drawing too much power from an arduino?

Hi everyone.

So when I was just using arduino with a mp3 shield from adafruit and, out of nowhere, my laptop just stop reading arduino because "the usb device drawing too much power is disabled"

I googled problem and some other people would have problem with coffee warmer or keyboard which are all unreasonable.

And after unplug arduino I found out the board was freakishly hot and I thought I broke it somehow... After restarting the IDE several times the problem would go away and I would upload code normally, but it would come back and forth unpredictably.

Has anyone met similar problems like this, and can explain why is that?

Thanks in advance :)

If you are running off USB power the Arduino should be drawing under 100 mA leaving you about 400 mA for other things. When the board heats up, which component is getting hot? I have some Arduino Leonardo clones where the 5V regulator gets hot when running off USB power. Do you have an official "Made in Italy" Arduino UNO R3?