Open Source Embedded Projects

Showing 568 projects

ESP32-C5 ITS Logger

ESP32-C5 ITS Logger

A specialized V2X and ITS G5 message logger that utilizes the ESP32-C5 to capture IEEE 802.11p traffic at 5.9GHz. It supports GPS integration for synchronized time and positioning, logging raw data to SD cards or USB for analysis in Wireshark and CANalyzer.

freertos
ESP32 CYD Aquarium

ESP32 CYD Aquarium

An autonomous virtual aquarium firmware designed for the ESP32-2432S028R 'Cheap Yellow Display'. It features a stylized dot-grid renderer, simulated aquatic life, and automatic backlight adjustment using onboard sensors.

freertos littlefstft-espi
Periscope-OS (v2.0.0-SIGINT)

Periscope-OS (v2.0.0-SIGINT)

Periscope-OS is a passive 2.4GHz RF spectrum analyzer and signals intelligence tool for the M5Stack M5StickS3. It utilizes the ESP32-S3's promiscuous mode for deep packet inspection of 802.11 frames, featuring a sonar-style radar UI and IMU-based spatial tracking. The project leverages SPIFFS for telemetry logging and the M5Unified library for hardware abstraction.

freertos spiffs
Wall-Following Robot

Wall-Following Robot

An autonomous maze-navigating robot built on the Arduino Uno platform that uses a PD controller to maintain its position between walls. It integrates ultrasonic sensors for distance sensing, an IMU for precise turning, and an ESP-01 module to report its navigation sequence over WiFi.

HomeTiles

HomeTiles

HomeTiles is a tile-based firmware for ESP32-P4 touch displays designed to function as a highly configurable Home Assistant dashboard. It utilizes LVGL for its touch-first UI and FreeRTOS for task management, providing features like MQTT integration, web-based drag-and-drop configuration, and on-device OTA updates. The project targets high-performance hardware including the M5Stack Tab5 and various Waveshare MIPI-DSI displays.

freertos littlefslvgl
Solar2MQTT

Solar2MQTT

Solar2MQTT is an ESP32-based firmware bridge that translates data from solar inverters to MQTT for integration with IoT platforms like Home Assistant. It supports a wide range of Chinese-manufactured inverters and features a web-based configuration portal, live JSON data streams, and support for both WiFi and Ethernet modules.

freertos
espradio: TinyGo Wireless Networking for ESP32

espradio: TinyGo Wireless Networking for ESP32

A wireless communication package for TinyGo that enables WiFi and TCP/IP functionality on ESP32-C3 and ESP32-S3 microcontrollers. It combines Espressif's low-level binary blobs with a pure-Go networking stack to provide standard Go net/http support on embedded hardware.

AI Desk Card

AI Desk Card

A secondary e-ink desk display designed for AI Agents like Claude Code and Codex, utilizing the M5Paper V1.1 hardware. The project features a Python-based daemon for server-side rendering and an ESP32 firmware that supports Wi-Fi, BLE, and USB communication.

freertos littlefslwipnimbleplatformio-platformio-core
Quectel UniKnect Project

Quectel UniKnect Project

Quectel UniKnect is an embedded software framework designed to simplify the integration of Quectel wireless modules with STM32 microcontrollers. It utilizes FreeRTOS for real-time task management and provides an API-driven interface that eliminates the need for manual AT command handling. The project includes a complete build system, cross-compilation toolchain, and support for essential network protocols like MQTT, HTTP, and FTP.

freertos
Munim Bluetooth

Munim Bluetooth

A high-performance React Native library for Bluetooth communication, supporting BLE central and peripheral modes, Android Classic Bluetooth, and Apple Multipeer Connectivity. Built with the Nitro modules architecture, it provides a comprehensive API for cross-platform device discovery, GATT operations, and background communication.

nRF54L Arduino Core

nRF54L Arduino Core

A high-performance bare-metal Arduino core for Nordic's next-generation nRF54L series, bypassing the overhead of Zephyr and the nRF Connect SDK. It provides direct hardware access to the Cortex-M33 and RISC-V coprocessor, supporting BLE, Thread, Zigbee, and Matter with minimal binary footprints.

nimbleopen-thread
PatternFlow

PatternFlow

PatternFlow is an open-source LED synthesizer built on the ESP32-S3 platform, designed to drive HUB75 RGB LED matrices with real-time, interactive visuals. The system features a modular C++ firmware architecture, four physical rotary encoders for tactile control, and a web-based ecosystem for pattern generation and audio-reactive synchronization.

Obscura One

Obscura One

Obscura One is an open-source, screenless digital camera based on the ESP32-CAM platform and housed in a 3D-printable enclosure. It captures JPEG images to a Micro SD card and features a minimalist single-button control scheme with haptic feedback and a Wi-Fi access point for wireless photo retrieval.

RNode Firmware — NeoPixel Edition

RNode Firmware — NeoPixel Edition

This project is a specialized fork of the RNode Firmware Community Edition (CE) that introduces NeoPixel status indicators for ESP32-based hardware, specifically the LilyGO LoRa32 v2.1. It serves as a software-defined LoRa modem for the Reticulum network stack, providing visual feedback for boot sequences and data transmission using the ESP32's underlying FreeRTOS-based Arduino core and SPIFFS for asset management.

freertos spiffs
Temperature-Controlled Ventilation System for Indoor Environments

Temperature-Controlled Ventilation System for Indoor Environments

An STM32F103R6-based embedded system that provides automated and manual ventilation control based on real-time temperature monitoring. It utilizes an LM35 sensor, PWM for fan speed regulation, and an L298N H-bridge for direction control, with status updates displayed on an LCD1602. The project demonstrates peripheral integration using the STM32 HAL for ADC, timers, and external interrupts.

ESP32 RTSP Microphone for BirdNET

ESP32 RTSP Microphone for BirdNET

A high-performance network microphone firmware for Seeed Studio XIAO ESP32 boards that streams 16-bit PCM audio via RTSP. It is designed for integration with BirdNET-Go and BirdNET-Pi for automated bird sound identification and includes a Web UI, MQTT telemetry, and OTA support.

freertos lwip
Claude Pocket

Claude Pocket

Claude Pocket is a voice-activated AI assistant firmware for the M5Stack Cardputer ADV, powered by Anthropic's Claude and OpenAI's Whisper and TTS APIs. It features a custom C++ implementation that handles voice activity detection, streaming transcription, and real-time audio playback on hardware without external PSRAM.

freertos littlefsplatformio-platformio-core
esp-nus — High-throughput BLE 5 UART bridge

esp-nus — High-throughput BLE 5 UART bridge

A transparent UART-to-BLE cable replacement for the ESP32-C6 that implements the Nordic UART Service (NUS). It is specifically optimized for high throughput using BLE 5 features like LE 2M PHY, Data Length Extension (DLE), and credit-based flow control.

freertos nimble
OttoClaw

OttoClaw

OttoClaw is an AI-powered desktop humanoid robot system built on the ESP32-S3 and FreeRTOS. It features a local lightweight agent that handles conversation, memory, and autonomous physical movements through six servos without relying on cloud servers, utilizing LVGL for its graphical interface and SPIFFS for local data persistence.

freertos lvglspiffslwip
STM32 Bare-Metal Learning Labs

STM32 Bare-Metal Learning Labs

A collection of bare-metal C++ experiments for the STM32F411 (Black Pill) microcontroller, focusing on register-level programming without vendor abstraction layers. It utilizes CMSIS for hardware access and features implementations of DMA, USART, I2C, and SPI drivers using finite state machines and non-blocking logic.

cmsis
DIY Weather Clock Firmware

DIY Weather Clock Firmware

This project is an alternative open-source firmware for the popular ESP8266-based DIY Weather Clock kits. It features an integrated web configuration portal, NTP time synchronization with DST support, and weather data integration from wttr.in and Netatmo stations.

NoeticMaze

NoeticMaze

NoeticMaze is an embedded navigation and control system for the NUCLEO-F446RE development board, integrating Lidar, IMU, and motor control. Built on FreeRTOS, it implements advanced robotics algorithms including ICP-based localization, grid mapping, and A* path planning for autonomous differential-drive robots.

freertos
PS1 IGR-MFO: In-Game Reset and Frequency Oscillator

PS1 IGR-MFO: In-Game Reset and Frequency Oscillator

An RP2040-based firmware for PlayStation 1 consoles that implements In-Game Reset (IGR) and In-Game Disk Switching (IGDS). It also functions as a controller for the Si5351 clock generator, providing a Dual/Multiple Frequency Oscillator (DFO/MFO) for perfect PAL/NTSC video timing.

SonosESP | ESP32-P4 Sonos Controller

SonosESP | ESP32-P4 Sonos Controller

A high-performance, touchscreen-based Sonos speaker controller built for the ESP32-P4 microcontroller. It utilizes the LVGL graphics library for a modern UI and FreeRTOS for managing concurrent tasks like audio metadata polling, image decoding, and time-synced lyrics display.

freertos lvgl
NX-Radar-CS2-DMA: External Hardware Radar for Counter-Strike 2

NX-Radar-CS2-DMA: External Hardware Radar for Counter-Strike 2

A hardware-assisted radar system that uses a Windows kernel driver to stream Counter-Strike 2 game data to an ESP32-S3. The project bypasses user-mode anti-cheat restrictions by reading memory at Ring 0 and rendering player positions on an external ST7789 SPI display.

micropython
Tossed The TV — Kept The Remote

Tossed The TV — Kept The Remote

An RP2040-based project that repurposes old infrared TV remotes into programmable USB HID devices like presentation clickers or custom keyboards. It utilizes the Arduino framework with TinyUSB for HID communication and LittleFS for storing button mappings in JSON format, configured via a Web Serial browser application.

littlefs
Plume — M5Cardputer ADV Edition

Plume — M5Cardputer ADV Edition

A passive RF scanner for the M5Cardputer ADV that detects Flock Safety ALPR cameras and Raven surveillance devices. It utilizes WiFi promiscuous mode and BLE scanning on the ESP32-S3, running entirely locally without cloud connectivity. Detections are logged to an SD card with GPS coordinates and signal strength visualizations.

freertos littlefsspiffsnimbleh2zero-esp-nimble-cpp
ehRadio

ehRadio

ehRadio is a feature-rich internet radio firmware for the ESP32 platform, specializing in the ESP32-S3 for high-performance audio streaming. It features a mobile-first WebUI, supports multiple audio decoders like I2S and VS1053, and integrates seamlessly with Home Assistant via MQTT.

freertos spiffs
Animated GIF with Push Button on ILI9341 LCD

Animated GIF with Push Button on ILI9341 LCD

This project provides firmware for the ESP32-S3 to display and cycle through animated GIFs stored in flash memory on a 320x240 ILI9341 LCD. It utilizes the bb_spi_lcd and AnimatedGIF libraries to manage display control and image decoding, allowing users to switch animations via a physical push button.

Gingoduino

Gingoduino

A high-performance music theory engine for embedded systems that provides advanced analysis of notes, chords, scales, and harmonic progressions. It features a zero-heap architecture and supports MIDI 1.0 and MIDI 2.0 UMP serialization across Arduino, ESP-IDF, and PlatformIO platforms.

tft-espi
Astronomy Micro Station

Astronomy Micro Station

A standalone astronomy display for the LILYGO T-Display S3 Pro powered by an ESP32-S3. It tracks solar and lunar conditions using the ipgeolocation.io API, featuring a touch-enabled interface, LittleFS caching for offline use, and seamless Home Assistant integration via MQTT.

freertos littlefstft-espi
Pomodoro Timer Dial for M5Stack Dial

Pomodoro Timer Dial for M5Stack Dial

An efficient and modular Pomodoro timer implementation specifically designed for the M5Stack Dial v1.1. It leverages the ESP32-S3 to provide a smooth rotary-based user interface, smart break calculations, and a high-performance display engine with SPIFFS-based asset management.

spiffs
iMX RT1011 Nano Kit

iMX RT1011 Nano Kit

A high-performance development board featuring the NXP iMX RT1011 Crossover MCU with an ARM Cortex-M7 core running at 500MHz. It supports the Zephyr RTOS and Python environments, offering 128 KB RAM, 128 Mb QSPI Flash, and a compact USB-C form factor for rapid prototyping.

zephyr littlefslvglmicropython
Crypto Price Viewer

Crypto Price Viewer

A standalone DIY cryptocurrency price display built around the Seeed Studio XIAO ESP32C6 and a 240x320px TFT screen. The project leverages Wi-Fi connectivity to fetch real-time market data and provides a captive portal for easy configuration via smartphone.

tft-espi
ESP32 Network Scanner

ESP32 Network Scanner

An energy-efficient network discovery tool for the ESP32 that utilizes ARP (Address Resolution Protocol) to identify devices on a LAN. Built using ESP-IDF and lwIP, it provides a real-time web interface to monitor device connectivity, bypassing the limitations of traditional ICMP ping scans.

freertos lwip
Raccoon Flash Explorer Demo

Raccoon Flash Explorer Demo

A high-performance USB flash memory programmer firmware for the STC8H8K64U microcontroller. It implements custom USB drivers and SCSI command parsing to provide a fast alternative to common CH341-based programmers for SPI flash chips up to 512 Mbit.