30 open-source projects similar to raspberrypi/pico-examples, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pico Examples alternative.
This project is an embedded C++ development kit and hardware abstraction layer that enables the Arduino programming environment to target ESP8266 WiFi microcontrollers. It provides a comprehensive framework for compiling and flashing code to microcontroller memory via serial or wireless interfaces. The system includes a specialized WiFi microcontroller framework for managing TCP/IP stacks and internet connectivity. It features a dedicated over-the-air firmware update system that allows software updates to be delivered to remote hardware without a physical cable connection. The kit covers emb
i2cdevlib is a collection of peripheral drivers and hardware abstraction layers designed for I2C devices. It provides a sensor driver collection, a register map database, and a peripheral manager to coordinate communication between microcontrollers and hardware components. The project utilizes a hardware abstraction layer to decouple device logic from specific microcontroller hardware and wire libraries. This transport-layer abstraction allows the same device drivers to remain portable across different hardware architectures. The library covers a broad range of hardware integration, includin
Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It enables the execution of multiple concurrent tasks to maximize energy efficiency and CPU usage, utilizing an async executor that puts the processor to sleep when idle. The framework includes a comprehensive set of embedded components, featuring a hardware abstraction layer for peripherals like GPIO, SPI, I2C, and UART, alongside a TCP/IP network stack and a USB device stack. It also provides a Bluetooth Low Energy host stack for wireless communication and a bootloader framework t
OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides a comprehensive environment for quadruped robot development, featuring tools for locomotion gait design, inverse kinematics, and a layered control architecture that separates high-level intelligence from low-level motion. The project distinguishes itself as an embedded AI deployment tool, allowing users to train, quantize, and deploy machine learning models to vision modules for tasks such as object detection and visual target tracking. It further supports complex human-robot
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
This project is a software-defined radio platform designed to capture, analyze, and broadcast radio frequency signals across a wide spectrum. It provides a programmable hardware interface for transmitting and receiving radio signals, enabling spectrum analysis and wireless data monitoring. The system is distinguished by its ability to synchronize multiple devices using a shared external clock and hardware triggers to ensure precise timing and sample accuracy. It supports advanced signal routing, allowing ports to be mapped based on frequency or time to enable specialized operations like pseud
This project provides a development framework that enables programming Raspberry Pi Pico microcontrollers using the Arduino environment and standard C++ libraries. It serves as a unified platform for compiling, debugging, and deploying firmware to diverse hardware boards based on the RP2040 and RP2350 architectures. The framework distinguishes itself through native support for symmetric multicore execution, allowing developers to distribute independent tasks across multiple processor cores to manage complex workloads. It also includes a specialized library for USB peripheral emulation, enabli
Blynk is an embedded device framework and IoT cloud connectivity library designed to establish secure, bi-directional communication between microcontrollers and a remote management platform. It provides the core identity of an IoT device management tool, enabling the synchronization of device states, remote hardware control, and the mapping of hardware data to cloud-based interfaces. The project distinguishes itself through a virtual-pin system that decouples cloud communication from physical pins, allowing for hardware-independent data exchange. It also supports advanced architectural offloa
The Espressif SoC Development Framework is a comprehensive toolset for developing, compiling, and flashing applications targeting Espressif system-on-chips. It serves as an embedded toolchain orchestrator and a hardware abstraction layer that simplifies the control of low-level peripherals, memory mapping, and chip-specific registers. The framework provides a dedicated IoT connectivity stack for implementing Wi-Fi, Bluetooth, Zigbee, and Ethernet communication on microcontrollers. It also includes an embedded real-time operating system integration layer to manage multitasking and scheduling o
Side-Menu.Android is a reusable UI component for Android applications that provides a slide-out navigation drawer. It is designed to help developers organize application sections and user options into a structured, hidden panel that maintains a clean interface for the primary content area. The component distinguishes itself through its visual presentation, which follows Material Design guidelines to ensure a consistent and intuitive user experience. It features a data-driven menu hierarchy that allows for logical grouping of navigation items, and it incorporates fluid circular reveal animatio
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
CircuitPython is a specialized derivative of the MicroPython runtime designed as an embedded Python interpreter for microcontrollers. It provides a high-level language environment that allows for direct hardware access through a dedicated hardware abstraction layer and a Python microcontroller runtime. The project is distinguished by firmware that exposes the microcontroller as a native USB mass storage device. This allows users to edit code directly on the device as if it were a removable drive, eliminating the need for specialized flashing tools and enabling filesystem-triggered code reload
Embedded-hal is a hardware abstraction layer for embedded microcontrollers that defines common traits allowing peripheral drivers to remain entirely independent of specific hardware platforms. The library provides platform-agnostic interfaces that decouple driver logic from microcontroller architectures, utilizing zero-cost trait abstractions that compile down to direct hardware register manipulations without runtime overhead or memory allocation. The project features asynchronous execution support and synchronous-to-asynchronous adaptation, enabling non-blocking peripheral operations and coo
MicroPython is a lean implementation of Python 3 optimized to run on microcontrollers and other resource-constrained systems. It serves as a cross-platform embedded runtime and hardware abstraction layer, providing a firmware framework that maps high-level software commands to specific microcontroller registers across diverse processor architectures. The project functions as an embedded language interpreter that enables rapid prototyping on hardware through an interactive read-eval-print loop. It supports a wide range of target environments, including ARM, ESP32, STM32, RISC-V, and WebAssembl
U-Boot is an embedded bootloader that initializes hardware components and loads operating system kernels into memory. It functions as a hardware abstraction layer providing standardized access to networking, storage, and peripheral buses, while also serving as a secure boot loader and a firmware update interface. The project distinguishes itself through the implementation of secure boot sequences that verify cryptographic signatures and interface with TPM modules to establish hardware-rooted trust. It further provides specialized capabilities for updating device firmware via standardized prot
RIOT is a real-time operating system designed for resource-constrained microcontrollers. It provides a kernel for managing hardware peripherals, memory, and multitasking on embedded devices, featuring a microcontroller hardware abstraction layer to unify hardware access across different chipsets. The system employs a preemptive tickless task scheduler with priority-based execution to maximize energy efficiency in battery-powered hardware. It also includes an embedded security framework consisting of cryptographic APIs and secure transport protocols to facilitate authenticated over-the-air fir
This project is a professional integrated development environment designed for microcontroller firmware engineering and embedded systems development. It provides a specialized interface for writing, compiling, and deploying code to Arduino-compatible boards and various other hardware platforms. The environment distinguishes itself through a modular architecture that separates the graphical user interface from the underlying build and hardware communication logic. By utilizing a language server protocol and a decoupled plugin system, it allows for consistent code analysis and extensible functi
Sensor-Watch is an open-source programmable replacement circuit board that transforms a classic digital watch into an extensible wrist-worn development computer. It functions as an embedded firmware development kit, providing the toolset needed to compile and install custom C software onto resource-constrained microcontrollers through a standard bootloader mechanism. The platform supports peripheral pin multiplexing to route analog, digital, and communication signals through a physical multi-pin expansion interface connected to the core processor. This enables the integration of custom perip
This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables firmware development using a familiar API. It functions as a microcontroller hardware abstraction layer and a firmware toolchain integration, bridging external development environments to the hardware for compilation and flashing. The system includes an embedded real-time operating system wrapper to manage multi-core execution and task scheduling, alongside a wireless communication suite for TCP/IP networking and Bluetooth Low Energy. It distinguishes itself by providing an obj
ZSWatch is a real-time operating system for wearable devices featuring a touch display and Bluetooth Low Energy connectivity. It provides a comprehensive software suite that includes a Bluetooth LE communication stack, an embedded UI framework for round displays, and a complete firmware toolchain for compiling, flashing, and simulating wearable hardware. The project is distinguished by its specialized wearable capabilities, such as a graphical framework for designing reactive screens and watchfaces via a visual editor. It implements a publish-subscribe messaging system to decouple hardware se
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
This project is an open-source software development kit and framework for implementing the Matter smart home standard. It provides a universal IPv6-based application layer and a cluster-based data model to ensure interoperability between diverse smart home devices and controllers. The system is distinguished by its multi-transport network abstraction, which maps Bluetooth LE, Thread, and Wi-Fi implementations to a common layer. It includes specialized tooling for secure device commissioning via QR codes and NFC, as well as a comprehensive over-the-air firmware update system for distributing s
Hekate is a bootloader and system recovery tool for Nintendo Switch hardware. It functions as a multi-OS boot manager that allows the execution of binary payloads and the launching of stock firmware, custom firmware, Android, and Linux through a graphical interface. The project provides a suite of recovery and system modification tools, including the ability to create and restore full backups of internal storage. It also features a USB HID gamepad emulator that maps device controller inputs to USB signals for interacting with external computers. The software covers broad capability areas inc
This project provides educational resources and technical guides for microcontroller firmware development. It focuses on writing low-level C code that runs directly on hardware without an underlying operating system, covering the fundamentals of hardware registers, memory mapping, and system clocks. The guides detail the creation of hardware abstraction layers to wrap raw memory-mapped registers into structured interfaces and provide walkthroughs for integrating TCP/IP stacks and HTTP servers into bare-metal environments. It also outlines the implementation of embedded systems build pipelines
This library is a framework for managing Bluetooth Low Energy connections, device scanning, and data exchange between Android applications and peripheral hardware. It provides a development toolkit for implementing service operations, notification handling, and broadcast packet parsing to facilitate communication with external sensors and equipment. The library distinguishes itself by maintaining multiple concurrent peripheral connections with automatic retry logic and state management to ensure stable communication sessions. It handles the complexities of hardware interaction by serializing
This project provides custom firmware and a suite of management tools for wireless thermometers and hygrometers. It replaces manufacturer software to improve measurement accuracy, extend battery life, and unlock configuration options not available in stock firmware. The system differentiates itself through a comprehensive set of administration utilities, including a device configurator for managing Bluetooth advertising and transmission power, and an over-the-air flasher for wireless software updates. It also features a climate data visualizer to retrieve and graph historical temperature, hum
This project is network firmware for the ESP32 that functions as a wireless repeater, NAT router, or wireless bridge to extend WiFi coverage. It can operate as a WiFi range extender, a layer-2 bridge for shared subnets, or a NAT router that creates a private secondary subnet to connect clients to an upstream network. A key differentiator is its ability to act as an enterprise WiFi to PSK converter, translating PEAP-authenticated networks into WPA2-PSK networks for devices that do not support enterprise authentication. Additionally, it includes a network traffic mirroring tool that streams int
Blackmagic is a GDB server for embedded hardware that translates GDB remote protocol messages into JTAG and SWD commands. It functions as an ARM and RISC-V debugger and hardware debug probe manager, enabling users to inspect memory, control execution, and manage registers on ARM Cortex and RISC-V cores. The project distinguishes itself by acting as a remote hardware debugging bridge that can stream GDB server traffic over TCP/IP to control physical hardware from a remote machine. It also provides a JTAG and SWD interface to connect host computers to target hardware and serves as an embedded f