Open Source Embedded Projects

Showing 493 projects

Oh My Clawd

Oh My Clawd

A real-time monitoring tool for Claude Code usage, designed for the ESP32-2432S028R (CYD) hardware. The project uses a Go-based daemon to track Anthropic API rate limits and displays animated pixel art sprites that react to the user's coding activity.

freertos tft-espi
OpenTimeWatch-OS

OpenTimeWatch-OS

An open-source watch operating system designed for ESP32-S3 microcontrollers, specifically targeting the LILYGO T-QT Pro. It provides a customizable environment for watch faces and applications, utilizing the TFT_eSPI library for display management and FreeRTOS for task handling. The system includes features like WiFi time synchronization, motion sensing via MPU6050, and integrated games.

freertos tft-espi
KompressorKlock

KompressorKlock

An embedded controller for the KompressorKlock project, built on the STM32G071G8Ux microcontroller. It manages user input via a rotary encoder and controls peripheral hardware using I2C and PWM signals. The system is developed using the STM32Cube G0 firmware package and standard HAL drivers.

IV-11 VFD Tube Clock

IV-11 VFD Tube Clock

A custom-built 6-digit clock utilizing Soviet-era IV-11 vacuum fluorescent display tubes and an Arduino Nano Every. The project features a static drive architecture for maximum brightness, integrated power conversion for high-voltage rails, and a robust finite state machine for user configuration and timekeeping.

M5_Crystal

M5_Crystal

M5_Crystal is a modular firmware for M5Stack devices like the M5StickCPlus2 and Cardputer, providing a suite of tools for Wi-Fi, NFC, and Bluetooth interaction. It utilizes the M5Unified and M5GFX libraries for hardware abstraction and is built on a custom wrapper system designed for rapid feature development.

freertos h2zero-esp-nimble-cpplittlefsu8g2
Edge AI on Embedded Linux — i.MX 8M Plus

Edge AI on Embedded Linux — i.MX 8M Plus

A full-stack embedded Linux project for the NXP i.MX 8M Plus EVK featuring real-time NPU-accelerated object detection and NIR spectral monitoring. It demonstrates a complete development workflow from Yocto BSP bring-up and custom kernel module development to high-level Python applications using TensorFlow Lite and GStreamer.

USB-C Multimeter Hack

USB-C Multimeter Hack

This project details the reverse engineering and firmware development for repurposing a YOJOCK/Kowsi USB-C multimeter as a PY32F002A development board. It features a custom firmware implementation that provides power sensing, a stopwatch, and games, leveraging a bit-banged SPI interface for its 160x180 color display.

Clawdmeter

Clawdmeter

Clawdmeter is an ESP32-S3-powered desk dashboard that monitors Claude Code token usage and displays it on a 2.16" AMOLED screen. It uses the LVGL library for its high-resolution UI and the NimBLE stack to communicate with a host daemon via BLE, while also functioning as a HID keyboard for shortcuts. The project features dynamic pixel-art animations that react to real-time API utilization rates.

freertos lvglnimbleplatformio-platformio-core
ESP CAN-Analyzer

ESP CAN-Analyzer

An ESP32-based bridge that interfaces CAN bus systems with IoT environments using the Lawicel (SLCAN) protocol. It supports real-time CAN data monitoring and transmission via a web interface, Serial, or WebSockets, and is designed for automotive and industrial applications.

freertos spiffslwip
ESP32 Virtual Cat Project

ESP32 Virtual Cat Project

An interactive virtual pet built with Rust on the ESP32-C3, featuring environmental sensing and a state-driven animation system. It utilizes DHT and LDR sensors for environmental awareness and NVS for persistent statistics.

freertos
E-ink Meeting Room Schedule Display

E-ink Meeting Room Schedule Display

A wireless e-ink device based on the ESP32-powered Soldered Inkplate 6 platform that displays meeting room schedules. It utilizes the Roombelt backend for data and features a secondary digital photo frame mode that reads images from a microSD card.

freertos
Toyota RAV4 Climate Control Panel LIN Bus Interface

Toyota RAV4 Climate Control Panel LIN Bus Interface

This project provides an STM32 HAL-based implementation for communicating with a Toyota RAV4 climate control panel via the LIN bus. Targeting the STM32G474RE microcontroller, it demonstrates reverse engineering techniques for automotive HMI modules and utilizes DMA for efficient serial data handling.

cmsis
RP2040 DAC-Amp

RP2040 DAC-Amp

An experimental USB DAC and Class-D amplifier implemented on the Raspberry Pi RP2040. The project uses PIO-based H-bridge control and a 4th-order delta-sigma modulator to drive external MOSFETs directly from the microcontroller.

Flexispot Web Controller

Flexispot Web Controller

This project enables remote control and monitoring of Flexispot standing desks using an Arduino Nesso N1 or other M5Unified-compatible ESP32 devices. It emulates the original desk controller by communicating with the LoctekMotion control box via serial protocols, providing both a web-based UI and physical button controls.

freertos
IkeDryBox - Smart 3D Filament Dryer

IkeDryBox - Smart 3D Filament Dryer

IkeDryBox is an advanced ESP32-based DIY filament dryer featuring precision PID temperature control and a responsive LVGL touch interface. It integrates seamlessly with Home Assistant via MQTT and provides a built-in WebUI for real-time parameter tuning and network configuration.

lvgl
pico_fft: FFT Library for Raspberry Pi Pico

pico_fft: FFT Library for Raspberry Pi Pico

A lightweight and efficient wrapper for the KISS FFT library, specifically designed for the Raspberry Pi Pico (RP2040). It provides high-level functions for capturing analog signals via ADC and DMA, processing them into frequency bins, and performing real-time signal analysis.

M5Paper Buddy

M5Paper Buddy

A physical companion device for the Claude Code AI assistant, utilizing the M5Paper V1.1 e-ink display. It features real-time session mirroring, hardware-based tool approval, and touch-screen interactions powered by ESP32 and a Python-based daemon.

freertos littlefsplatformio-platformio-core
Beremiz4uC

Beremiz4uC

Beremiz4uC is a real-time runtime environment that executes Beremiz IDE PLC programs on STM32F4 microcontrollers using Zephyr RTOS. It features dynamic code loading via udynlink, eRPC-based communication, and flexible I/O management for industrial control applications.

zephyr littlefs
M5Dial-LVGL

M5Dial-LVGL

An LVGL port for the M5Stack Dial (M5Dial) based on the ESP-IDF framework. It integrates the Light and Versatile Graphics Library with M5Unified to provide support for the device's circular touch display and rotary encoder.

freertos lvgl
ESP32-8048S050C with LVGL 9.4 and FreeRTOS

ESP32-8048S050C with LVGL 9.4 and FreeRTOS

An implementation for the Sunton ESP32-S3 800x480 capacitive touch display utilizing ESP-IDF 5.5.2 and LVGL 9.4. It features optimized memory management strategies for PSRAM-based framebuffers and leverages FreeRTOS for efficient task orchestration.

freertos lvgl
ESP32 Mesh Control

ESP32 Mesh Control

An ESP-IDF based firmware for creating local mesh networks using ESP32-DevKitV1 hardware. It features a self-hosted web server for configuration, real-time topology visualization via WebSockets, and a custom OTA update mechanism that broadcasts firmware to all nodes in the mesh.

freertos lwipspiffs
Riden Dongle

Riden Dongle

An alternative firmware for Riden WiFi modules that provides Modbus TCP and SCPI support for RD-series power supplies. Built using the Arduino framework for ESP8266, it enables integration with professional lab automation tools and provides a comprehensive web interface for remote monitoring and control.

lwip
TISM - The Incredible State Machine

TISM - The Incredible State Machine

TISM is a cooperative multitasking framework for the Raspberry Pi Pico (RP2040 and RP2350) that enables concurrent task execution through a state-machine architecture. It provides essential system services including dual-core scheduling, a thread-safe messaging system, and hardware abstraction for interrupts and timers.

Cydintosh

Cydintosh

Cydintosh is a Macintosh Plus emulator designed for the ESP32-based Cheap-Yellow-Display (CYD). It utilizes the Musashi 68k emulator core and umac to run classic Macintosh software alongside modern ESP32 features like WiFi, MQTT, and Home Assistant integration.

freertos littlefslwip
Zephyr RTOS AI Harness

Zephyr RTOS AI Harness

A specialized harness designed for AI-assisted embedded firmware development using the Zephyr RTOS. It provides a comprehensive set of 'Agent Skills' covering core Zephyr subsystems like BLE, device drivers, and kernel primitives to help AI agents generate, understand, and manage firmware code efficiently.

zephyr littlefs
RP2040/RP2350 ADC Non-linearity Correction

RP2040/RP2350 ADC Non-linearity Correction

This project provides software-based tools and algorithms to correct the ADC non-linearity issues in RP2040 and RP2350 microcontrollers, specifically addressing the RP2040-E11 errata. It includes measurement firmware, Python scripts for data analysis, and general-purpose or device-specific calibration code for C++ and Python environments.

La Marzocco Round Controller

La Marzocco Round Controller

A standalone ESP32-S3 firmware project for a custom round external controller for La Marzocco espresso machines. It utilizes the ESP-IDF framework, FreeRTOS, and the LVGL graphics library to provide an on-device UI, BLE/cloud connectivity, and a local setup portal for managing machine settings and recipes.

freertos lvglnimblelwip
STM32F103 Quadruped Robot

STM32F103 Quadruped Robot

A sophisticated quadruped crawling robot powered by an STM32F103C8T6 microcontroller and an ESP32-CAM for real-time vision and remote connectivity. It utilizes FreeRTOS for multi-tasking and MicroPython for the wireless communication stack, supporting both cloud-based MQTT control via a mobile app and local control through a web interface.

freertos micropython
BluButton

BluButton

BluButton is an open-source firmware for ESP32 and ESP32-C3 devices, implementing a BLE button transmitter compatible with the Shelly BLU Button ecosystem. Built on ESP-IDF v6.0 and FreeRTOS, it focuses on high energy efficiency through deep-sleep cycles and provides encrypted advertising for secure button event triggers.

freertos lwip
OpenDualMotorDriver

OpenDualMotorDriver

OpenDualMotorDriver is an open-source, high-performance dual H-bridge motor controller powered by the Raspberry Pi RP2350 microcontroller and Texas Instruments DRV8412 driver. It supports brushed DC motor control from 4V to 40V with integrated current sensing, magnetic encoder feedback, and a comprehensive serial API for closed-loop position and speed control.

The Tick

The Tick

The Tick is an ESP32-C3-based covert access control implant designed to intercept, log, and replay credentials across Wiegand, Magstripe Clock&Data, and OSDP protocols. It features a robust hardware design with integrated level shifting and a high-efficiency DC-DC converter, supported by a modular software stack utilizing NimBLE for Bluetooth and a custom HTTP interface for remote management.

freertos nimblespiffs
Genius Gateway

Genius Gateway

An ESP32-based gateway for Hekatron Genius Plus X smoke detectors, enabling integration with modern smart home systems via MQTT and WebSocket. It features a custom PCB design with a CC1101 transceiver and a web-based management interface built on SvelteKit.

freertos
Pixel Frame

Pixel Frame

Pixel Frame is an ESP8266-based firmware designed to display live data from services like OpenWeatherMap and Last.fm on LED matrices or TFT displays. Built with the Arduino framework, it leverages the TFT_eSPI library for graphics and includes a Linux-based environment for cross-platform testing.

tft-espi
BackgroundAudio

BackgroundAudio

An optimized Arduino library for background audio playback and speech synthesis on Raspberry Pi Pico (RP2040/RP2350) and ESP32. It uses an interrupt-driven architecture to support MP3, AAC, WAV, and text-to-speech while keeping the main application loop responsive and dropout-free.

freertos littlefs
Ultranet-to-I2S

Ultranet-to-I2S

A firmware project for the Raspberry Pi Pico that decodes the Behringer Ultranet audio protocol into multiple I2S streams. It utilizes the RP2040's PIO modules for high-speed signal decoding and its dual-core architecture to synchronize audio between different clock domains.

DeskPet for M5Stack Cardputer

DeskPet for M5Stack Cardputer

DeskPet is a pixel-art companion for the M5Stack Cardputer that synchronizes with Claude Code sessions via Bluetooth Low Energy (BLE). Built on the ESP32-S3 using the NimBLE stack and ArduinoJson, it provides real-time visual feedback and hardware-based command approval for AI agent workflows.

freertos nimblelittlefs