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 needed. Atmega8, Atmega16 or further mega’s will do perfect. 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 necessary means to serve as general purpose dev board. Anyway I leave this up you for a while. Next thing is programmer. This is where you can get headache. Really! To say in few words – programmer is a cable/device used to upload firmware (compiled program) to chip. Programmers can be connected to computer via various ports including parallel (LPT), serial (COM) and USB. Or there can be no programmer at all if 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 few bucks. 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. 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 tools. These to packages have to be installed in order to deploy fully featured tools. When having those you will be able to do all necessary tasks from same program window. We will discuss them more detailed manner in following posts. For now just install latest WinAVR and AVRStudio no additional setting is required.