libavrutil is a collection of useful routines for programming AVR devices. Its principal aim is to provide an unified and easy-to-use interface for performing basic and more complex common tasks expected from an AVR, such as digital and analog in-and output, controlling servos, generating sound, estabilishing serial communication, etc.
The library was designed in the hope that it'll be useful on as many of the different AVR types as possible. However, the author does not have access to all members of Atmel's microcontroller family, so any contribution regarding the unification of the API or adding/fixing features are highly appreciated.
Documentation and sample code can be found in the doc/examples and the doc/html directories.
How to build and use the library:
1.) You'll need the minimal AVR toolchain: apt-get install gcc-avr binutils-avr avr-libc avrdude
2.) cd libavrutil && ./configure