Atmel AVR Presentation, Part 1

Atmel AVR Presentation 5/17/09


This is the information I presented to the club during our May 17th meeting. It was a general overview of the Atmel AVR microcontroller, resources available, assembled/kit form hardware, programmers/debuggers, and software (programming and tools). I intended this to be a way for members to do some exploration on their own.

Main Resources

The main resource for anything dealing with the Atmel AVR is Atmel's web site There you can download datasheets, app notes, and the software/programming tool AVR Studio. As you look over the 8-bit AVR microcontrollers, you will notice 3 main families. The Tiny, Mega, and XMega series. There are a few others, but for the most part you'll end up working with one of these. That is if you decide to use an AVR. The Tiny AVR is your reduced pin count, low cost part. Moving to the Mega AVR you now start to get into larger pin count devices. The Mega series has low to mid cost options. The newest series is the XMega. This was produced to compete in the advanced 8-bit and low end 16-bit realm. Atmel is expecting it to compete against Microchip's PIC24F (16-bit) series and Texas Instruments MSP430 (16-bit) microcontrollers. The XMega includes 4 DMA channels, higher clock speeds, and an Event System. I suggest you check out Atmel's web site for more information.

The next place on my list would be the AVR Freaks forum. When you look at the forum, you will find more information then you can digest. Lucky for you they broke it down into sections. Some of the threads I follow most are the hardware (which deals with the electronics side), the AVR Studio, and the AVR-GCC threads. I have one major suggestion for you if you decide to post a question: make sure you are specific and have done your home work. If you post a question that makes it look like you want them to do all the work for you (including coding your project), you will meet some resistance. In truth, the Borg couldn't even touch these guys! Ok, not a great joke. Many students are on the forum, and the people are not there to do somebody's home work for them. Don't let this scare you away, they will help. Just make sure you have tried, and put your post under the most relevant thread. So check them out at:

Another good resource is our club's very own Eddy Wright and Wright Hobbies. If you are wondering how to hook up an AVR to sensors and motors, take a look at Wright Hobbies: Eddy likes to program his robots in BASIC. To do that he uses a program called BASCOM. It is a compiled version of BASIC for the AVR. One of the nice features of BASCOM is the access to the microcontroller's interrupts. There are many other keywords that make it easier for embedded programming with the AVR. One of the great things about Eddy's site is the many bits of example code. With his examples and a bit of work on your part, you'll have programmed your AVR in no time.

Well, as this is starting to get long, I am going to stop here. I'll post part 2 tomorrow. The next section will be on Hardware - modules/controller boards using the AVR micro.