Basic hardware and software required for AVR

For proper working of an AVR, we requires the following four things to start:

  • An IDE, in which we can write a program in C language/assembly language; which compiles it and generates a .hex file (machine language file) as Microcontrollers only understand .hex file.
  • A Programmer hardware that act as a link between computer and Microcontroller.
  • A programming software interface that uses programmer hardware and sends necessary .hex file to be placed in Microcontroller through that programmer.
  • An ATmega32 microcontroller and its basic circuit.


Among the many softwares available, the two most popular are:


A programmer depends upon the communication port (Serial, parallel or USB port) of a computer. As new computers rarely have serial or parallel port, I will be here using a USB programmer.

USBasp: It is a USB in-circuit programmer for Atmel AVR controllers.

Programming software:

Combination of Avr studio 4 , WinAVR and eXtreme burner will be good for windows user.

Basic setting of how to make a new project in AVR studio 4 is shown in the video below: (watch it at full screen high resolution!)

For Linux user a simple text editor, avr-gcc compier and avr-dude. You can use this makefile for building your AVR code.

Now we can move ahead and understand the basic input output concepts of AVR microcontrollers.

Hope this was helpful to you! Any questions ? Comment here!