arduino/ArduinoCore-avr
FreeThe Official Arduino AVR core
FreeFree tier
About arduino/ArduinoCore-avr
ArduinoCore-avr is the official Arduino core for AVR-based microcontroller boards. This repository contains the complete source code and configuration files for the Arduino AVR Boards platform, including bootloaders, core libraries (written in C and C++), board definitions (boards.txt), platform configuration (platform.txt), programmer definitions (programmers.txt), and board variants. It provides the foundational firmware and toolchain support needed to compile and upload sketches to popular Arduino boards such as Uno, Mega, Leonardo, Nano, and many others. Maintained by Arduino and hosted on GitHub, it is open-source and community-driven, with over 1,700 commits and 1,500 stars.
Key Features
Official Arduino core for AVR microcontrollers
Complete bootloader collection for AVR boards
Core libraries written in C and C++
Board and platform configuration files (boards.txt, platform.txt)
Programmer definitions (programmers.txt)
Support for multiple board variants
Open-source codebase with active community contributions
Includes drivers, firmwares, and extras
Pros & Cons
Pros
- Official core maintained and supported by Arduino
- Comprehensive support for a wide range of AVR-based Arduino boards
- Active open-source community with regular updates and releases
- Includes bootloaders, libraries, and configuration files out of the box
- Well-documented and widely used in the Arduino ecosystem
Cons
- Limited to AVR microcontrollers; does not support ARM-based Arduino boards (e.g., Due, Zero, MKR series)
- Requires familiarity with Arduino IDE or compatible toolchain
- May include legacy code for older boards that are less commonly used
Best For
Building firmware for AVR-based Arduino boards (Uno, Mega, Leonardo, Nano, etc.)Developing custom Arduino-compatible AVR boardsContributing to the core development of the Arduino platformLearning embedded systems programming with Arduino and AVRPorting Arduino libraries to new AVR hardware
FAQ
What is ArduinoCore-avr?
It is the official Arduino core for AVR microcontrollers, containing the source code, bootloaders, libraries, and board definitions for Arduino AVR boards.
Which boards does it support?
It supports all AVR-based Arduino boards including Uno, Mega, Leonardo, Nano, Pro Mini, and many others listed in the boards.txt file.
Is it free to use?
Yes, ArduinoCore-avr is open-source and free to use under the Arduino license. You can download, modify, and distribute it following the license terms.
Where is the source code hosted?
The source code is hosted on GitHub at arduino/ArduinoCore-avr.