There are several things you need to do before learning AVR. First of all, you need an AVR chip. Better chose megaAVR series, so you don’t need to worry about lack of peripherals when required. Atmega8, Atmega16 or further mega’s will do correctly. Probably chose in DIP package as it will easily fit in breadboard for fast prototyping. Development boards are great to work with as they mostly are designed for learning and prototyping. Any Arduino board can be used with no problem as it has all the necessary means to serve as a general purpose dev board. Anyway, I leave this up you for a while. Next thing is the programmer. This is where you can get a headache. Really! In a few words, a programmer is a cable/device used to upload firmware (compiled program) to chip. Programmers can be connected to the computer via various ports including parallel (LPT), serial (COM) and USB. Or there can be no programmer at all if the chip has a bootloader set up. But this will be discussed later. These were two hardware parts that may empty your pocket a little. But don’t worry. Chips are as cheap as a few bucks. The programmer can also be made by you only with several cheap parts if needed.
Next important thing is development tools – software where you will write your programs and compile them for uploading to chip. Here you will be surprised – these will cost nothing for you. The first one which you can start downloading is AVRStudio developed by Atmel itself. This is “must have” software as it is free, with lots of valuable features. Second important software that has to be downloaded right away is WinAVR a compiler tool. These packages have to be installed to deploy fully featured tools. When having those you will be able to do all necessary tasks from the same program window. We will discuss them a more detailed manner in the following posts. For now, install the latest WinAVR and AVRStudio no additional setting is required.