The board manager is a great tool for installing the necessary cores to use your Arduino boards. In this quick tutorial, we will take a look at how to install one, and choosing the right core for your board!
You can easily download the editor from the Arduino Software page.
You can also follow the downloading and installing the Arduino IDE 2 tutorial for more detailed guide on how to install the editor.
The board manager is a tool that is used to install different cores on your local computer. So what is a core, and why is it necessary that I install one?
Simply explained, a core is written and designed for specific microcontrollers. Arduino offers several different types of boards, and these boards may also have different types of microcontrollers. While different microcontrollers accomplish tasks in similar ways, the way code is compiled, pins are mapped, and what features are available is tailor-made to the silicon itself, meaning that this will also be microcontroller-specific.
What a core does is to act as a layer between all of this microcontroller-specific jargon, and you - the maker. The core translates it into the Arduino API you are already familiar with so that you can program any of the microcontrollers in the Arduino ecosystem in the same way.
For example, an Arduino UNO has an ATmega328P, which uses the AVR core, while an Arduino Nano 33 IoT has a SAMD21 microcontroller, where we need to use the SAMD core. However, regardless of what microcontroller is on the board we are using,
digitalWrite(LED_BUILTIN, HIGH)
will turn on the built-in LED, and analogRead(A0)
will read the analog pin 0 and check for a voltage.In conclusion, to use a specific board, we need to install a specific core.
Installing a core is quick and easy, but let's take a look at what we need to do.
1. Open the Arduino IDE 2.
2. With the editor open, let's take a look at the left column. Here, we can see a couple of icons. Let's click the on the Arduino board icon.
3. A list will now appear of all available cores. Now let's say we are using an Nano 33 BLE board, and we want to install the core. Simply enter the name in the search field, and the right core (Mbed OS Nano) will appear, where the Nano 33 BLE features in the description. Click on the "INSTALL" button.
4. This will begin an installation process, which usually only take a few moments.
5. When it is finished, we can take a look at the core in the boards manager column, where it should say "INSTALLED", as well as noting which version you have installed on your machine.
Congratulations! You have now successfully downloaded and installed a core on your machine, and you can start using your Arduino board!
In some specific use cases you might want to downgrade the version of a board package that you have on your machine. Thankfully, the Arduino IDE has built in support to let you jump between versions with a breeze.
To change the installed version of a boards package, follow these steps:
Search for the name of the package you want to change
Select your desired version in the drop down menu
And that should be it!
To make sure that the process was successful, cross check what version is installed by looking at this little tag right underneath the package name.
Do you have an Arduino board in your hands, but are not sure what core you need to install? When you plug a board in to your computer, and you don't have the appropriate core installed, the IDE should automatically prompt you to install it. But, in case you need it anyways, you can find a list of boards and the core packages they belong to below:
The AVR Boards package is based on the Arduino AVR Core, and includes the following boards:
The AVR core comes pre-installed when you download the Arduino IDE, so if you have one of these boards - Great! You're already done and won't need to install it yourself. You can, however, still find it in the board manager if you want to change what version of the core you have installed. For detailed instructions on how to do this, follow the steps above.
For source code and reporting issues, please visit the official GitHub repository:
The MegaAVR Boards package is based on the Arduino AVR Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino MegaAVR Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The UNO R4 Boards package is based on the Arduino Renesas Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino UNO R4 Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The SAM Boards package is based on the Arduino SAM Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino SAM Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The SAMD Boards package is based on the Arduino SAMD Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino SAMD Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The Mbed OS GIGA Boards package is based on the Arduino Mbed Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino Mbed OS GIGA Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The Mbed OS Nano Boards package is based on the Arduino Mbed Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino Mbed OS Nano Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The Mbed OS Portenta Boards package is based on the Arduino Mbed Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino Mbed OS Portenta Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The Mbed OS Nicla Boards package is based on the Arduino Mbed Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino Mbed OS Nicla Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The Mbed OS Edge Boards package is based on the Arduino Mbed Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino Mbed OS Edge Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The Renesas Portenta Boards package is based on the Arduino Renesas Core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino Renesas Portenta Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
The ESP32 Boards package is based on the Arduino-esp32 core, and includes the following boards:
You can install this package in the board manager by searching for "Arduino ESP32 Boards". For detailed instructions, see the Installing a Core section.
For source code and reporting issues, please visit the official GitHub repository:
You can find more tutorials in the Arduino IDE 2 documentation page.