Open Source Embedded Projects

Showing 343 projects

2D LIDAR Edge Detection using Raspberry Pi Pico

2D LIDAR Edge Detection using Raspberry Pi Pico

This project implements an edge detection system for mobile robots using a 2D LIDAR sensor and a Raspberry Pi Pico. It processes real-time scan data to calculate distances to upcoming edges or 'holes' by comparing measured values against a geometric model of the floor surface.

Focus Dial

Focus Dial

Focus Dial is an ESP32-based productivity tool designed to manage focus sessions through physical hardware interaction. It integrates with Home Assistant to trigger environmental changes like lighting scenes and network-level distraction blocking while managing phone notifications via Bluetooth.

freertos
embedded-kf Library

embedded-kf Library

A lightweight, statically-allocated C library for implementing Kalman filters on resource-constrained embedded systems. It features asynchronous measurement updates and automatic code generation from JSON configurations, facilitating sensor fusion for robotics and IoT devices without dynamic memory allocation.

PICO TTL2VGA

PICO TTL2VGA

A Raspberry Pi Pico-based signal converter that translates legacy TTL video signals (MDA, CGA, and EGA) into modern VGA output at 720x400 @ 70Hz. It leverages the RP2040's PIO state machines and DMA for high-speed pixel capture and signal generation, supporting various legacy resolutions and frequencies.

Hexapod

Hexapod

A 3D-printed, 18-servo hexapod robot platform designed for agility and flexibility, supporting both ESP32 and Raspberry Pi Pico controllers. The project features WiFi-enabled remote control via UDP, Over-the-Air (OTA) firmware updates, and a modular mechanical design optimized for 3D printing.

ESP32 Remote for Victron

ESP32 Remote for Victron

An open-source monitoring and control solution for Victron Multiplus II systems using the LilyGo T-Display S3 AMOLED. Built on the ESP32 platform, it provides real-time data on solar power, grid status, and battery health while allowing users to toggle charger and inverter functions.

freertos
Smart Keymap

Smart Keymap

A library for building advanced keyboard firmware that uses the Nickel configuration language to define complex keymap behaviors. It supports Rust-based firmware using the RTIC and Embassy frameworks, as well as C-based firmware for WCH RISC-V microcontrollers. The project enables sophisticated features like layers, tap-hold keys, and chords across various hardware platforms including RP2040, STM32F4, and CH32X.

rtic
T-HMI-C64 Emulator

T-HMI-C64 Emulator

A multi-platform Commodore 64 emulator designed for ESP32-S3 and ESP32 microcontrollers, supporting various display technologies from integrated LCDs to LED matrix panels. It utilizes FreeRTOS for multi-core task distribution and offers versatile input options including custom Android BLE and web-based keyboards.

freertos
Solar Concentrator

Solar Concentrator

An automated solar concentrator system that uses an ESP32-CAM and Arduino Pro Mini to focus sunlight onto a thermal target. It utilizes the ESP-IDF framework and FreeRTOS for computer-vision-based sun tracking and mirror orientation.

freertos lwip
QN8066 FM DSP RX/TX Arduino Library

QN8066 FM DSP RX/TX Arduino Library

A versatile C++ library for the QN8066 FM transceiver, enabling high-quality FM radio transmission and reception with RDS support. It targets a broad range of Arduino-compatible hardware including ATmega328, ESP32, STM32, and ATtiny, providing low-level I2C control and high-level functional abstraction.

Cybergear ROS2 Controller

Cybergear ROS2 Controller

A ROS 2 bridge for controlling Xiaomi Cybergear motors using M5Stack hardware via micro-ROS and Ethernet. The system supports multiple motor configurations, real-time control modes, and parameter tuning through standard ROS 2 interfaces.

freertos lwip
Modbux

Modbux

Modbux is a cross-platform Modbus client and server simulation tool built with Electron and React. It supports both Modbus TCP and RTU protocols, offering advanced data type interpretation, register scanning, and simultaneous client-server operation for industrial automation testing.

InfiniEmu

InfiniEmu

InfiniEmu is a high-fidelity emulator for the PineTime smartwatch, simulating the nRF52832 SoC and its complete peripheral suite including I2C sensors and SPI displays. It enables developers to run production firmware like InfiniTime in both native desktop environments and web browsers using WebAssembly, featuring integrated support for FreeRTOS debugging and LittleFS storage.

freertos littlefs
GNSS LoRaWAN Tracker

GNSS LoRaWAN Tracker

A GNSS-based tracking application built on Zephyr RTOS that transmits location and ignition status over LoRaWAN using ABP authentication. It targets the ESP32 WROOM 32 and utilizes UART-based GNSS modules and Smart Modular LoRaWAN modems for cloud connectivity.

zephyr
ESP8266 OLED HW-364A/B Development Guide

ESP8266 OLED HW-364A/B Development Guide

A comprehensive configuration guide and code repository for the HW-364A and HW-364B ESP8266 modules featuring integrated 0.96-inch OLED displays. It provides corrected I2C pin mappings, implementation examples using the U8g2 library, and specific Arduino IDE configuration settings to ensure reliable operation.

u8g2
CH32V003 USB Meter

CH32V003 USB Meter

An open-source USB power meter based on the CH32V003 RISC-V microcontroller and INA219 sensor. It monitors voltage, current, and power (up to 100W/20V/5A) and displays data on a 0.96-inch OLED screen. The project features a compact design with PD 2.0 pass-through support and includes comprehensive hardware, firmware, and 3D enclosure files.

platformio-platformio-core
dtuGateway for Hoymiles HMS Inverters

dtuGateway for Hoymiles HMS Inverters

dtuGateway is an ESP32-based firmware that bridges Hoymiles HMS-series solar inverters with integrated Wi-Fi to smart home ecosystems. It provides reliable data monitoring and remote control via MQTT, REST API, and openHAB, bypassing the limitations of the official cloud interface. The project supports various local displays and features a captive portal for easy configuration.

freertos nanopbtft-espiu8g2
MicroPython for Flipper Zero

MicroPython for Flipper Zero

This project provides a MicroPython port for the Flipper Zero, enabling native Python script execution on the device. It allows developers to interface with hardware components like GPIO, ADC, PWM, and the internal speaker using Python instead of C. The application is distributed as a Flipper Application Package (FAP) and integrates the standard MicroPython library.

freertos micropython
Pico2Dexed

Pico2Dexed

A technical port of the Dexed FM synthesis engine to the Raspberry Pi Pico 2 (RP2350). The project utilizes the ARM Cortex-M33 cores to achieve 10-note polyphony at 44.1kHz, supporting I2S audio output and standalone MIDI tone playback.

VMflow — Open-Source Vending Machine IoT Platform

VMflow — Open-Source Vending Machine IoT Platform

An ESP32-S3 based platform that enables MDB protocol communication for vending machine cashless payments and remote telemetry. It features support for EVA DTS DEX/DDCMP standards, Bluetooth connectivity via NimBLE, and integrated foot traffic analysis using a PAX counter.

freertos nimble
FazyRV -- A Scalable RISC-V Core

FazyRV -- A Scalable RISC-V Core

FazyRV is a minimal-area RISC-V RV32 core featuring a scalable data path that can be configured to 1, 2, 4, or 8 bits at synthesis time. It is designed for resource-constrained FPGA architectures like iCE40 and ECP5, offering fine-tuned trade-offs between hardware area and performance while maintaining compatibility with the LiteX SoC builder.

Three IPS Displays with ST7789

Three IPS Displays with ST7789

This project provides optimized configurations and benchmarking tools for three common ST7789-based IPS displays with resolutions of 170x320, 240x280, and 240x320. It leverages the TFT_eSPI library to achieve high frame rates on ESP32 and RP2040 microcontrollers, including detailed wiring and setup files for various hardware platforms.

tft-espi
JC2432W328 Microcontroller Board Documentation

JC2432W328 Microcontroller Board Documentation

A comprehensive technical resource for the ESP32-based JC2432W328 development board, featuring an ST7789 display and capacitive touch. The repository provides a wide range of Arduino-based examples covering WiFi networking, BLE services, hardware peripherals, and LVGL graphics integration.

freertos lvgl
BresserWeatherSensorLW

BresserWeatherSensorLW

A LoRaWAN-enabled bridge for Bresser 868 MHz weather sensors based on ESP32 and RP2040 microcontrollers. It utilizes the RadioLib library to receive sensor data via FSK and transmit it to LoRaWAN networks like The Things Network, ChirpStack, or Helium, while focusing on low-power operation and extensive sensor support.

littlefs
Renode RP2040 Simulation

Renode RP2040 Simulation

A comprehensive simulation framework for the Raspberry Pi RP2040 microcontroller based on Renode. It features a specialized C++ PIO simulator, support for core peripherals like DMA and I2C, and a Python-based visualization tool for virtual hardware debugging.

ESP32 PCM1808 Sound Recorder

ESP32 PCM1808 Sound Recorder

A high-quality sound recording application for the ESP32 that utilizes the PCM1808 ADC to capture audio via the I2S interface. The project records 32-bit monoral sound at 44.1kHz and saves the output directly to an SD card in WAV format.

freertos
MIDI 2 Solenoid Controller

MIDI 2 Solenoid Controller

A Raspberry Pi Pico firmware that converts USB MIDI signals into PWM control for four solenoid motors. It features a MOSFET-based hardware design, MIDI note mapping, and an integrated auto-sleep safety function to prevent solenoid overheating.

lux microkernel

lux microkernel

A portable, minimalist microkernel written from scratch for x86_64 and ARM64. It features a preemptive multiprocessor scheduler, asynchronous I/O, and a Unix-like API, all implemented in under 5,000 lines of code to minimize software bloat.

PathShield

PathShield

PathShield is a privacy-focused RF monitoring tool for the M5StickC-Plus, designed to detect and alert users to persistent WiFi and BLE devices. It employs a multi-threaded ESP32 architecture and a sophisticated persistence scoring algorithm to distinguish potential trackers from ambient wireless noise. The system features an offline manufacturer database and customizable detection thresholds for enhanced situational awareness.

freertos spiffs
AntiHunter

AntiHunter

AntiHunter is an open-source distributed perimeter defense system designed for wireless network security and operational awareness. Built on the ESP32-S3 platform using the Arduino framework and FreeRTOS, it creates a scalable mesh network of sensors for real-time WiFi/BLE threat detection, device mapping, and signal triangulation. The system integrates GPS, SD logging, and tamper-responsive data destruction to provide a robust digital tripwire for security professionals.

freertos nimble
LiquidCrystal_I2C_Multilingual

LiquidCrystal_I2C_Multilingual

An Arduino library for displaying UTF-8 encoded multilingual strings and custom symbols on I2C character LCDs like the LCD1602 and LCD2004. It supports a variety of hardware including ESP8266 and ESP32, providing specialized classes to handle different LCD ROM character sets and custom CGRAM generation for languages like Vietnamese.

Lilka DIY Console

Lilka DIY Console

Lilka is an open-source DIY handheld console based on the ESP32-S3 microcontroller, designed for education and hobbyist development. It runs the Keira operating system, which utilizes FreeRTOS for task management and provides a framework for both C++ and Lua applications. The platform supports features like NES emulation, SD card storage, and wireless connectivity, all while remaining affordable and easy to assemble.

freertos
Noninvasive Glucometer

Noninvasive Glucometer

An open-source hardware and software project dedicated to developing noninvasive blood glucose monitoring using near-infrared spectrometry. It features multiple sensor designs based on the Adafruit Feather M0 and RP2040 platforms, focusing on cost-effective and accurate physiological data collection.

FINIK CH32V003 SDK

FINIK CH32V003 SDK

A development kit for the CH32V003 RISC-V microcontroller that combines an Arduino-like project structure with a CMake-based build system. It provides a streamlined workflow for Windows users, including VS Code integration, a UART-based programmer, and built-in support for persistent configuration storage in flash memory.

ESPRI (ESP Radio Interface)

ESPRI (ESP Radio Interface)

ESPRI is an ESP32-based interface designed to extend the functionality of ham radios, such as the Quansheng UV-K5. Built using the ESP-IDF framework and FreeRTOS, it provides features like wireless UART, AFSK/Morse beacons, audio recording to SD cards, and a web-based control panel.

freertos lwipspiffs
KALO ESP32 Voice Assistant

KALO ESP32 Voice Assistant

An ESP32-based voice assistant that integrates I2S audio recording, Deepgram speech-to-text, and multiple text-to-speech engines like OpenAI and Google TTS. It utilizes the latest ESP-IDF I2S drivers to handle digital microphones and amplifiers while managing audio storage on a microSD card.

freertos