Skip to content

1. Introduction to Arduino Core

Animesh Srivastava edited this page Jun 21, 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 a 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 micro controllers 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 included are 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

Information

  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. Arduino Style Guide for Writing Libraries
  3. Installing additional cores
Clone this wiki locally