awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

32 repository-uri

Awesome GitHub RepositoriesHardware Interfaces

Libraries and tools for interacting with physical hardware and embedded devices.

Explore 32 awesome GitHub repositories matching operating systems & systems programming · Hardware Interfaces. Refine with filters or upvote what's useful.

Awesome Hardware Interfaces GitHub Repositories

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • vinta/awesome-pythonAvatar vinta

    vinta/awesome-python

    303,207Vezi pe GitHub↗

    Acest proiect este un director cuprinzător, curatoriat de comunitate, care organizează un peisaj vast de biblioteci, framework-uri și instrumente software Python. Servește drept bază de cunoștințe centralizată concepută pentru a facilita navigarea în ecosistem și a accelera descoperirea de către dezvoltatori pe parcursul întregului ciclu de viață al dezvoltării software. Directorul se distinge prin furnizarea unui index structurat de resurse categorisite pe domeniu tehnic, variind de la utilitare fundamentale de dezvoltare la domenii de inginerie specializate. Acoperă capabilități de nivel înalt, inclusiv inteligență artificială, știința datelor, dezvoltare web și gestionarea infrastructurii, permițând dezvoltatorilor să identifice soluții verificate pentru provocări tehnice specifice. Proiectul cuprinde o suprafață largă de capabilități, inclusiv instrumente pentru gestionarea dependențelor, analiza statică a codului și testarea automatizată. De asemenea, cataloghează resurse pentru stocarea persistentă a datelor, orchestrarea infrastructurii cloud și dezvoltarea interfețelor, oferind o referință unificată pentru construirea și menținerea sistemelor software complexe.

    Interacts with physical hardware components and peripherals through low-level communication protocols and specialized drivers.

    Pythonawesomecollectionspython
    Vezi pe GitHub↗303,207
  • avelino/awesome-goAvatar avelino

    avelino/awesome-go

    175,576Vezi pe GitHub↗

    This project serves as a comprehensive language ecosystem index, functioning as a centralized, community-curated directory for the Go programming language. It organizes a vast landscape of software components, libraries, and development tools into a structured, navigable hierarchy, enabling developers to efficiently discover resources tailored to specific functional domains. The repository distinguishes itself through a decentralized contribution model, where community-driven updates ensure the index remains current with the rapidly evolving software landscape. Beyond simple resource listing,

    Bridge software to physical hardware through specialized interface libraries and embedded device drivers.

    Goawesomeawesome-listgo
    Vezi pe GitHub↗175,576
  • arendst/tasmotaAvatar arendst

    arendst/Tasmota

    24,502Vezi pe GitHub↗

    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

    Controls individual LEDs on a single data line to manage color and brightness for addressable strips.

    Carduinoautomationesp32
    Vezi pe GitHub↗24,502
  • qmk/qmk_firmwareAvatar qmk

    qmk/qmk_firmware

    20,478Vezi pe GitHub↗

    This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to

    Provides drivers for managing individual addressable LEDs on a single data line for lighting effects.

    Catmel-avrcc-plus-plus
    Vezi pe GitHub↗20,478
  • wled/wledAvatar wled

    wled/WLED

    18,249Vezi pe GitHub↗

    WLED is a web-based firmware designed for ESP8266 and ESP32 microcontrollers to manage addressable LED strips and matrices. It functions as a comprehensive IoT lighting automation system, providing the tools to control individual pixels, define logical segments, and execute dynamic lighting effects. The platform supports a wide range of hardware configurations, including matrix panels and non-addressable LED arrays, while offering granular control over brightness, color palettes, and animation speed. The project distinguishes itself through its extensive support for networked orchestration an

    Manages and animates addressable LED strips and matrices with dynamic effects and segment-based configurations.

    C++esp32esp8266hacktoberfest
    Vezi pe GitHub↗18,249
  • tinygo-org/tinygoAvatar tinygo-org

    tinygo-org/tinygo

    17,529Vezi pe 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

    Assigns custom functions to hardware interrupt vectors to execute code immediately upon peripheral events.

    Goadafruitarduinoarm
    Vezi pe GitHub↗17,529
  • redox-os/redoxAvatar redox-os

    redox-os/redox

    16,054Vezi pe GitHub↗

    Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to

    Communicates with standard system components including ACPI, PCI, and USB buses to manage hardware resources.

    Rustbsdfreebsdgnu
    Vezi pe GitHub↗16,054
  • s-matyukevich/raspberry-pi-osAvatar s-matyukevich

    s-matyukevich/raspberry-pi-os

    13,854Vezi pe GitHub↗

    This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m

    Assigns specific handler functions and IRQ chips to hardware interrupt IDs for signal processing.

    Carmarmv8assembler
    Vezi pe GitHub↗13,854
  • rwaldron/johnny-fiveAvatar rwaldron

    rwaldron/johnny-five

    13,401Vezi pe 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

    Johnny-Five controls an LED using a specialized controller to enable precise brightness and pulsing effects via I2C.

    JavaScript1-wireadcarduino
    Vezi pe GitHub↗13,401
  • tuhdo/os01Avatar tuhdo

    tuhdo/os01

    13,426Vezi pe GitHub↗

    This project is an educational resource and technical reference for building operating systems from scratch. It provides a comprehensive guide to mastering x86 architecture and implementing core kernel components by writing code that executes directly on hardware without the support of standard libraries or operating system abstractions. The materials focus on low-level systems engineering, teaching users how to interpret technical datasheets to manage hardware resources. It covers the fundamental mechanics of bare-metal programming, including the use of assembly language to define execution

    Details managing the local programmable interrupt controller for inter-processor communication.

    TeXbookoperating-system
    Vezi pe GitHub↗13,426
  • mit-pdos/xv6-publicAvatar mit-pdos

    mit-pdos/xv6-public

    9,466Vezi pe GitHub↗

    xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for

    Manages the interrupt controller to route hardware signals from devices to specific kernel handlers.

    C
    Vezi pe GitHub↗9,466
  • embassy-rs/embassyAvatar embassy-rs

    embassy-rs/embassy

    8,813Vezi pe GitHub↗

    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

    Maps hardware interrupts to software handler functions using specialized macros for immediate event response.

    Rustasyncdriversembedded
    Vezi pe GitHub↗8,813
  • fastled/fastledAvatar FastLED

    FastLED/FastLED

    7,290Vezi pe GitHub↗

    FastLED is a C++ library for driving pixel-addressable LED chipsets and strips across various microcontroller platforms. It functions as an addressable LED control library and driver abstraction layer that converts color data into specific electrical timing for different hardware protocols. The project includes an audio-reactive visual engine for translating real-time beats and frequency data into synchronized animations, alongside a microcontroller math library optimized for high frame rates. The system provides a unified interface for managing various clockless and SPI LED chipsets. It dist

    Provides an addressable LED control library for driving pixel-addressable LED chipsets and strips across various microcontroller platforms.

    C++
    Vezi pe GitHub↗7,290
  • yourtion/30daymakeosAvatar yourtion

    yourtion/30dayMakeOS

    6,412Vezi pe GitHub↗

    30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing. The project focuses on low-level system development, featuring a custom graphics driver for direct pixel-buffer rendering and window management without an existing operating system. It includes an x86 bootloader that loads the kernel from disk into memory. The system covers core kernel capabilities including round-robin task scheduling for pro

    Configures an interrupt descriptor table to map hardware signals to specific handler functions for input events.

    Casmbootc
    Vezi pe GitHub↗6,412
  • voodootikigod/node-serialportAvatar voodootikigod

    voodootikigod/node-serialport

    5,987Vezi pe GitHub↗

    Acest proiect este o bibliotecă Node.js pentru porturi seriale care oferă o interfață JavaScript pentru citirea și scrierea datelor pe porturi seriale hardware. Acesta funcționează ca un driver de nivel scăzut și o bibliotecă de comunicare hardware concepută pentru a schimba fluxuri de date între un computer și dispozitive hardware externe. Biblioteca suportă comunicarea serială cross-platform pe Linux, macOS și Windows. Permite stabilirea conexiunilor de date între aplicații de nivel înalt și controllere embedded, microcontrollere sau alte dispozitive hardware. Suprafața de capabilități acoperă integrarea hardware pentru software-ul de control al roboților, gestionarea dispozitivelor Internet of Things și interfațarea generală a sistemelor embedded.

    Serves as a low-level hardware communication library for interacting with physical devices.

    TypeScript
    Vezi pe GitHub↗5,987
  • balloonwj/cppguideAvatar balloonwj

    balloonwj/CppGuide

    6,030Vezi pe GitHub↗

    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

    Explains how to schedule softirqs and tasklets to defer heavy processing after interrupt handlers.

    Vezi pe GitHub↗6,030
  • angrave/systemprogrammingAvatar angrave

    angrave/SystemProgramming

    5,734Vezi pe GitHub↗

    This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation

    Describes interrupt disabling for mutual exclusion on single-core systems to prevent thread preemption.

    Vezi pe GitHub↗5,734
  • sel4/sel4Avatar seL4

    seL4/seL4

    5,583Vezi pe GitHub↗

    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

    Routes hardware interrupts to protection domains as a core kernel isolation mechanism.

    Cmicrokernelossel4
    Vezi pe GitHub↗5,583
  • stupidloud/nanopi-openwrtAvatar stupidloud

    stupidloud/nanopi-openwrt

    5,536Vezi pe GitHub↗

    Acest proiect este un sistem de build pentru firmware OpenWrt și un instrument de build pentru Linux embedded conceput pentru a crea imagini de firmware personalizate pentru routere pentru hardware-ul NanoPi. Funcționează ca un kit de personalizare a OS-ului de rețea, oferind un mediu structurat pentru compilarea imaginilor de sistem de operare adaptate care integrează drivere, pachete și optimizări de kernel specifice. Sistemul se distinge prin tuning-ul hardware și de performanță profund, inclusiv offloading-ul de flux în kernel-space pentru accelerarea traficului și echilibrarea întreruperilor de multiprocesare simetrică pentru a preveni blocajele de procesare pe un singur nucleu. Permite integrarea hardware specializată, cum ar fi suportul pentru adaptoare wireless USB pentru benzi 5G, controlul ventilatoarelor de răcire și optimizarea vitezei ceasului CPU pentru a debloca limitele de frecvență hardware. Procesul de build acoperă o gamă largă de capabilități, inclusiv integrarea de patch-uri personalizate, extinderea automată a partițiilor și gruparea software-ului preinstalat pentru servicii de rețea acasă. Suportă funcții de gestionare a rețelei, cum ar fi configurarea DNS, tunelarea VPN, blocarea reclamelor și suportul pentru containere pentru rularea aplicațiilor pe hardware embedded. Proiectul utilizează scripturi shell pentru a automatiza generarea imaginilor de firmware și a gestiona actualizările de sistem.

    Distributes network interface request interrupts across multiple CPU cores to prevent single-core processing bottlenecks.

    Shellnanopiopenwrtr1s
    Vezi pe GitHub↗5,536
  • cirosantilli/x86-bare-metal-examplesAvatar cirosantilli

    cirosantilli/x86-bare-metal-examples

    5,306Vezi pe GitHub↗

    Acest proiect este o colecție de sisteme de operare minimale, bootloadere și drivere hardware utilizate pentru a demonstra programarea de nivel jos x86 și interfațarea hardware. Servește drept toolkit de dezvoltare a kernel-ului și laborator de programare de sistem conceput pentru testarea conceptelor de arhitectură și a comportamentului hardware într-un emulator de sistem. Repository-ul oferă implementări de referință pentru crearea de imagini de disc bootabile și încărcarea etapelor kernel-ului. Include ghiduri pentru implementarea tranzițiilor în modul protejat, paginarea memoriei, tabelele descriptorilor de întrerupere și multiprocesarea simetrică pe hardware x86. Codebase-ul acoperă o gamă largă de primitive de sistem, inclusiv maparea memoriei virtuale, gestionarea întreruperilor hardware și detectarea memoriei fizice. Conține, de asemenea, drivere bare-metal pentru difuzorul PC, tastatura PS/2, porturile seriale și bufferele de text VGA. Proiectul include un toolchain binar brut pentru a compila sursa de asamblare în imagini pentru execuție hardware directă și suportă testarea prin emulare hardware și debugging la distanță.

    Defines an Interrupt Descriptor Table to map hardware and software vectors to specific handler functions.

    Assemblyassemblybare-metalbaremetal
    Vezi pe GitHub↗5,306
Înapoi12Înainte
  1. Home
  2. Operating Systems & Systems Programming
  3. Kernel and Core Internals
  4. System Programming Primitives
  5. System Programming
  6. Hardware Interfaces

Explorează sub-etichetele

  • Hardware Communication LibrariesTools for interacting with physical devices via low-level protocols.
  • LED Controllers4 sub-tag-uriInterfaces for managing the state, brightness, and patterns of light-emitting diodes via software.
  • PCI Bus Management1 sub-tagSpecifications and architectural guidelines for managing peripheral component interconnect devices and bus communication.
  • System Event DispatchingMechanisms for in-process signal and event communication.