# Awesome AVR Microcontrollers

A curated list of awesome AVR tools, libraries, resources, and shiny things. Inspired by awesome-… stuff.

- Awesome AVR
  - Boot Loader
  - Driver
  - EEPROM
  - I2C
  - ISP
  - JTAG
  - Keyboard
  - LCD
  - PWM
  - SPI
  - TWI
  - USART
  - USB
  - Wireless
    - nRF24L01
    - ZigBee
  - Xmega
  - Miscellaneous
- Hardware
  - Programmers
- Software
  - Compilers
  - Integrated Development Environments
  - Simulators
- Resources
  - Articles
  - Books
  - Videos
  - Websites
- Other Awesome Lists
- Contributing

## EEPROM

- i2ceeprom - A simple C library for interfacing with 24CXX series I2C EEPROMs.

## I2C

- i2cdevlib - I2C device library collection for AVR/Arduino or other C++-based MCUs.
- I2C-master-lib - Lightweight I2C library for 8-bit AVRs.

## Keyboard

- tmk_keyboard - A keyboard controller firmware for Atmel AVR USB family.
- AVR-Keyboard - USB Keyboard firmware for Atmel AVR microcontrollers.

## LCD

- I2CLCD - A simple C library for interfacing with I2C LCDs.

## SPI

- AVRLib/SPI - Serial Peripheral Interface.

## USB

- v-usb - A Firmware-Only USB implementation for Atmel’s AVR Microcontrollers.
- LUFA - A lightweight USB Framework for AVRs.
- libusbx - A cross-platform user library providing access to USB devices.

## Wireless

- rf24boot - nRF24L01+ bootloader for avr and other mcus.
- libnrf24l01p - NRF24L01+ Transceiver library.
- RF24Network - Network Layer for nRF24L01(+) Radios.
- nrf24L01_plus - Portable nrf24L01+ library with auto acknowledgement and auto retransmission support.
- arduino-nrf24l01 - An Arduino port of the nRF24L01 library.
- NRF24-BTLE-Decoder - Sniff and decode NRF24L01+ and Bluetooth Low Energy using RTL-SDR.
- AVRLib/nRF24L01 - Nordic Semiconductor nRF24L01.

## Miscellaneous

Useful libraries or tools that don’t fit in the categories above or maybe just not categorised yet

- AVR Libc - A high quality C library for use with GCC on Atmel AVR microcontrollers.
- light_ws2812 - A lightweight library to control WS2811/WS2812 based LEDS and LED Strings for 8-Bit AVR microcontrollers.
- avr-os - A multitasking OS for Arduino and AVR platforms.
- AVR-Crypto-Lib - A library providing implementations of cryptographic algorithms for the AVR 8-bit microcontroller family.
- libemb - A collection of libraries which try to make things needed in many MCU based projects more convinient.
- Pocket AVR Programmer - Example firmware and board files for the Pocket AVR Programmer.
- avr-tutorials - LaTeX typeset versions of my popular AVR Tutorials.
- AVRliberty - Library of routines for AVR microcontollers.
- AVR-EAX-AES-bootloader - Bootloader for AVR microcontrollers featuring EAX mode encryption in 1024 bytes.
- ArduinoAES256 - Ilya’s byte-oriented AES-256 implementation implemented for Arduino.
- Arduino AESLib - Arduino Library for AES Encryption (source based on avr-crypto-lib).
- avr-libs - Some other libraries and code examples for interfacing AVR microcontrollers with external devices

# Software

Software for creating a development environment.

## Compilers

List of AVR compilers

- avr-gcc

## Integrated Development Environments

List of AVR nominal IDEs.

- Atmel® Studio
- CodeVisionAVR

## Simulators

List of AVR Simulators

- simavr - A lean, mean and hackable AVR simulator for linux & OSX.

# Resources

Various resources, such as books, websites, and articles for improving your AVR development skills and knowledge.

## Articles

Fantastic AVR related articles.

## Books

Fantastic AVR related books.

- Make: AVR Programming - Learning to Write Software for Hardware.

## Videos

Fantastic AVR related videos.

## Websites

Useful AVR related websites.

- AVR Freaks - AVR Freaks Forum.
- AVR Projects - Free projects for 8-bit atmel avr microcontrollers.
- Arduino for Projects
- ATmega32 AVR
- PIC-Microcontroller

## Persian Websites

- avr92

## Other Awesome Projects

Collection of useful codes, snippets, …

- AVR-Programming - Code examples for the book “Make: AVR Programming”.
- AvrProjects - Different projects and drafts for Atmel’s avr controllers.
- Tinkerer’s AVRLib - A small collection of code snippets which are often needed programming Atmel AVR-Controllers.

# Other Awesome Lists

Other amazingly awesome lists

- lists - List of (awesome) lists curated on GitHub
- awesome-awesomeness - A curated list of awesome awesomeness.
- awesome - A curated list of awesome lists.
- awesome-cpp - Awesome C/C++ frameworks, libraries, resources, and shiny things.
- free-programming-books - List of Freely Available Programming Books
- papers-we-love - Papers from the computer science community to read and discuss.

# Contributing

Please see CONTRIBUTING for details.