30 open-source projects similar to google/pebble, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pebble alternative.
Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and microcontrollers. It functions as both an embedded serialization library for encoding and decoding structured data and a code generator that transforms definition files into compact C source and header files. The project is distinguished by its focus on static memory allocation, using fixed maximum sizes for strings and arrays to avoid dynamic memory allocation and heap fragmentation. It employs a callback-based streaming mechanism to process messages or fields that exceed available phys
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
30DaysofSwift is a structured educational curriculum designed to teach native mobile application development for Apple devices. It provides a collection of practical coding exercises that guide learners through the implementation of core iOS frameworks and the Swift programming language. The project focuses on mastering standard mobile design patterns and system integration tasks. It covers the creation of interactive interface components, the application of motion and transitions to user interfaces, and the management of local data persistence. Additionally, the curriculum includes exercises
gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands into native instructions for multiple GPU drivers. It provides a common interface for cross-platform rendering and general-purpose GPU compute programming. The project features an intermediate-representation shader translation system that converts source code and SPIR-V into target-specific languages. It employs a data-driven reference test framework to verify that graphics output remains consistent across different hardware platforms. Capabilities include parallel command buffe
Highway is a portable C++ library and hardware abstraction layer designed for writing single instruction multiple data (SIMD) code. It provides a unified interface that maps data-parallel logic to various CPU instruction sets, enabling the development of high-performance software that runs across different processor architectures without requiring architecture-specific assembly. The project features a dynamic instruction dispatcher that selects the most efficient CPU instruction set at runtime based on detected hardware. It also supports static target specialization and extensible mechanisms
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
MonoGame is a cross-platform game engine and framework built for the C# language and .NET ecosystem. It provides a development environment for creating 2D and 3D games that run across multiple operating systems and hardware platforms. The project serves as an open-source implementation of the XNA game studio API. It includes a dedicated game asset pipeline to convert raw art and sound files into optimized formats for efficient engine loading. The framework provides a hardware-abstraction layer to maintain a consistent interface for graphics and input across different devices. Its capabilitie
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Mosaic is a declarative terminal user interface framework and display engine. It provides a toolkit for building interactive command-line applications by synchronizing a data model with the terminal screen to minimize manual redraws. The library functions as a layout engine for designing structured visual interfaces and real-time displays. It enables the development of interactive console programs, such as system monitors and games, by managing responsive user input and dynamic output updates.
SFML is a cross-platform multimedia framework for C++ designed for creating 2D graphics, audio, and network applications. It functions as a unified set of libraries that provides a 2D graphics rendering engine, an audio processing library, a network socket library, and a cross-platform window manager. The framework allows for the development of interactive software by coordinating real-time 2D graphics rendering, audio playback, and user input handling. It provides a standardized interface for creating and controlling application windows across multiple operating systems. Its capability surf
MaaFramework is a GPU-accelerated automation framework and image recognition tool. It identifies and interacts with visual screen elements by offloading compute-intensive pixel-level processing and image analysis to graphics hardware. The framework employs a hardware-abstracted execution layer to maintain consistent performance across different hardware configurations. This architecture supports a hardware-accelerated recognition pipeline that reduces latency during visual automation tasks. The project includes a community-driven resource directory and searchable asset registry. These tools
Flame is a 2D game engine for Flutter and Dart. It provides a component-based game framework for managing entities and their lifecycles through a hierarchical architecture, alongside a dedicated system for game asset management and input handling. The engine distinguishes itself through a specialized integration layer for external physics engines to handle rigid body dynamics and collision detection. It also features a high-performance task model that uses isolates to offload heavy computations and prevent main thread blocking. The framework covers a broad range of capabilities including vis
stable-diffusion.cpp is a high-performance C++ inference engine designed for generating images and video from text prompts using Stable Diffusion models. It functions as a latent diffusion model runtime and a lightweight machine learning framework that enables local diffusion model execution on consumer hardware. The project distinguishes itself as a CPU-based image generator capable of running without a dedicated GPU. It employs a specialized C++ tensor backend and cross-backend hardware abstraction to dispatch compute tasks across different processor instruction sets and graphics APIs. The
Cameraview is an Android camera integration library used to embed live camera previews and capture photos or videos within applications. It provides a reusable UI component that manages camera hardware initialization and real-time stream rendering. The library includes a media capture framework to control hardware settings such as focus, flash, and aspect ratios for recording images and video files. The project covers functional domains including Android hardware configuration via layout attributes and the rendering of continuous camera streams for immediate visual feedback.
Espanso is a cross-platform text expander and automation tool written in Rust. It replaces short keywords with longer predefined text strings across different operating systems to increase typing speed and consistency. The tool utilizes regular expressions to detect complex typing patterns for dynamic replacement and allows for the execution of custom shell scripts to inject real-time data. Users can restrict expansions to specific software environments, ensuring that keywords only trigger within designated applications. The system includes a manager for installing and updating curated colle
Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a command-line environment. It functions as a TUI layout engine, an interactive CLI framework, and a terminal data visualization toolkit. The library provides a set of specialized widgets for rendering charts, plots, gauges, and tables using character-based graphics. It includes a grid-based system for arranging interface elements using relative coordinates and proportional sizing to create structured displays. The toolkit covers a broad range of capabilities including data visua
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
OpenRGB is a centralized software suite for controlling colors and lighting effects across various brands of RGB hardware. It functions as a cross-platform controller and hardware control system that provides a unified interface for managing lighting profiles and effects. The project features an extensible plugin framework and a dedicated plugin interface that allow for the addition of new hardware support and integration features. It includes a network gateway that exposes an API for third-party applications to send lighting commands to connected devices. The system supports multi-computer
CodeMirror is a browser-based code editor and extensible text editor framework. It functions as a programmable interface for rendering code and text with support for numerous programming languages, serving as a reusable component for web-based integrated development environments. The project provides a syntax highlighting engine that applies visual styles to text based on programming language rules. It includes a programming API and a CSS theming system to customize the editor's appearance and extend its functionality with custom behaviors. The framework covers capabilities for embedding tex
Autoware is a modular autonomous driving stack and open-source platform for advanced driver assistance systems. It functions as an integrated operating environment that manages the full pipeline from sensor data processing to vehicle actuation, utilizing the ROS 2 robotics framework for distributed communication and hardware abstraction. The system provides a comprehensive software architecture to enable autonomous driving across various vehicle platforms. It coordinates perception, planning, and control systems to operate vehicles without human intervention. The platform covers several core
go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console UI framework and terminal input manager, providing the tools necessary to capture user input and execute commands through a persistent interactive loop. The library features a dedicated auto-completion engine that provides real-time command suggestions. It also supports dynamic prompt prefixes updated via callback functions and a system for managing and recalling command history. The framework covers a broad range of terminal capabilities, including keyboard shortcut mapping,
This project is a first-person shooter game engine and a pseudo-3D rendering engine written in C. It serves as a software framework for rendering three-dimensional environments and managing entity physics. The engine includes a networked multiplayer system designed to synchronize game state and player actions across a client-server network. It utilizes a portable codebase that allows game logic to be adapted across different operating systems and hardware architectures. Core capabilities cover 3D game engine architecture, including spatial partitioning and depth-based rendering. The system a
python-prompt-toolkit is a Python library and terminal user interface framework used for building interactive command line interfaces. It provides a toolkit for constructing complex terminal applications with advanced input handling and layout management. The project features a real-time syntax highlighting engine and a rendering system that ensures correct alignment and display of double-width Unicode characters. It includes specialized capabilities for command line autocompletion, providing ghost text suggestions and searchable input history. The framework covers a broad range of interface
Embla Carousel is a framework-agnostic JavaScript library used to build sliding content galleries and touch-enabled slider components. It provides a toolkit for creating carousels that function independently of any specific frontend framework or DOM library. The library focuses on precision swiping and fluid motion for interactive image galleries and custom content sliders. It is designed to maintain consistent behavior across different browser environments and device screen sizes.
This is an Android barcode scanning library designed to detect and decode barcode data from a live camera feed. It provides the core infrastructure for translating visual patterns into text on mobile devices. The library includes a camera preview manager that adjusts aspect ratios and feed sizes to fit various screen dimensions, as well as a hardware controller for managing flash, autofocus, and sensor selection. It also features a barcode format filter to restrict scanning to specific barcode types to increase detection speed and accuracy. The project covers camera hardware control, live ba
This project is a Nintendo Entertainment System emulator written in Go. It functions as a hardware simulation that executes game ROMs by mimicking the original console's circuitry, including the processor and picture processing unit. The emulator includes a game library browser that identifies local files and retrieves titles and thumbnails from online databases using file checksums. It also implements a system of memory management mappers to ensure compatibility across various game ROM formats and hardware configurations. The software covers high-level capabilities for game ROM execution an
Clack is a Node.js CLI framework and prompt library designed for building stylized, interactive command-line user interfaces. It provides a toolkit for creating terminal applications that collect structured user input and display formatted information. The library includes a set of interactive terminal UI components, such as validated input fields for text and passwords, searchable selection menus with autocomplete, and grouped options for user choice. It also provides mechanisms for process visualization, including loading spinners, progress bars, and sequential task lists to communicate bac
ggez is a 2D game framework for the Rust programming language. It provides a hardware abstraction layer for accessing keyboard, mouse, sound, and graphics hardware, alongside a dedicated game loop manager that synchronizes input processing, state updates, and frame rendering for real-time applications. The framework includes a hardware-accelerated rendering engine for drawing sprites, shapes, and text using shader programs. It also features a resource management system that uses a filesystem abstraction to load and manage game assets from physical directories or compressed archives. Addition