3.d. Programming AVRs Using AVRDUDE

It is possible to program AVRs in Windows using AVRDUDE. AVRDUDE is free and included in the WinAVR package. To program a hex file onto your AVR, you would type something similar to the following into a command prompt:

cd C:\BlinkLED\Debug
avrdude -p m328p -P COM2 -c avrispv2 -U flash:w:BlinkLED.hex 
  • The argument following the -p is the part number of the AVR. For an Orangutan or 3pi Robot, the part number should be m328p, m1284p, m324p, m644p, m168, or m48.
  • The argument following the -P is the port name. You can determine your programmer’s port name by looking in the “Ports (COM & LPT)” list of your Device Manager for “Pololu USB AVR Programmer Programming Port”. Using \\.\USBSER000 will also usually work.
  • The argument following the -c is the programmer protocol and should be avrispv2.
  • The -U option is used for writing, reading, or verifying flash, EEPROM, fuses, or lock bits. In this example we are using -U to write BlinkLED.hex to flash.

Please see the AVRDUDE documentation for more detailed information.

AVRDUDE’s terminal mode (the -t option) is not compatible with the programmer because the programmer will exit programming mode and release the target AVR from reset if it receives no programming commands for 1400 ms.