What's the maximum amount of current which I can draw from each of the Arduino's pins without tripping any of the internal fuses? Is there a limit per pin as well as an overall limit for the whole board?
This is a bit complex. Basically, there are a number of limiting factors:
The IO lines from the microcontroller (i.e. the analog and digital pins) have both an aggregate (e.g. total) current limit, and an per-pin limit:
From the ATmega328P datasheet.
However, depending on how you define the Arduino "Pins", this is not the entire story.
The 5V pin of the arduino is not connected through the microcontroller. As such, it can source significantly more power. When you are powering your arduino from USB, the USB interface limits your total power consumption to 500 mA. This is shared with the devices on the arduino board, so the available power will be somewhat less.
When you are using an external power supply, through the barrel power connector, you are limited by the local 5V regulator, which is rated for a maximum of 1 Amp. However, this it also thermally limited, meaning that as you draw power, the regulator will heat up. When it overheats, it will shut down temporarily.
The 3.3V regulated output is able to supply 150 mA max, which is the limit of the 3.3V regulator.
- The absolute maximum for any single IO pin is 40 mA (this is the maximum. You should never actually pull a full 40 mA from a pin. Basically, it's the threshold at which Atmel can no longer guarantee the chip won't be damaged. You should always ensure you're safely below this current limit.)
- The total current from all the IO pins together is 200 mA max
- The 5V output pin is good for ~400 mA on USB, ~900 mA when using an external power adapter
- The 900 mA is for an adapter that provides ~7V. As the adapter voltage increases, the amount of heat the regulator has to deal with also increases, so the maximum current will drop as the voltage increases. This is called thermal limiting
- The 3.3V output is capable of supplying 150 mA.
- Note - Any power drawn from the 3.3V rail has to go through the 5V rail. Therefore, if you have a 100 mA device on the 3.3V output, you need to also count it against the 5V total current.
Note: This does not apply to the Arduino Due, and there are likely some differences for the Arduino Mega. It is likely generally true for any Arduino based off the ATmega328 microcontroller.
The maximum current values are listed here for the Uno, Duemilanove:
DC Current per I/O Pin: 40.0 mA
DC Current per VCC and GND Pins: 200.0 mA
Overall DC current limit for all IO pins put together: 200 mA
Note that if there are more than one VCC/Vin/GND pins, then the Arduino can take more current. (Each pin corresponds to a pin on the ATMega328)
These seem to be more or less standard for most Arduinos, as these current limitations are for the microcontroller.
What's the maximum amount of current which I can draw from each of the Arduino's pins without tripping any of the internal fuses?
There is only one fuse on the Arduino boards. There is a Resettable Polyfuse on the USB port which limits current starting at 500mA. This fuse is only effective when powered by USB and only when total draw on the 5V rail is more than 500mA. (Note that this type of fuse does not simply "blow open.")
If you draw too much current (40mA or more) from an I/O pin, it will damage the pin. There are no fuses on the I/O pins.
According to the v2.3 schematic, the Arduino Nano 3.3v regulator is the FTDI usb to serial ic. That has a max current rating of 50mA.
To run your module you will have to provide an external 3.3V supply. Maybe provided by a 3.3V LDO regulator powered by the 5V pin which is either fed from the USB or the 5V regulator, a UA78M05, both of which are 500mA maximum (less the current required by the Nano)