The Arduino IDE (currently version 1.6.5) supports multiple µC architectures (called “boards” and “platforms” in Arduino IDE-speak). Here’s what it includes out of the box:
As you can see, there are various AVR-based 8-bit boards as well as ARM-based 32-bit boards. Many of these differ only in minor details, such as the clock speed, the mechanism used to upload, and the exact pin assignments for each particular board.
From a user prespective, adding a new platform is quite simple – as described here for the ESP8266 WiFi module, and here for various STM32-based boards. This adds the following options to the IDE (in the Tools => Board
menu) – for the STM32, we’ll see this:
As you can see, there are several groups of µC architectures, with one or more different boards in each. Once you choose a board, further options appear under the Tools menu:
All of this is driven by an large set of configuration settings in files called boards.txt
, platform.txt
, and programmers.txt
– these must be located in a sub-folder of the hardware/
directory inside the “Sketch Folder”.
Luckily, there is a fair amount of documentation about all this stuff on the Arduino Wiki. Another good source is by Adafruit: Adding Third Party Boards to the Arduino v1.6.4+ IDE.
That’s a lot of information to take in, and quite a bit of configuration to figure out, but it looks like all the mechanisms exist to start adding an entry – what we’re after is this:
As it happens, some of the footwork was already done in a previous project. Stay tuned…
[Back to article index]