Maker.io main logo

Installing Board Definitions in the Arduino IDE

2025-08-29 | By SparkFun Electronics

Arduino ESP32 ESP8266

Courtesy of SparkFun

Guide by santaimpersonator

Getting Started with the Arduino Board Manager

Starting from the Arduino Software (Integrated Development Environment or IDE) version 1.6.2, all Arduino AVR boards are installed with the Arduino IDE, by default. Some development boards, require an additional core to be installed; therefore Arduino implemented the Boards Manager as a tool to add cores to your Arduino IDE.

Installing Board Definitions in the Arduino IDE

What is a Core?

The cores are necessary to make new microcontrollers compatible with your Arduino IDE and, possibly, the existing sketches and libraries. Arduino develops the cores for the microcontrollers used on their boards, but anyone may develop a core for their own boards following the rules and requirements laid out by Arduino.

Arduino website also has great instructions on installing Arduino cores. For more information on using the Arduino IDE Boards Manager, check out their tutorial or click the button, below:

Arduino's Getting Started with the Arduino Core Tutorial

What is a Board Definition?

A board definition is the associated variants and pin configuration files in a core, that are provided to integrate a board's microcontroller into the Arduino IDE and board's pin layout with available methods for each pin's functionality. For more details, check out the documentation for the platform specifications.

Suggested Reading

For more basics on Arduino, check out our tutorials below:

  • Installing an Arduino Library: How do I install a custom Arduino library? It's easy! This tutorial will go over how to install an Arduino library using the Arduino Library Manager. For libraries not linked with the Arduino IDE, we will also go over manually installing an Arduino library.
  • What is an Arduino? What is this 'Arduino' thing anyway? This tutorials dives into what an Arduino is and along with Arduino projects and widgets.
  • Installing Arduino IDE: A step-by-step guide to installing and testing the Arduino software on Windows, Mac, and Linux.
  • Choosing an Arduino for Your Project: Examining the diverse world of Arduino boards and understanding the differences between them before choosing one for a project.

Installing an Arduino Board Definition

Starting from the Arduino Software (IDE) version 1.6.2, all Arduino AVR boards are installed by default. Some Arduino boards require an additional core to be installed, therefore they implemented the Boards Manager as the preferred tool to add cores to your Arduino Software (IDE). It is found in the Tools menu under Board: "<Selected Board>", Boards Manager...

Installing Board Definitions in the Arduino IDE Navigating to the Boards Manager in the Arduino IDE (v1.8.5).

When the Boards Manager is opened, a list of installed and available Arduino cores will appear. (*The download of the index file could take some time and the list appears at the end of this process; please be patient.)

Installing Board Definitions in the Arduino IDE The Boards Manager in the Arduino IDE (v1.8.5).

To find a specific board definition, search for the microcontroller family or use a keyword such as avr or samd, and the related Arduino core should show up. Click on the desired Arduino core and an Install button will appear in the lower, right-hand corner.

Installing Board Definitions in the Arduino IDE Arduino core for the Arduino SAMD Boards, ready to be installed.

Click the Install button, and the Arduino core should install automatically.

Installing Board Definitions in the Arduino IDE Arduino SAMD core being installed.

Once the installation is complete, the version of the Arduino core and an INSTALLED tag will appear next to the name of the core.

Installing Board Definitions in the Arduino IDE Completed installation of the Arduino SAMD core.

Now with the Arduino core is installed, the board definitions can be accessed from the Board: "<Selected Board>", drop down menu.

Installing Board Definitions in the Arduino IDE Board definitions for the Arduino SAMD Boards.

Updating an Arduino Core

Once installed, the core will be updated as more board definitions are added into the core. Occasionally, the installed Arduino core may need to updated from time to time. In most cases, a board definition won't be listed in the associated Arduino core or the upload/verify process results in a compilation error. To check for updates, open up the Boards Manager and locate the associated Arduino core.

Installing Board Definitions in the Arduino IDE

Click on the desired Arduino core and if an update is available, an Update button will appear in the lower, right-hand corner. To update the core, click on the Update button.

Installing a Third-Party Board Definition

For cores developed by third-party manufactures, Arduino has an extra installation process. Without which, a search for sparkfun in the boards manager, will yield no results:

Installing Board Definitions in the Arduino IDE No results when searching for sparkfun.

The process requires a specific file, written in JSON format, that must be entered into the Additional Board Manager URLs field, inside of the Arduino IDE Preferences. This file provides the index of the Boards Manager with information about the third-party core, so that it can be linked and displayed accordingly.

The Arduino IDE Preferences is accessed from the File drop down menu, users can also use the Ctrl + , shortcut:

Installing Board Definitions in the Arduino IDE File drop down menu in the Arduino IDE.

Installing Board Definitions in the Arduino IDE Additional Board Manager URLs field in the Arduino IDE Preferences menu.

SparkFun maintains the Arduino cores for most or our development boards. Below, are each of the *.json files for the associated cores to be entered into the Additional Board Manager URLs field:

Note:

We have since handed over maintenance of the Arduino core for our ESP line of microcontroller products, over to Espressif Systems. This was primarily due to changes in the Arduino IDE that caused conflicts in the compilation for MCUs hosted by separate parties.

There are a select number of boards in our catalog that may require a (different) .json file, to an separate Arduino core that is maintained by another manufacturer. For those boards, please refer to the datasheet and/or associated hookup guide for the link to their file or installation instructions.

To enter multiple .json files, users can click on the small, multi-window icon to the right of the field. A window will open, with a field for multiple URLs entries; make sure to separate each file with a , or new line (i.e., carriage return).

Installing Board Definitions in the Arduino IDE Text field for the Additional Board Manager URLs window.

Use the COPY CODE button below to copy all of the files at once, instead of copying each file individually:

Copy Code
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/main/IDE_Board_Manager/package_sparkfun_index.json
https://raw.githubusercontent.com/sparkfun/Arduino_Apollo3/main/package_sparkfun_apollo3_index.json 
https://arduino.esp8266.com/stable/package_esp8266com_index.json 
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

After this procedure, the new cores will be available for install in the Boards Manager; common keywords are the board manufacturer, microcontroller family, or board name. Try searching for sparkfun in the boards manager:

Installing Board Definitions in the Arduino IDE SparkFun's cores listed in the Boards Manager.

Note: To search for the ESP32 and ESP8266 board definitions from Espressif Systems, use ESP as the keyword in the search bar.

To complete the installation process, users only need to click the INSTALL button that appears for the selected core, as in the previous section. For other, third-party cores, not maintained directly by SparkFun, please refer to the information provided by the core's author to get more specific instructions.

Resources and Going Further

Now that you have your board definitions installed, you can start programming your board. Here are some further readings that may help you along in learning more about the world of electronics.

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.