We are still actively working on the spam issue.
AVRs are like UNIX in microcontrollers world - they're old (first were developed in '96), compared to Arduino™ hard to learn, but stable and effective (if you know how to use them). They are great tools for hobbyists and professionals alike to take an initial dip into the world of low level computers (aka microcontrollers) and embedded devices in general. If you want to make some cheap-ass electronic project, lighting driver for example, there's no better technology to choose. Only thing you need to start is USBasp programmer and some basic electronic components like capacitors, resistors. Additionally, you can buy a whole AVR kit (including the In Circuit Programmer, the pre assembled board, and a few jumper wires) for as low as 10$. If you wish, you can assembly the board yourself, or just use a breadboard. But i wouldn't recommend it to the average beginner.
To setup the environment go HERE, if you want a no-nonsense, clean setup, or if you use Windows
If you prefer a more bare-bones approach, or use a Linux based distribution, you need a few pieces of software before starting. If you use a mainstream distribution, you just need to install these packages from the repository
- gcc-avr to compile the program after writing it, if you program in C
- g++-avr to compile the program after writing it, if you program in C++
- avra to compile the program after writing it, if you program in assembly
- avrdude to 'burn' or simply transfer the program from from the .hex file to your actual micro-controller using the ISP (In System Programmer)
That's about it, you can use any text editor to program these. The languages that can be used are
- C (recommended)