Skip to content

1. Introduction to Arduino Core

Animesh Srivastava edited this page Jun 23, 2019 · 9 revisions

What is a Core ?

A Core is the software API for a specific group of chips. For example, the Arduino AVR core supports the AVR chips found on most Arduino boards. The SAM3X core supports the Arduino Due, etc. It is the core that provides low-level APIs (Application Programmer Interfaces) like analogRead(), digitalWrite(), millis(), etc. which are documented on the Arduino Reference page.

Cores are usually installed as part of boards bundle in the boards' manager. This includes definitions for the boards (variants), the core and, equally importantly, the compiler and firmware uploading software for the chip on the board. Cores are necessary to make new microcontrollers compatible with your Arduino Software (IDE) and, possibly, the existing sketches and libraries.

In your default IDE installation the Arduino AVR core can be found within the hardware/arduino/avr/cores/arduino folder. Source for additional libraries is included in libraries/. Additional files may be found in the sketchbook under its hardware/*/cores/ and libraries/ directories.

A screenshot of files inside core/arduino from the Github Page

Arduino Core Links

Arduino Core Link to Core Files
ArduinoCore-arc32 Core Files
ArduinoCore-avr Core Files
ArduinoCore-megaavr Core Files
ArduinoCore-sam Core Files
ArduinoCore-samd Core Files

Se Also

  1. Extension of core: The libraries are used to extend the core. They can be used to provide additional functionalities to the core. Read about Arduino Libraries here.
  2. ArduinoCore-API
  3. Arduino Style Guide for Writing Libraries
  4. Installing additional cores