I'd like to write a Board Manager profile for some Arduino boards that I have. So far I've struck out on finding the documentation on the format and contents of the files. Does anybody know where I can find it?
2 Answers
Documentation is kind of scarce.
Basically there are two aspects to what you want - the board definition and the board manager JSON file.
The first describes the board to both the IDE (entry in boards.txt
) and to the API software (definition of what pins are what and what peripherals are where, etc). The latter is in the file pins_arduino.h
.
Then there is the JSON
file that describes the whole package to the board manager and is what allows people to download the boards.txt
and pins_arduino.h
files (and anything else you may require) from your website.
As there is not much documentation you are best off taking an existing set of files that are close to what you want and modifying them. Most of the time it will be a slight tweak such as re-ordering a few pins in some arrays, or changing the name of the board and maybe an upload command or baud rate setting.
Arduino has provided comprehensive official documentation. You may not have found it because, since this is developer documentation rather than something the average Arduino user needs, it is published in the wiki of the Arduino IDE GitHub repository rather than with the standard documentation on arduino.cc.
Hardware Package
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification