Platform Specification for custom board similar to Arduino Zero

I am working on a custom arduino compatible board that is very similar to the Arduino Zero. There are just a few pins that need to be different from the standard Arduino Zero so I'm working on a platform specification for my board. I currently have the platform specification working in my local /hardware folder but in order to get it working I had to copy many files from the arduino zero hardware specification. (specifically, there are 647 files for a total of 16.3Mb to get my new hardware specification fully working).

I had hoped my board specification could contain just the boards.txt, platform.txt and variant.h,cpp files and re-use all of the existing stuff in the 'built-in' arduino samd folder. All I really want to do is redefine a couple of pins to get the SD card library working with my board.

Questions:

  • Is there some way I can define my platform specification in a way that uses most of the existing files and just includes my variant.h, variant.cpp, etc (minimizes the changes to the built-in arduino-zero specification)?
  • If I do need to copy a bunch of files from the arduino-zero platform definition, can I redistribute those files in my git-repo (eventually I will publish my platform definition)

Thank you for any advice!
Greg

Hi @desertgreg. It is possible to reference resources from other platforms:

https://arduino.github.io/arduino-cli/latest/platform-specification/#referencing-another-core-variant-or-tool

The only resource that can't be referenced is the bootloaders. Unfortunately if you want to provide bootloader files for use with Arduino IDE's Tools > Burn Bootloader feature, it is necessary to add those to your platform even if another platform already contains those files.

Sure. Just make sure to comply with the open source licenses of the files you are distributing.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.