For an open source platform for microcontroller development, the strongest matches are arduino/arduino-cli (This is a command-line toolchain that provides the core), arduino/arduino (This is the official Arduino IDE and core development) and arduino/arduino-ide (This is the official Arduino IDE, providing a comprehensive). arduino/arduino-pro-ide and tinygo-org/tinygo round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best open-source Arduino libraries and tools. Hand-picked by activity and relevance to help you compare and pick the right one.
Arduino CLI is a command line interface for compiling, uploading, and managing libraries and board cores for Arduino-compatible hardware. It functions as a microcontroller toolchain manager and hardware programming tool, providing utilities to discover and install the platform definitions and compilers required for various hardware architectures. The project features an RPC-enabled development daemon that allows external programs to trigger internal tool operations and manage automated electronics workflows programmatically. It also includes an interactive hardware debugger for real-time trou
This is a command-line toolchain that provides the core functionality for compiling, uploading, and managing libraries and board support for the Arduino ecosystem, serving as the essential backend for development environments.
Arduino is a physical computing platform and an open hardware standard used to build interactive electronic objects and standalone devices. It provides a C++ microcontroller IDE and an embedded systems framework for writing, compiling, and uploading code to microcontroller boards. The ecosystem facilitates embedded systems programming and interactive hardware prototyping, allowing for the creation of devices that respond to environmental changes or user input. It enables the development of physical computing projects by managing the connection and flashing of code to various hardware boards.
This is the official Arduino IDE and core development environment, providing the complete suite of tools for board management, code compilation, serial communication, and library handling required for the ecosystem.
Arduino IDE 2.x
This is the official Arduino IDE, providing a comprehensive development environment that includes board management, a library manager, and serial monitoring for the entire Arduino ecosystem.
This project is a professional integrated development environment designed for microcontroller firmware engineering and embedded systems development. It provides a specialized interface for writing, compiling, and deploying code to Arduino-compatible boards and various other hardware platforms. The environment distinguishes itself through a modular architecture that separates the graphical user interface from the underlying build and hardware communication logic. By utilizing a language server protocol and a decoupled plugin system, it allows for consistent code analysis and extensible functi
This is the official advanced development environment for the Arduino ecosystem, providing a code editor, board support, and library management built specifically for Arduino hardware.
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
TinyGo is a specialized compiler and development toolkit that supports Arduino hardware and provides the necessary abstractions for microcontroller programming, serving as a viable alternative to the standard Arduino IDE ecosystem.
This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables firmware development using a familiar API. It functions as a microcontroller hardware abstraction layer and a firmware toolchain integration, bridging external development environments to the hardware for compilation and flashing. The system includes an embedded real-time operating system wrapper to manage multi-core execution and task scheduling, alongside a wireless communication suite for TCP/IP networking and Bluetooth Low Energy. It distinguishes itself by providing an obj
This repository provides the essential hardware abstraction layer and board support required to integrate ESP32 microcontrollers into the Arduino ecosystem, allowing you to use the standard Arduino API for development.
This project is a hardware core and board support package that integrates STM32 microcontrollers into the Arduino development environment. It functions as an embedded systems development tool, bridging high-level programming workflows with ARM Cortex-M microcontroller architectures. The core provides the necessary configuration files and libraries to enable the compilation and deployment of firmware directly onto STM32 hardware. By mapping standard programming functions to specific microcontroller register operations, it ensures consistent behavior across different hardware platforms while ut
This repository provides the necessary hardware abstraction layer and board support files to integrate STM32 microcontrollers into the Arduino development ecosystem, allowing you to use the standard Arduino IDE for these boards.
This project provides a development framework that enables programming Raspberry Pi Pico microcontrollers using the Arduino environment and standard C++ libraries. It serves as a unified platform for compiling, debugging, and deploying firmware to diverse hardware boards based on the RP2040 and RP2350 architectures. The framework distinguishes itself through native support for symmetric multicore execution, allowing developers to distribute independent tasks across multiple processor cores to manage complex workloads. It also includes a specialized library for USB peripheral emulation, enabli
This repository provides the essential hardware abstraction layer and board support required to program Raspberry Pi Pico microcontrollers within the Arduino ecosystem.
This project is an embedded C++ development kit and hardware abstraction layer that enables the Arduino programming environment to target ESP8266 WiFi microcontrollers. It provides a comprehensive framework for compiling and flashing code to microcontroller memory via serial or wireless interfaces. The system includes a specialized WiFi microcontroller framework for managing TCP/IP stacks and internet connectivity. It features a dedicated over-the-air firmware update system that allows software updates to be delivered to remote hardware without a physical cable connection. The kit covers emb
This project provides the essential hardware abstraction layer and board support required to integrate ESP8266 microcontrollers into the Arduino development ecosystem.
A plugin to make programming the arduino in eclipse easy
This is an Eclipse plugin that provides a full Arduino development environment, including board support, library management, and serial communication features within the Eclipse IDE.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| arduino/arduino-cli | 4.9K | Go | GPL-3.0 | |
| arduino/arduino | 14.6K | Java | NOASSERTION | |
| arduino/arduino-ide | 3.2K | TypeScript | AGPL-3.0 | |
| arduino/arduino-pro-ide | 882 | — | NOASSERTION | |
| tinygo-org/tinygo | 17.5K | Go | NOASSERTION | |
| espressif/arduino-esp32 | 17K | C++ | LGPL-2.1 | |
| rogerclarkmelbourne/arduino_stm32 | 2.7K | C | NOASSERTION | |
| earlephilhower/arduino-pico | 2.8K | C | LGPL-2.1 | |
| esp8266/arduino | 16.6K | C++ | LGPL-2.1 | |
| sloeber/arduino-eclipse-plugin | 432 | Java | — |