Open Source Embedded Projects

Showing 624 projects

AWTRIX NG

AWTRIX NG

AWTRIX NG is a comprehensive firmware rewrite for ESP32 and ESP32-S3 microcontrollers designed to transform LED matrix displays into networked smart screens. It features a dual-operational model supporting external control via HTTP/MQTT and native on-device scripting using the Berry language. The project integrates with Home Assistant and supports a wide range of visual elements, including scrolling text, icons, and real-time sensor data.

freertoslittlefslwip
TYPE-2 Autonomous Polyphonic Synthesizer

TYPE-2 Autonomous Polyphonic Synthesizer

The TYPE-2 is an ESP32-S3-based polyphonic synthesizer featuring a custom hybrid dual-rate DSP engine and analog-modeled filters. It utilizes FreeRTOS for task management, I2S for high-fidelity audio, and capacitive touch for a responsive user interface.

freertosplatformio-platformio-core
esp32-tinyLLM

esp32-tinyLLM

A high-performance Rust implementation of a 28.9M-parameter Large Language Model optimized for the ESP32-S3 microcontroller. It utilizes 4-bit quantization and Per-Layer Embedding techniques to achieve 10.5 tokens per second, significantly outperforming the original C implementation.

freertos
vtOS: A Terminal-Based Hobby Firmware

vtOS: A Terminal-Based Hobby Firmware

vtOS is a MicroPython-based firmware that transforms the LilyGO T-Deck handheld into a portable terminal computer. It features a custom shell with integrated clients for SSH, FTP, IRC, and Gemini, alongside local utilities like a vi-style editor and a TUI file manager. The project leverages FreeRTOS via the ESP-IDF framework and provides deep integration with the T-Deck's hardware, including its keyboard, trackball, and LoRa radio.

freertosmicropython
Slave I

Slave I

Slave I is a wireless research firmware for the M5Stack Tab5, utilizing a dual-chip architecture with the ESP32-P4 and ESP32-C6. It provides a toolkit for Wi-Fi, BLE, and 802.15.4 protocol analysis, built on FreeRTOS and featuring a sophisticated LVGL-based touch interface.

freertoslvglnimblejansson
LOADOUT for M5Stack Tab5

LOADOUT for M5Stack Tab5

LOADOUT is a comprehensive firmware launcher and hardware toolbox designed for the M5Stack Tab5 (ESP32-P4). Built on the ESP-IDF framework and FreeRTOS, it features an LVGL-based UI that provides access to on-device tools, OTA updates, and a microSD-based firmware bootloader.

freertoslvgl
Intring

Intring

Intring is an ESP32-C3-based smart interactive ring that combines a trackball, air mouse, and gesture recognition. It utilizes FreeRTOS and TensorFlow Lite Micro for on-device motion processing and communicates via BLE HID to control AR/VR headsets, PCs, and mobile devices.

freertostensorflow-micro
Midad

Midad

Midad is an open-source firmware for Xteink e-ink devices, specifically engineered for Arabic script and right-to-left languages. Running on the ESP32-C3 platform with FreeRTOS, it provides a comprehensive e-reading experience with advanced text shaping, OTA updates, and a unique suite of integrated applications like a gym logger and Tasbih counter.

freertosh2zero-esp-nimble-cppnimblelwipplatformio-platformio-core
esp32flight

esp32flight

A standalone flight tracking dashboard for ESP32-S3 touchscreen devices that visualizes live ADS-B data, routes, and weather without requiring external servers or subscriptions. It utilizes the ESP-IDF framework, LVGL graphics library, and standard networking protocols to provide a rich, interactive aviation monitoring experience.

freertoslvglspiffslwip
Thermalright LCD Control

Thermalright LCD Control

A Linux-based desktop application for managing Thermalright LCD displays and RGB LED controllers through a native Qt interface. It uses a reverse-engineered protocol to communicate with hardware via USB, supporting various metrics for CPU, GPU, and system status without requiring a root service.

RFSqueak-MK1

RFSqueak-MK1

RFSqueak-MK1 is a portable embedded system for RF spectrum scanning and Morse code communication, built around an ESP32 MCU and a CC1101 Sub-1GHz transceiver. It features real-time signal visualization through a color TFT display and provides a tactile interface for frequency tuning and manual Morse keying. The firmware leverages the Arduino framework and RadioLib to offer features like waterfall displays, channel occupancy monitoring, and automated Morse decoding.

m5mic

m5mic

A high-performance microphone solution for the M5StickS3, featuring Rust-based firmware and companion applications for macOS and iOS. It supports both plug-and-play USB Audio Class functionality and wireless streaming via WebSockets or Bluetooth LE, utilizing the ESP32-S3 and an ES8311 audio codec.

freertosnimblelwip
Duet

Duet

Duet is an open-source firmware for the Xteink X3 and X4 e-readers, built on the ESP32-C3 microcontroller using the Arduino framework and PlatformIO. It features a unique serverless device-to-device sync via ESP-NOW, a comprehensive reading statistics suite with 33 data pages, and a highly customizable interface supporting StarDict dictionaries and specialized E-Ink font systems.

freertos
4WD Arduino Robot Car

4WD Arduino Robot Car

This project implements a 4-wheel drive robotic platform controlled wirelessly via Bluetooth from a mobile device. It utilizes an Arduino microcontroller, an L298N motor driver, and an HC-05 module to enable real-time steering and PWM-based speed control. The system is designed as an open-source educational tool for learning hardware assembly, wireless communication, and embedded programming.

ESP32-P4 Home Assistant MQTT Voice Assistant

ESP32-P4 Home Assistant MQTT Voice Assistant

This project provides local voice assistant firmware for the ESP32-P4 platform, built natively on ESP-IDF and integrated with Home Assistant's Assist pipeline. It utilizes WakeNet9 for wake-word detection, MQTT for control and discovery, and features a local MP3 player and web-based management dashboard.

freertoslvgllwipspiffs
ESP32-C3 Environmental Monitoring Node

ESP32-C3 Environmental Monitoring Node

A high-efficiency, low-power environmental monitoring firmware developed using the native ESP-IDF v5.x framework for the ESP32-C3. It integrates deep sleep cycles with multi-sensor data collection and provides configurable alerts via Telegram, Discord, and custom webhooks. The system includes a built-in SoftAP web portal for runtime configuration, allowing users to manage Wi-Fi credentials and sensor thresholds without serial re-flashing.

freertoslwip
ESP32 AI Mini Screen

ESP32 AI Mini Screen

A retro-styled desktop companion for ESP32-C3 and ESP8266 that monitors AI coding assistant usage, stock markets, and system telemetry. It leverages the Arduino framework with TFT_eSPI and AnimatedGIF libraries to display real-time data provided by a local bridge application.

freertoslittlefstft-espi
SensorStation3

SensorStation3

SensorStation3 is an ESP32-based environmental monitoring station that utilizes FreeRTOS and the LVGL graphics library to provide a real-time touchscreen dashboard. It supports a variety of I2C sensors for tracking temperature, humidity, CO2, and atmospheric pressure, featuring seamless integration with Home Assistant and MQTT-based platforms.

freertoslvgllwip
HackMan3D Orbit Controller

HackMan3D Orbit Controller

An open-source, 3D-printable 6-DOF navigation controller designed for CAD applications and slicers. Built around an Arduino Pro Micro and four JH16 Hall-effect joysticks, it provides native USB HID 3D-controller input and an optional mouse-emulation mode. The project features adjustable speed profiles, configurable dead zones, and multi-axis input filtering for precise 3D manipulation.

GeoShake

GeoShake

GeoShake is an open-source firmware and hardware project for a distributed, real-time earthquake monitoring station based on the ESP32-S3. It utilizes high-precision accelerometers and on-device seismic processing to contribute to a global seismic network via MQTT and BLE connectivity.

freertosnimblelwip
BubblePager

BubblePager

BubblePager is a dedicated hardware pager for Telegram that displays video notes, stickers, and text on a round GC9A01 display. Built on the ESP32-S3 platform using the LVGL graphics library and FreeRTOS, it communicates with a self-hosted FastAPI server that transcodes media into MJPEG streams. The system features a custom unread queue, touch/button navigation, and motion-wake capabilities.

freertoslvgl
InkCast

InkCast

InkCast is an ESP32-S3 firmware for a battery-powered e-paper weather station that balances high-density information with extreme power efficiency. Built using the Arduino framework on FreeRTOS, it features a web-based configuration portal and supports multiple weather providers to deliver a long-lasting, wall-mounted dashboard.

freertosu8g2spiffs
ESP-Sniffer

ESP-Sniffer

A real-time Wi-Fi packet capture and analysis tool built for the ESP32 platform. It utilizes the microcontroller's promiscuous mode to intercept raw 802.11 frames, which are then streamed over serial in PCAP format to a Python host for live decoding and color-coded visualization.

freertos
ESP32 Cheap Yellow Display (CYD) Wi-Fi Analyzer

ESP32 Cheap Yellow Display (CYD) Wi-Fi Analyzer

This project transforms an ESP32 'Cheap Yellow Display' (CYD) into a graphical Wi-Fi signal analyzer, visualizing network strength and channel congestion. It utilizes the Arduino_GFX_Library to support various display drivers like the ST7789 and ILI9341 on a 320x170 resolution screen, making it compatible with multiple hardware iterations of the CYD platform.

Fridge Tracker (鲜知贴)

Fridge Tracker (鲜知贴)

A low-power smart home solution for tracking food and household items using ESP32-C3/S3 microcontrollers and e-paper displays. The system features server-side image rendering to minimize hardware overhead and supports various tri-color and four-color display sizes.

freertossqlite
TinyMakerWifi

TinyMakerWifi

TinyMakerWifi is an enhanced firmware for the TinyMaker MSLA resin 3D printer that introduces WiFi connectivity, a web-based dashboard, and direct integration with PrusaSlicer. Built on the ESP32 platform using the Arduino framework and FreeRTOS, it features advanced resin tracking, power-loss recovery, and over-the-air (OTA) updates.

freertosplatformio-platformio-core
Clawdmeter Plus

Clawdmeter Plus

An embedded desk display project using the Waveshare ESP32-S3-Touch-AMOLED-2.16 to track live Claude Code usage, local weather, and background agent health. The system leverages the LVGL graphics library for its UI and connects to a host computer via Bluetooth LE using the NimBLE stack.

freertoslvglnimbleplatformio-platformio-core
XIAO nRF52 Standalone BLE DFU Updater

XIAO nRF52 Standalone BLE DFU Updater

A standalone BLE DFU client for Seeed XIAO nRF52840 and RAK4631 that flashes Nordic-format firmware bundles to target nRF52 devices. It features a USB Mass Storage interface for drag-and-drop firmware updates and uses a configuration-based filtering system to identify and update remote hardware in the field.

freertos
E-OS — ESP32-S3 Handheld Console

E-OS — ESP32-S3 Handheld Console

A custom-built handheld gaming console powered by the ESP32-S3 and a dual-screen setup (TFT and OLED). It runs E-OS, a custom operating system built on FreeRTOS that features a dual-core architecture for dedicated rendering and logic. The project includes 15 custom-coded games and several applications, utilizing libraries like TFT_eSPI and U8g2 for high-performance graphics.

freertostft-espiu8g2
NucleoOS

NucleoOS

NucleoOS is a web-native operating system designed for the M5Stack Cardputer (ESP32-S3), featuring both a native firmware UI and a desktop-class web shell. Built on the ESP-IDF framework and FreeRTOS, it optimizes constrained hardware (512 KB RAM) by offloading heavy tasks like AI and image generation to the browser via WebAssembly and WebGPU. The system includes a wide array of applications ranging from offline AI assistants and media players to a suite of security-testing tools.

freertoslwipnimble
ESP32-PLC

ESP32-PLC

ESP32-PLC is an open-source firmware project that transforms the ESP32 microcontroller into a functional Programmable Logic Controller (PLC) using ladder logic. Built on the Espressif IoT Development Framework (ESP-IDF) and FreeRTOS, it leverages the ladderlib library to execute industrial control programs and supports web-based logic editing and simulation.

freertoslittlefslwipspiffs
ESP32-S3 MJPEG Video Player

ESP32-S3 MJPEG Video Player

A high-performance media player for the ESP32-S3 capable of playing MJPEG video with synchronized I2S audio. It features a menu-driven interface, utilizes an SD card for storage, and leverages PSRAM to ensure smooth playback on ST7789 displays.

tft-espi
Web3 Pi UPS

Web3 Pi UPS

An open-source DC uninterruptible power supply designed specifically for the Raspberry Pi 5, featuring triple-input power paths and smart battery management. It utilizes a dual-MCU architecture with a CH32X035 for power delivery and an RP2040 for the user interface, while supporting remote monitoring via FreeRTOS and the lwIP stack.

freertoslwipplatformio-platformio-core
FOC Ears

FOC Ears

FOC Ears is an open-source animatronics project designed to create silent, high-performance cat ears using Field Oriented Control (FOC). Built on an ESP32 microcontroller, it utilizes brushless gimbal motors and magnetic encoders to achieve smooth, quiet motion compared to traditional RC servos. The system integrates an IMU for orientation sensing and is developed using the PlatformIO environment.

K3NG CW Keyer for ESP32 and Pico 2W

K3NG CW Keyer for ESP32 and Pico 2W

An advanced Morse code keyer based on the K3NG project, ported to ESP32 and Raspberry Pi Pico 2W hardware. It features integrated Bluetooth keyboard support, high-resolution TFT touch displays, and GPS-based location tracking, utilizing dual-core processing to maintain precise keying timing.

freertostft-espi
NRSuite

NRSuite

NRSuite is a modular wireless research toolkit that offloads the radio layer to an ESP32 connected via USB OTG to an unrooted Android device. It enables advanced Wi-Fi operations, BLE HID emulation, and BadUSB functionality within the Termux environment using a custom binary bridge protocol.

freertosh2zero-esp-nimble-cppnimblelwip