Overview

This guide is no longer accurate with the release of version 1.6.4 of the Arduino IDE. Custom third party board support has been officially added in v1.6.4+.

UPDATE: This guide is here for posterity, and the latest guide for adding boards to version 1.6.4+ of the Arduino IDE can be found here.

If you have downloaded v1.6.3 of the Arduino IDE, you may have noticed the addition of a feature called the Board Manager that was added along with the Library Manager. We have been working hard on updating our boards to work with the new Manager, but the IDE doesn't currently support adding of custom boards to the list. We have a temporary workaround for that issue in the form of a simple open source HTTP proxy that adds the Trinket Pro and Flora boards to the Board Manager list. We have also packaged other useful boards and added them to the proxy so they are easy for you to install.

Here is the current list of packages:

  • Adafruit AVR Boards - Includes support for Flora & Trinket Pro. If you are looking for support for the Gemma or standard Trinket, then your best bet is to follow this great guide by Tony DiCola. We are working on adding support for the Trinket and Gemma to the Board Manager.
  • ESP8266 - This adds one click install support for the ESP8266 Arduino project without having to download a separate copy of the Arduino IDE.
  • Arduino Leonardo & Micro MIDI-USB - This adds MIDI over USB support for the Micro and Leonardo using the arcore project.

Next we'll look at how to setup your Arduino IDE to use the proxy.

Adding the Proxy

This guide is no longer accurate with the release of version 1.6.4 of the Arduino IDE. Custom third party board support has been officially added in v1.6.4+.

First you will need to download version 1.6.3 of the Arduino IDE. This method will only work with version 1.6.3, so please double check and make sure that is the version you are using.

To add the custom boards to your Arduino v1.6.3 IDE, you will need to make one change to your Arduino v1.6.3 IDE preferences. Add apt.adafruit.com as the Server (HTTP) under Proxy Settings with a Port (HTTP) of 5050 and save.

If you are running any type of AntiVirus or Malware software on your computer, please make sure to whitelist apt.adafruit.com port 5050 so the traffic will not be blocked.

You will then be able to open the Boards Manager under the Tools->Board menu.

Once you have opened the Boards Manager, you will be able to install the new packages. Select the package you wish to install, and click the Install button to install it. 

Your new boards will now show up in the Tools->Board menu after installation has completed.

A restart of the Arduino IDE might be required to get the newly installed boards to function properly.

That's it! Please let us know in the Adafruit Forums if you have any issues!

How Does it Work?

This guide is no longer accurate with the release of version 1.6.4 of the Arduino IDE. Custom third party board support has been officially added in v1.6.4+.

Some of you may be wondering why how this works, or why it is needed. The Arduino Board Manager makes a request to the arduino.cc servers for a file called package_list.json every time you load the Board Manager. This works very similar to the Arduino Library Manager, but unlike the Library Manager, there is currently no support for adding third party board packages. This is where our proxy server comes in. There is no need to download the proxy server unless you wish to server your own custom board packages.

Pointing the Arduino IDE at the proxy server allows us to intercept any requests to the package_list.json file, and inject new boards into the JSON before serving it back to the IDE. This is known as a man-in-the-middle attack. Generally man-in-the-middle attacks are used for malicious purposes, so let's refer to this as "Adafruit-in-the-middle" since we are using it for friendly purposes.

You can find our additions to the JSON file by visiting the GitHub repo and examining the files in the boards and packages directories.

This guide was first published on Apr 06, 2015. It was last updated on Apr 06, 2015.