awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
WiringPi avatar

WiringPi/WiringPi

0
View on GitHub↗
3,270 stars·1,282 forks·C·lgpl-3.0·20 views

WiringPi

WiringPi is a GPIO hardware control library and embedded hardware interface designed for managing General Purpose Input Output pins on single board computers. It provides a standardized software layer for interacting with hardware registers, facilitating low-latency pin manipulation.

The project includes a GPIO command line interface that allows users to inspect pin states and manage hardware input and output levels directly from the terminal.

It supports embedded hardware prototyping and hardware state monitoring, specifically targeting Raspberry Pi boards to interact with external electronic components. This is achieved through a C-based hardware abstraction that utilizes memory-mapped I/O access to control sensors and actuators within a Linux environment.

Features

  • GPIO Pin Controllers - Provides a comprehensive interface for reading and writing digital signals and managing GPIO pin modes.
  • Hardware Interfacing - Acts as a software layer that provides a standardized interface for interacting with physical hardware registers.
  • Low Latency Controllers - Ensures faster response times than standard system calls by controlling GPIO pins through direct memory access.
  • Hardware Prototyping Frameworks - Facilitates the development of physical computing projects by controlling sensors and actuators in a Linux environment.
  • Direct Memory Access - Implements direct memory access to read and write hardware states, bypassing operating system file descriptors for minimal latency.
  • Memory-Mapped I/O - Utilizes memory-mapped I/O to map physical hardware registers into the process memory space for direct pin control.
  • Raspberry Pi Systems Programming - Implements low-level driver functionality and systems programming specifically for Raspberry Pi GPIO hardware.
  • Hardware Abstraction Layers - Provides a standardized hardware abstraction layer to simplify peripheral control via function calls instead of raw register manipulation.
  • Command Line Interfaces - Ships a ready-to-run terminal application for inspecting pin states and managing input/output levels.
  • Memory Map Generators - Adjusts physical memory offsets based on the processor architecture to ensure correct hardware register targeting.
  • Register Configuration Managers - Controls hardware behavior by writing specific bit patterns to memory addresses corresponding to pin configurations.
  • Device State Monitoring - Provides real-time tracking of hardware pin modes and electrical status through a terminal interface.
  • Development Libraries - Wiring-like library for Raspberry Pi GPIO.

Star history

Star history chart for wiringpi/wiringpiStar history chart for wiringpi/wiringpi

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does wiringpi/wiringpi do?

WiringPi is a GPIO hardware control library and embedded hardware interface designed for managing General Purpose Input Output pins on single board computers. It provides a standardized software layer for interacting with hardware registers, facilitating low-latency pin manipulation.

What are the main features of wiringpi/wiringpi?

The main features of wiringpi/wiringpi are: GPIO Pin Controllers, Hardware Interfacing, Low Latency Controllers, Hardware Prototyping Frameworks, Direct Memory Access, Memory-Mapped I/O, Raspberry Pi Systems Programming, Hardware Abstraction Layers.

What are some open-source alternatives to wiringpi/wiringpi?

Open-source alternatives to wiringpi/wiringpi include: tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… rwaldron/johnny-five — Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots… hybridgroup/gobot — Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT… balloonwj/cppguide — CppGuide is a curated collection of educational resources and practical guides focused on C++ server development,… babbleberry/rpi4-osdev — rpi4-osdev is a project for bare metal operating system development targeting the Raspberry Pi 4. It focuses on… sysprog21/lkmpg — The Linux Kernel Module Programming Guide is an educational resource that teaches how to write, compile, and manage…

Open-source alternatives to WiringPi

Similar open-source projects, ranked by how many features they share with WiringPi.
  • tinygo-org/tinygotinygo-org avatar

    tinygo-org/tinygo

    17,529View on GitHub↗

    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

    Goadafruitarduinoarm
    View on GitHub↗17,529
  • hybridgroup/gobothybridgroup avatar

    hybridgroup/gobot

    9,425View on GitHub↗

    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

    Goarduinobeaglebonebeaglebone-black
    View on GitHub↗9,425
  • rwaldron/johnny-fiverwaldron avatar

    rwaldron/johnny-five

    13,401View on GitHub↗

    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

    JavaScript1-wireadcarduino
    View on GitHub↗13,401
  • babbleberry/rpi4-osdevbabbleberry avatar

    babbleberry/rpi4-osdev

    3,757View on GitHub↗

    rpi4-osdev is a project for bare metal operating system development targeting the Raspberry Pi 4. It focuses on creating a custom operating system that runs directly on the hardware without an underlying kernel or abstraction layer. The project provides a codebase and instructional guide for developing a low-level system from scratch. This process involves transitioning from early boot code to kernel execution on the ARM64 architecture. The technical scope covers embedded system bootstrapping and low-level hardware interfacing. This includes managing memory-mapped I/O, physical address mappi

    C
    View on GitHub↗3,757
See all 30 alternatives to WiringPi→