Getting Started with the Atmega328P

This is a tutorial that shows you how to set up the Atmega328P and program it using WinAVR to blink an LED.


I'm not usually "warm" to tutorials that distract uses from the ArduinoIDE way of doing things, but since the "bare chip" is off the well worn path, I can see no harm in this... but a better title could have been chosen IMO :confused:

That being said, many users here are just going to get confused with WinAVR. Still, it is a legitimate way of programming bare silicone. Your diagrams with the solderless breadboard are very nice, but then you put in no graphics for WinAVR. Perhaps I missed a link to a WinAVR tutorial in the write-up.

Thanks for sharing.


First up, as mrburnette says, this is an Arduino forum, so directing people to use WinAVR instead is inappropriate.

[quote author=The tutorial]Note: The power applied from the Resistor to Pin 1 controls what “LOW” should be so the ATMega doesn’t constantly reset itself.[/quote]Does the pullup resistor on the RST pin really "control what “LOW” should be"? This statement doesn't make sense.

And for beginners, why add the complexity of fiddling about with makefiles? The Arduino IDE is far easier to get started with.

... we are going to use Programmer’s Notepad to allow you to do a lot more with the chip than what you can do using Arduino.

Is this really so? Both the Arduino IDE and WinAVR use the gcc compiler, and virtually anything compiled in WinAVR will also compile in the Arduino IDE.

Another advantage of the Arduino IDE is predefined pin numbers, (although they don't have to be used), along with support for the chip's internal ADC, serial communications and more.

Personally, I'd recommend that anyone starting out with the ATMega328P is far better off using the Arduino IDE than trying to wrestle with WinAVR. It has been especially designed for beginners.

I would have never ventured into programming micro controllers if Arduino was not existent. Arduino made a beginner’s life easy by abstracting so many complexities. I really dont want to use any other way to program my Atmega’s.

Also, WINAVR is very obsolete by now; I wouldn’t recommend it for … anyone.