PlatformIO Community

Grand Central M4 (Samd51), incomplete framework?


I’m trying to use PlatformIO with samd51 (Adafruit Grand Central M4) and I facing something that let me think code is incomplete.
In some .h header there are some structure define, useful to initialize DMA channels, that are never used (no reference between them and mapping on processor memory).
Also there is no function to reset WDT, program timers and so on. Everything must be done directly using cpu mapping registers.
Adafruit suggest to install both Arduino and it’s own samd library (latter is the one integrated here I think).

I’m wondering maybe PlatformIO should include something more to let Grand Central to be programmed easily?

Thanks for attention


Missing framework features should be files as issues in the repositories where these frameworks are, not in PlatformIO which distribubutes it. Can you point to the links of the repos and the



I know PlatformIO is only distributing them but since adafruit requires arduino and its library I’m wondering if the distributed one is completed or not!

Install SAMD Support
First up, install the latest Arduino SAMD Boards ( version 1.6.11 or later)

Install Adafruit SAMD
Next you can install the Adafruit SAMD package to add the board file definitions


If Adafruit are doing what I think they are, they are simply building upon the SAMD Board Support Package… hence why they specifiy you need to install both when using the Arduino IDE. PlatformIO support packages should be configured so you don’t need to worry about that sort of dependency.

If you were using the Arduino IDE, would you have to do the stuff “directly using cpu mapping registers”? or not? If you do, it’s stuff that Adafruit haven’t implemented… iff not, maybe it’s just a matter of including one of the libraries they provided with their core, or some other include file? Or it’s something completely missing from the PlatformIO distrubution…


If you were using the Arduino IDE, would you have to do the stuff “directly using cpu mapping registers”?

It seems also Arduino doesn’t have any support to functions…everything must be done programming register at low level (ADC and DMA at least)

It seems Adafruit has just built new boards over samd arduino supported ones…

thanks for your attention


Fair enough. Hopefully more people will be interested in developing for this and other boards, and some libraries will be made to add an API, or it may get added to their core in the future if there is enough interest. :slight_smile:


There is some weird things about “platformio” framework and original “Adafruit” one.
On their repo there is no “system” folder…Where in web is this folder got?

EDIT: Maybe I found github repo…I wrote there