A comprehensive summary of all Arduino compatible cores?

Hello all,
I'm wondering if there is an article anywhere online - which provides an overview of the current official and 3rd party Arduino compatible cores which people have created to be used within the Arduino IDE coding environment - - and the MCUs which those cores are focused on.

I would like to get an general overview of the degree of compatibility each core has with the official Arduino library-functions.

If anyone knows of such an article and could point me to it - I would appreciate.

Sincere thanks

Honestly this is the best I could find:

Hi @got_arduino1. It is an interesting subject matter.

There is an attempt to curate a list of all known Arduino boards platforms (AKA "cores") here:

https://github.com/per1234/inoplatforms#readme

The list includes the architecture identifier (e.g., avr, esp32) of each of the platforms, but doesn't provide information about which specific microcontrollers (e.g., ATmega328P, ESP32-S3) the platform supports. It is feasible to improve the list in this aspect to a small extent by showing the list of boards the platform provides. This is an improvement planned for the future and some recent work has been done in preparation, but it is a hobby project so things move slowly if at all.

So for now you would need to analyze each of the platforms individually to get this information. The easiest way to do it would be to download each of the package index files from the URL provided under the "Boards Manager URL" column of that spreadsheet, then get the list of boards from the packages[*].platforms[*].boards[] array in the JSON. The package index author is free to add any text they like in that field. In some cases, this will be a comprehensive list of all the boards, or even of the multiple specific variants that might be supported at a sub-board granularity. In other cases it might be less useful. An alternative approach would be to download the boards.txt files you would find using the information under the "Repository", "Repository Data Folder", and "Branch Name" fields of the spreadsheet (these can be combined to produce a raw file download URL) and then parse that file for the list of board definitions provided by the platform.

I am not aware of anything like that. If you check the spreadsheet I mentioned above, you will see that there are hundreds of platforms (and certainly dozens more not included in that manually curated list). So producing such an overview manually would be a monumental task.

The community is constantly creating new platforms and continuing development on the platforms, so such an overview would also become outdated quickly.

Probably the best approach to something comprehensive and durable would be to automatically generate it using the data from the spreadsheet. You could get a vague sense of compatibility by compiling a set of sketches for each of the boards of each of the platforms.

There is something like that here, but it only covers six platforms:

https://github.com/alranel/arduino-api-compare/blob/main/report-core-api.md

Sincere thanks!!

Awesome!
Thank you very much!!

You are welcome. I'm glad if I was able to be of assistance.

Regards,
Per

Glad I could help! :slight_smile:

There is also:

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