30 open-source projects similar to bodmer/tft_espi, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best TFT ESPI alternative.
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
This project is an ESP32 display driver library and touchscreen UI framework. It provides a collection of hardware configurations and software drivers designed to control ESP32-based touchscreen displays. The repository serves as an embedded hardware pinout map, providing a guide for mapping the physical pins of the display module. It specifically enables the use of these displays as controllable touch panels within home automation hardware interfaces. The project covers embedded graphics development, including the rendering of visual interfaces and the integration of ESP32 display modules f
This project provides open-source hardware designs for a high-end, repairable laptop. It defines a modular architecture centered on a precision-milled CNC aluminum chassis and a hardware layout that prioritizes accessibility and user-replaceable parts for long-term maintenance. The design is distinguished by the integration of a 4K AMOLED display and a custom wireless mechanical keyboard utilizing low-profile switches. The system employs a modular approach that allows the input system to be detached and used as a standalone peripheral. The technical scope covers high-performance motherboard
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
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
Pixel is a 2D game library and graphics engine for the Go programming language. It provides a hardware-accelerated renderer for drawing sprites, geometric shapes, and text, utilizing an optimized system of batching and transformation matrices. The project functions as a comprehensive toolkit for two-dimensional interactive applications, combining a graphics engine with a 2D vector math library for affine transformations and coordinate space projections. It includes a dedicated input manager that tracks keyboard presses and mouse movements using a polling-based system rather than asynchronous
Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots and IoT devices. It provides a standardized library for managing pins, motors, and displays across various microcontroller platforms, allowing developers to control sensors and actuators using a consistent JavaScript API. The framework is distinguished by its use of a plugin-based hardware abstraction system, which enables communication with diverse hardware platforms and protocols. It supports real-time hardware manipulation and debugging through a read-eval-print loop that a
Tasmota is a universal firmware platform for ESP8266 and ESP32 microcontrollers, designed to provide local control and management of smart home hardware. It functions as an event-driven automation controller that replaces proprietary factory firmware, allowing users to manage relays, sensors, and lighting systems without relying on external cloud services. The system is built on a modular driver architecture that enables dynamic hardware configuration and peripheral support through a web-based management interface. The platform distinguishes itself through a template-driven hardware mapping s
ElectronBot is a robotic system comprising custom PCB designs, an embedded circular display driver, an I2C servo controller, and a communication bridge. It integrates hardware schematics and layouts for control boards and sensor arrays with firmware designed to render images and animations on integrated circular screens. The system features a control bridge that links the physical robot hardware to the Unity game engine for real-time visualization and high-level control. Data exchange between the host computer and the embedded hardware is handled via a custom USB CDC serial communication prot
Cylon is a JavaScript robotics framework and hardware abstraction layer designed for controlling robots, drones, and IoT devices. It functions as an IoT device orchestrator that translates high-level JavaScript commands into hardware signals and manages multiple sensors and components concurrently. The system utilizes a modular architecture of drivers and adaptors to normalize diverse hardware signals into a unified programming interface. It enables the deployment of hardware control logic across various environments, including web browsers and mobile applications, through cross-platform bund
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 project is a high-performance, lightweight C graphics library designed for creating interactive user interfaces on resource-constrained embedded hardware. It functions as a comprehensive framework that provides a widget toolkit, a rendering engine, and hardware-agnostic drivers to support the development of graphical displays on microcontrollers and embedded systems. The framework distinguishes itself through a flexible, object-oriented widget hierarchy and a declarative layout engine that supports responsive design patterns like flexbox and grid systems. It enables developers to synchro
OM1 is a multimodal AI agent runtime and orchestration framework designed to connect large language models to physical robot hardware and sensors. It provides an execution environment that processes audio, video, and sensor data to drive autonomous decisions and actions in real-world settings. The system integrates a robotics SLAM and navigation stack with a hardware abstraction layer, allowing high-level AI commands to be translated into low-level motor and actuator instructions. It distinguishes itself by incorporating blockchain-based governance to enforce immutable operational rules and p
Miryoku is a universal mapping specification for ergonomic and orthogonal keyboards. It provides a standardized set of key assignments and layers designed to decouple logical input intent from specific physical hardware, ensuring consistent key placement across different firmware and devices. The system focuses on home-row navigation, placing cursor movement, mouse emulation, and system functions on the home row to minimize hand travel. It utilizes a layer-based input strategy with toggleable and modal layers to manage numerals, symbols, and media controls without relying on complex modifier
Openwash-hardware is an open-source project providing technical schematics, structural specifications, and assembly instructions for constructing a functional, automated washing machine. It serves as a comprehensive repository of mechanical engineering documentation designed to facilitate the creation of household laundry appliances from scratch. The project emphasizes a modular approach to hardware design, utilizing standardized mechanical interfaces and common fasteners to ensure that components are interchangeable and accessible. By organizing the physical assembly into independent modules
This project is a software-defined radio signal decoder and protocol analyzer designed to translate raw radio transmissions from ISM bands into human-readable data. It functions as a tool for capturing radio samples, analyzing pulse timings, and decoding signals from wireless devices. The system acts as a data bridge, converting decoded radio signals into JSON format for publication to MQTT brokers or exposure via Prometheus-compatible endpoints. It also serves as a signal capture tool capable of recording raw radio samples and demodulated pulses to files for offline analysis and simulated pl
PyVista is a scientific 3D plotting framework and visualization library that provides a Python interface for rendering and analyzing spatial datasets using a VTK backend. It functions as a volumetric rendering engine and a 3D mesh analysis tool for computing geometric properties and performing boolean operations on surface and volumetric meshes. The project is distinguished by its ability to operate as a headless 3D renderer, generating high-quality renders and animations on remote servers without a physical display. It also features a lazy-accessor extension mechanism that allows the registr
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
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
Blinker-py is a Python library and asynchronous hardware interface designed to connect Linux-based single board computers, such as the Raspberry Pi, to a remote IoT cloud platform. It functions as a communication bridge and hardware abstraction layer that enables the remote monitoring and control of physical components. The project provides a TCP socket communication client for bidirectional, real-time data exchange. It maps cloud-side virtual controls to physical GPIO pins, allowing remote interfaces to trigger physical actions on connected hardware through a cloud bridge. The library incor
SDRangel is a comprehensive software-defined radio suite and digital signal processing framework. It functions as an RF spectrum analyzer and modular radio demodulator, providing a unified hardware abstraction layer to connect various radio devices to software processing pipelines for data acquisition and transmission. The platform is distinguished by its modular architecture, which uses a data-flow graph of dynamic libraries to construct signal processing chains. This allows for a plugin-based environment where users can extract audio and digital data from raw radio signals using various mod
Arduino is a physical computing platform and an open hardware standard used to build interactive electronic objects and standalone devices. It provides a C++ microcontroller IDE and an embedded systems framework for writing, compiling, and uploading code to microcontroller boards. The ecosystem facilitates embedded systems programming and interactive hardware prototyping, allowing for the creation of devices that respond to environmental changes or user input. It enables the development of physical computing projects by managing the connection and flashing of code to various hardware boards.
Blinker is an IoT cloud connectivity library designed to link embedded hardware to cloud services. It functions as a communication layer that connects physical devices to mobile applications for remote triggering, state monitoring, and remote data transmission. The library provides a development framework for ESP32 microcontrollers and a set of tools for interfacing Arduino R4 hardware with cloud backends. It enables the establishment of secure links between embedded devices and cloud services to store and transmit data remotely. The project includes capabilities for remote hardware manageme
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
Canvas is a headless vector graphics engine and two-dimensional graphics rendering library built on a native graphics library with zero system dependencies for server-side drawing. It provides a programmatic shape construction and manipulation library supporting bezier curves, boolean operations, and native rendering without requiring a display server. The library renders shapes, paths, text, and images onto virtual memory surfaces and off-screen drawing areas for server-side image generation, vector animation rendering, and PDF generation. It supports path boolean operations to compute comp
GuiLite is a header-only C++ graphical user interface library and cross-platform framework. It provides a minimal implementation for rendering user interfaces and visual widgets across diverse environments, ranging from resource-constrained microcontrollers and embedded hardware to full desktop operating systems. The library functions as an embedded graphics system for composing visual layouts and rendering multi-language text using UTF-8 encoding and compatible font engines. It supports the integration of multimedia content, including the display of 3D graphics and video playback. The frame
The HomeKit Accessory Development Kit (ADK) is an open-source framework from Apple for building smart home accessories that pair and communicate with the Home app and the broader Apple Home ecosystem. At its core, the ADK implements the HomeKit Accessory Protocol (HAP), providing the cryptographic pairing and secure session establishment—using SRP and Curve25519 key exchange—required for trusted accessory-controller links. Accessories are modeled through an event-driven architecture that manages state and characteristics, with configuration stored in a structured JSON format for runtime queryi
rawdrawandroid is a framework for building Android applications using C and Make. It provides a native development system that compiles source code into standalone executable packages, bypassing the standard Java or Kotlin toolchains and virtual machines. The project features a native UI toolkit for creating hardware-accelerated graphics windows and a dedicated hardware interface for direct communication with USB peripherals and onboard sensors. It utilizes a containerized build environment to ensure consistent compilation and signing of binaries without requiring local toolchain installation
OpenMower is an autonomous lawn mower controller and firmware system that uses high-precision RTK GPS to navigate robotic mowers without the need for physical boundary wires. It functions as a GPS-based path planner and hardware management system that converts manual machines into autonomous units. The project includes a remote management application for monitoring and controlling mowers via a web or mobile interface. It integrates an obstacle avoidance system and safety layers that execute emergency stops when the device is lifted or crashes. The system manages robotic hardware through firm
Mbed OS is a real-time operating system designed for connected internet-of-things devices and microcontroller hardware. It provides a fundamental framework that combines a real-time operating system with an embedded security framework, a hardware abstraction layer for controlling sensors and peripherals, and a device management platform for cloud-based orchestration. The system establishes security foundations to protect connected products from unauthorized access and vulnerabilities. It further enables remote monitoring and hardware orchestration by connecting embedded devices to cloud servi