The Neocortex board has broken out some pins that are not available on an Arduino Mega and therefore are not mapped by the standard board definitions provided along with the Arduino IDE.
Add the Neocortex pin definitions by following the steps below:
File
➡️Preferences
- In
Additional Boards Manager URLS
appendhttps://raw.githubusercontent.com/CELLINKAB/lowlevelboard-arduino-utils/master/package_cellink_index.json
by adding a,
before if more entries are already present. Tools
➡️Board
➡️Boards Manager
- In the search bar, look for
Neocortex
and install the latest version - Select the
Neocortex
board by finding it inTools
➡️Board
Creating a new board package version involves updating the ./neocortex
directory as desired, creating a .zip
archive from it with the correct version name, updating the package_cellink_index.json
file, and pushing these changes to the desired branch of the Git repository.
The 3rd party Hardware Specification document governs the syntax for board and platform definitions, as well as describing how the package should be deployed.
You can add different build targets as top level "boards", or alternatively as configurations of a single board. You can define such configuration options as "menu items" on top of the boards.txt
file. These menu items will appear in the Arduino IDE "Tools" menu, under the board selection. These configurations can be used to override the board defaults.
☝️ Update the version number in platform.txt
.
- Create a
.zip
archive from the./neocortex
folder and name the archiveneocortex-X.X.X.zip
- The
package_xxx_index.json
document is used by the Arduino IDE to install the board package, and needs to be updated. Update the"version"
and the"archiveFileName"
. The specification for the package index is described in this document.
If, for instance, you would add a new board to boards.txt
called Neovortex, this would also be referenced in the package index document under the "boards"
key:
"boards": [
{"name": "Neocortex"},
{"name": "Neovortex"}
],
-
The archive's size (in bytes) and SHA-256 hash needs to be updated in the
package_cellink_index.json
. In order to get the hash, run:sha256sum ./neocortex-X.X.X.zip
- Commit everything (do not delete the previous
.zip
archive) to a testing branch. You will need to specify the name of the testing branch in thepackage_cellink_index.json
document. This is a circular reference that needs to be edited before merging into the master branch! - Follow the instructions to add the board to the IDE, but make sure you specify the test branch in the URL.
- Start the Arduino IDE, remove the package and search for it again. You might need to clean up the cached download files in the arduino IDE directory. When you search for "Neocortex" in the board manager, the IDE will download the package index file. If the package parsing of this fails, you will get an error in the IDE console. Do not count on Arduino to clean up the files, remove them manually.
- After testing, edit the URL in the package index document and commit again.