Burning the Bootloader
For many of the Arduino functionalities of the 328P to work (like the delay() function, for instance), we need to burn the Arduino bootloader onto it. This can be done with the programmers mentioned below, and by following this guide by Arduino. This will only have to be done once, and then you can reprogram the 328P with Arduino as many times as you want!
Arduino as ISP
Since there is no USB connector on the 328P breakout board, we have to program some other way. The most common is to program it through the ICSP header. To do this, you will need another Arduino and 6 jumper wires.
To learn how to program over ICSP, click here to visit the Arduino reference page on ICSP programming. The ICSP pinout of the breakout board (as seen from the bottom of the board) can be found to the left.
|
DIP-Swap Programming
If you do not want to program over ICSP, another option is to use an Arduino Uno with a DIP socket. Just upload your program to the Uno, unplug the Uno from your computer, remove the 328P from the Uno, and put it into your voltmeter or breakout board. Note that this will not work for burning the bootloader! That will still have to be done with one of the other two methods.
|
DIP Programmer
If you are planning on doing a lot of work with DIP MCUs, it may be worth investing in a DIP programmer. It combines the best of the previous two programming methods to give you a fast and easy way to program your MCUs. I programmed all the 328Ps for these kits using the ISP Shield 2.0 from Evil Mad Scientist.
|