Overview
ArduinoCore-API separates the official Arduino API from hardware-specific implementations. It centralizes common headers, API contracts, and hardware-independent implementations such as String so platform cores can share behavior instead of duplicating it.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Share the Arduino API contract across hardware cores
Platform-independent headers define common behavior while individual cores implement hardware-specific GPIO, timers, and related facilities.
Sources: [2]
Propagate shared implementation fixes across cores
Keeping common implementations in one layer means fixes and features can flow to all cores that consume ArduinoCore-API.
Sources: [2]
For developing Arduino-compatible cores and maintaining API consistency
Core maintainers can implement new hardware while preserving compatibility with the common Arduino programming model.
It is not an end-user library or complete hardware core
The README explicitly says the repository is not directly usable by final users. Typical Arduino users install platform cores through Boards Manager instead.
Sources: [2]
Official sources
- [1]arduino/ArduinoCore-API repository(2026-09-20)
- [2]ArduinoCore-API README(2026-09-20)
- [3]ArduinoCore-API LGPL-2.1 license(2026-09-20)
- [4]Arduino Language Reference(2026-09-20)
Supplemental curator note
This repository is not an installable Arduino core for end users. It defines the shared API layer consumed and implemented by platform-specific cores such as megaAVR, mbed, SAMD, and Renesas, as the README explicitly notes.
Try it in 3 steps
- 1
Clone ArduinoCore-API
Fetch the hardware-independent API layer rather than a board-specific Arduino core.
git clone https://github.com/arduino/ArduinoCore-API.git && cd ArduinoCore-API - 2
Configure host-based unit tests
Follow the README flow to configure tests that do not require a development board.
cd test && mkdir -p build && cd build && cmake .. - 3
Build and run the test suite
Use mock implementations to exercise the shared Arduino core API on the host.
make && bin/test-ArduinoCore-API
Growth
Growth trends · Last 30 days
306 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 45
- Issues opened
- 0
- Issues closed
- 0
- PRs opened
- 7
- PRs merged
- 0
Issues
0 / 0
Pull requests
7 / 0
Maintenance
- Median first response
- Not specified
- Issue response rate
- No eligible issues
Based on up to the 100 newest issues opened by external users in the last 90 days. A first comment from an OWNER, MEMBER, or COLLABORATOR counts as a response; issues whose full comment history cannot be checked are excluded. The median and response rate update weekly.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- api
- arduino
- Stars
- 306
- Forks
- 150
- Watchers
- 37
- Open issues
- 102
- Contributors
- 37
- Primary language
- C++
- License
- LGPL-2.1
- Repository last updated
- Oct 12, 2025
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- React250,594 Stars
A JavaScript library for building web and native user interfaces from declarative components.
JavaScript - Visual Studio Code192,699 Stars
The MIT-licensed Code - OSS repository that forms the open foundation of Visual Studio Code.
TypeScript - Flutter179,011 Stars
A BSD-3-Clause cross-platform SDK for building mobile, web, and desktop UIs from a Dart codebase.
Dart - Bootstrap174,857 Stars
A responsive, mobile-first web framework built from CSS and JavaScript grids, utilities, and components.
MDX - LangChain146,686 Stars
A Python framework that connects models, tools, retrieval systems, and other components for LLM applications and agents.
Python
Report incorrect information
Tell us if any listing information is incorrect or outdated.