Using Arduino as an ISP to Program a Standalone ATmega 328P (Including Fuses)

The advantage of the Arduino architecture is that you can set up the development environment in no time. It probably takes you less than 10 minutes until the microcontroller (MC) finally blinks your first LED. This ease of use has made Arduino so popular among hobbyists. At some point, however, you wish to go beyond Arduino, produce standalone prototypes that may not require the USB connection nor the boot loader. You may also wish to tinker with the fuses that configure the MC at the hardware level and use clocks other than Arduino’s 16 MHz. In this project, we

  • turn Arduino into an ISP (in-system programmer) that can program other Atmel MCs
  • assemble a standalone setup of an ATmega 328P with an external 16Mhz crystal oscillator on a breadboard
  • flash an Arduino program (sketch) onto this ATmega 328P
  • change the fuse settings of the ATmega 328P

Continue reading