In celebration of the 50th anniversary of Apollo 11's Moon Walk, we are offering $50 off our SparkFun Inventor's Kit for RedBot and the Arduino Engineering Kit while supplies last! Use promo code APOLLO11 at checkout until 11:59 p.m. MT to get yours today!


Member Since: July 7, 2010

Country: United States

  • That means that ALL your I/O ports, together, can source/sink up to 200mA. Each individual pin can only source/sink up to 25mA. In other words, you could have eight pins do 25mA, and your MCU would be doing 200mA. You could also have ten pins do 20mA and have a total of 200mA. What you can't do is, say, have four pins draw 50mA for a total of 200mA (too much per pin) or have ten pins draw 25mA for a total of 250mA (too much total). To answer your question directly, your I/O ports will draw up to a maximum of 200mA (plus any losses to heat in the chip).

  • I'm guessing you've got this by now, but I'll leave this note for others. I got the same error.
    Open the makefile, and find the line AVRDUDE_WRITE_FLASH. You can append AVRDude command-line options to this line and they will be run automatically when you choose Tools > [WinAVR] Program. Add -F to the end of this line and it will force the write.
    As far as I can tell there's no reason you can't use 168 code on a 328 (same chip, more memory) but AVRDude doesn't like it.

No public wish lists :(