Few examples of ATmega AVR basic input-output programming Tools needed :
- ATmel Studio 7.0
- Khazama AVR Programmer for flashing HEX code to MCU
- Zadig USB Driver for USBasp or AVR downloader
Hardware :
- Atmega16 series or another ATmega chip minimum system
- USBasp (downloader)
- LED, push button, etc for i/o devices
you can also upload this code using arduino as microcontroller itself connected via icsp pin