awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
espressif avatar

espressif/arduino-esp32

0
View on GitHub↗
16,984 stars·7,879 forks·C++·LGPL-2.1·9 views

Arduino Esp32

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 object-oriented C++ layer over the underlying C-based SDK to maintain compatibility with the standard Arduino programming model.

Capability coverage extends to IoT connectivity and embedded hardware control, including drivers for SPI and USB communication. The project supports persistent data management through flash filesystems, non-volatile storage, and SD card interfacing. Additional utility areas include secure network encryption, over-the-air firmware updates, and runtime exception decoding for failure analysis.

Features

  • ESP32 Firmware Frameworks - Provides the primary framework for developing and deploying firmware on ESP32 microcontrollers.
  • External Toolchain Integrations - Bridges external development environments to the hardware for compilation and flashing.
  • Serial Flashing Toolchains - Provides the toolchain integration necessary to upload compiled binaries to microcontroller flash via serial protocols.
  • Arduino Framework Integrations - Integrates the ESP32 hardware with the Arduino framework and its core libraries.
  • ESP32 Core Implementations - Acts as the core implementation of the Arduino framework for ESP32 microcontrollers.
  • Bluetooth Connectivity - Implements a comprehensive wireless communication suite for WiFi and Bluetooth connectivity.
  • Board Configuration Profiles - Matches specific pin layouts and hardware configurations to board identifiers during the compilation process.
  • Connectivity And IoT Networks - Implements the protocols and services required for connecting ESP32 hardware to the internet.
  • Firmware Flashing - Supports uploading compiled code to the microcontroller using a serial communication protocol.
  • Hardware Abstraction Layers - Wraps low-level chip registers in a high-level API to enable code portability across hardware variants.
  • Hardware Peripheral Control - Manages GPIO pins, SPI, and USB interfaces to interact with external sensors and peripheral hardware.
  • Hardware Target Configurations - Defines board variants and pin mappings to customize software for different hardware revisions.
  • Microcontroller Abstraction Layers - Provides a hardware abstraction layer that translates high-level code into chip-specific instructions.
  • Microcontroller SDKs - Provides a full software development kit with libraries and drivers for ESP32 microcontroller architectures.
  • Preemptive Multitasking Kernels - Uses a real-time operating system to manage task priorities and preemptive scheduling across multiple cores.
  • RTOS Wrappers - Includes an embedded RTOS wrapper to manage multi-core execution and task scheduling.
  • System Boot Initializers - Controls the automatic initialization and startup of primary setup and loop functions upon device boot.
  • C-API Wrappers - Provides an object-oriented C++ layer over the underlying C-based SDK to match the Arduino programming model.
  • SPI Flash Filesystems - Enables storing and retrieving files directly from onboard SPI flash memory.
  • Virtual Filesystems - Maps portions of onboard SPI flash memory to a file system for persistent data storage.
  • Firmware OTA Update Systems - Supports updating device software wirelessly via network connections and secondary flash partitions.
  • Hardware Timer Controllers - Allows executing specific functions at regular time intervals using hardware-backed timer peripherals.
  • Non-Volatile Setting Persistence - Saves small amounts of configuration data to non-volatile flash memory using an EEPROM-compatible interface.
  • Onboard Data Storage - Provides capabilities for saving configuration and persistent data to internal flash memory or SD cards.
  • Over-the-Air Device Updates - Updates software on remote microcontrollers wirelessly via UDP or HTTP without physical cables.
  • SPI Bus Drivers - Includes master-mode drivers for Serial Peripheral Interface communication with external hardware.
  • SD Card Storage Drivers - Interfaces with Secure Digital cards via SPI or MMC to read and write files.
  • USB Device Communication - Provides low-level USB drivers for data exchange and device communication.
  • Low-Power Wireless Connectivity - Implements low-power wireless connectivity including Bluetooth Low Energy for peripheral communication.
  • Network Transmission Security - Provides secure network encryption for protecting data during wireless transmission.
  • Thread-Per-Core Architectures - Assigns core affinity, stack size, and priority to optimize performance across multiple processor cores.
  • HTTP Request Clients - Implements network clients for sending HTTP requests to external servers and retrieving responses.
  • Development Tools - Official Arduino core for ESP32.

Star history

Star history chart for espressif/arduino-esp32Star history chart for espressif/arduino-esp32

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Arduino Esp32

Similar open-source projects, ranked by how many features they share with Arduino Esp32.
  • esp8266/arduinoesp8266 avatar

    esp8266/arduino

    16,634View on GitHub↗

    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

    C++
    View on GitHub↗16,634
  • whitecatboard/lua-rtos-esp32whitecatboard avatar

    whitecatboard/Lua-RTOS-ESP32

    1,320View on GitHub↗

    Lua RTOS for ESP32 is a real-time operating system designed for ESP32 microcontrollers that integrates a lightweight Lua interpreter to manage hardware resources and application logic. It utilizes a micro-kernel architecture to provide preemptive task scheduling, ensuring deterministic timing and reliable concurrency for embedded operations on resource-constrained hardware. The system distinguishes itself by providing a unified hardware abstraction layer that maps high-level programming commands directly to peripheral registers. This allows developers to interact with sensors, actuators, and

    Cesp32espressiffreertos
    View on GitHub↗1,320
  • project-chip/connectedhomeipproject-chip avatar

    project-chip/connectedhomeip

    8,586View on GitHub↗

    This project is an open-source software development kit and framework for implementing the Matter smart home standard. It provides a universal IPv6-based application layer and a cluster-based data model to ensure interoperability between diverse smart home devices and controllers. The system is distinguished by its multi-transport network abstraction, which maps Bluetooth LE, Thread, and Wi-Fi implementations to a common layer. It includes specialized tooling for secure device commissioning via QR codes and NFC, as well as a comprehensive over-the-air firmware update system for distributing s

    C++build-with-matterchipconnected-devices
    View on GitHub↗8,586
  • petoicamp/opencat-quadruped-robotPetoiCamp avatar

    PetoiCamp/OpenCat-Quadruped-Robot

    4,891View on GitHub↗

    OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides a comprehensive environment for quadruped robot development, featuring tools for locomotion gait design, inverse kinematics, and a layered control architecture that separates high-level intelligence from low-level motion. The project distinguishes itself as an embedded AI deployment tool, allowing users to train, quantize, and deploy machine learning models to vision modules for tasks such as object detection and visual target tracking. It further supports complex human-robot

    C++aiarduinoblock-coding
    View on GitHub↗4,891
See all 30 alternatives to Arduino Esp32→

Frequently asked questions

What does espressif/arduino-esp32 do?

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.

What are the main features of espressif/arduino-esp32?

The main features of espressif/arduino-esp32 are: ESP32 Firmware Frameworks, External Toolchain Integrations, Serial Flashing Toolchains, Arduino Framework Integrations, ESP32 Core Implementations, Bluetooth Connectivity, Board Configuration Profiles, Connectivity And IoT Networks.

What are some open-source alternatives to espressif/arduino-esp32?

Open-source alternatives to espressif/arduino-esp32 include: esp8266/arduino — This project is an embedded C++ development kit and hardware abstraction layer that enables the Arduino programming… whitecatboard/lua-rtos-esp32 — Lua RTOS for ESP32 is a real-time operating system designed for ESP32 microcontrollers that integrates a lightweight… project-chip/connectedhomeip — This project is an open-source software development kit and framework for implementing the Matter smart home standard.… petoicamp/opencat-quadruped-robot — OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides… qmk/qmk_firmware — This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM… alibaba/alios-things — AliOS-Things is a scalable operating system for internet-connected devices. It provides an embedded firmware framework…