Open Source Embedded Projects

Showing 557 projects

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.

CrumBLE

CrumBLE

CrumBLE is an advanced e-reader firmware for the Xteink X4 and X3, built on the ESP32-C3 platform using the Arduino framework and NimBLE. It provides enhanced Bluetooth Low Energy (BLE) remote support, a customizable collections system, and optimized e-ink rendering through specialized image pre-caching.

freertos nimbleh2zero-esp-nimble-cpp
Retro-Zero

Retro-Zero

Retro-Zero is a Libretro-based emulator frontend designed for the Cardputer Zero running ARM64 Linux. It utilizes the LVGL graphics library for its user interface and supports a wide variety of retro gaming systems through on-demand core loading and hardware-accelerated graphics.

lvgl
OpenAirScope

OpenAirScope

OpenAirScope is a high-performance, open-source environmental monitoring platform built on the STM32H743 and ESP32-C3 microcontrollers. It features multi-protocol wireless connectivity including LoRaWAN, Wi-Fi, and Bluetooth, alongside a sophisticated sensor suite for comprehensive air quality and acoustic analysis.

platformio-platformio-core
CRose (China Rose) Lightweight Data Engine

CRose (China Rose) Lightweight Data Engine

CRose is an integrated industrial data platform designed for manufacturing and modern agriculture, providing a full-stack solution from hardware protocol collection to statistical analysis. It leverages a containerized architecture featuring Node-RED, IoTDB, and AI-driven flow generation to simplify edge device management and data orchestration.

DeskPet

DeskPet

DeskPet is a pixel-art companion for the M5Stack Cardputer that synchronizes with Claude Code sessions via Bluetooth Low Energy. Built on the ESP32-S3 using the Arduino framework and NimBLE, it provides real-time visual feedback on AI agent states, including task progress, token usage, and permission approvals directly from the device's keyboard.

freertos littlefsnimbleplatformio-platformio-core
Quntis LED Controller

Quntis LED Controller

A DIY remote controller for the Quntis Monitor Light Bar PRO+ that enables smart home integration using an ESP32 and NRF24L01 module. It features a dedicated sniffer to capture proprietary remote addresses and supports both standalone MQTT and native ESPHome configurations.

freertos spiffs
TankSync

TankSync

TankSync is a solar-powered, local-first smart water monitoring system built on ESP32 and ESP32-C3 hardware using the ESP-IDF framework. It utilizes long-range LoRa communication to bridge rooftop sensors with an indoor hub, offering Home Assistant integration and offline reliability via FreeRTOS-based firmware.

freertos spiffslwip
DS5 Bridge

DS5 Bridge

DS5 Bridge is a firmware and software suite that enables wireless Sony DualSense controller support on Windows via a Raspberry Pi Pico 2 W. It utilizes the TinyUSB and BTstack libraries to bridge Bluetooth HID reports to USB, featuring advanced support for HD haptics, adaptive triggers, and integrated audio. The project includes a dedicated Windows companion app for real-time configuration and profile management.

AirMouseS3

AirMouseS3

AirMouseS3 is an ESP32-S3 based gesture-controlled mouse that uses an onboard gyroscope and accelerometer to translate physical movement into cursor actions. Designed for the M5Stack StickS3, it utilizes the NimBLE library for Bluetooth HID connectivity and the M5Unified framework for hardware management.

freertos nimble
Open-Source LDAT (Latency Analyser)

Open-Source LDAT (Latency Analyser)

High-performance firmware for a DIY 'click-to-photon' latency tester built on the Teensy 4.1. It utilizes an 8kHz USB polling rate and a light sensor to measure the delay between a mouse click and on-screen visual changes with microsecond precision.

ASCII Aquarium

ASCII Aquarium

ASCII Aquarium is a live-rendered fish tank simulation and clock designed for the ESP32-2432S028R 'Cheap Yellow Display.' It uses the TFT_eSPI library to animate fish, bubbles, and seaweed using ASCII characters, featuring complex schooling behaviors and touch-to-feed interactivity. The project supports Wi-Fi time synchronization, persistent settings via ESP32 Preferences, and unique hardware expansions like beam splitter cubes.

tft-espi