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
Back to cpq/bare-metal-programming-guide

Open-source alternatives to Bare Metal Programming Guide

30 open-source projects similar to cpq/bare-metal-programming-guide, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Bare Metal Programming Guide alternative.

  • sypstraw/rpi4-osdevsypstraw avatar

    sypstraw/rpi4-osdev

    3,754View on GitHub↗

    This project is a tutorial for developing a custom bare metal operating system specifically for the Raspberry Pi 4. It provides the guidance and resources necessary to write software that interacts directly with hardware without the use of a pre-existing kernel. The project centers on an ARM64 cross-compilation toolchain and a build pipeline that transforms source code into raw binary images. It utilizes linker scripts to define physical memory addresses and section placements, ensuring the resulting binary loads at the correct hardware entry point. The codebase covers direct hardware interf

    C
    View on GitHub↗3,754
  • esp8266/arduinoesp8266 avatar

    esp8266/arduino

    16,634View on GitHub↗

    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

    C++
    View on GitHub↗16,634
  • raspberrypi/pico-sdkraspberrypi avatar

    raspberrypi/pico-sdk

    4,651View on GitHub↗

    The pico-sdk is a software development kit for creating C and C++ applications on RP2040 and RP2350 hardware platforms. It functions as an embedded development kit that provides hardware abstraction layers and drivers to interface with microcontroller peripherals and registers. The project utilizes a CMake build system to manage the compilation of source code into multiple binary formats, including UF2, ELF, and HEX images. This environment coordinates the build and link processes to ensure the resulting firmware is correctly tailored for the target hardware. The toolkit covers embedded hard

    C
    View on GitHub↗4,651

AI search

Explore more awesome repositories

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

Find more with AI search
  • 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
  • s-matyukevich/raspberry-pi-oss-matyukevich avatar

    s-matyukevich/raspberry-pi-os

    13,854View on 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

    Carmarmv8assembler
    View on GitHub↗13,854
  • stupidloud/nanopi-openwrtstupidloud avatar

    stupidloud/nanopi-openwrt

    5,536View on GitHub↗

    This project is an OpenWrt firmware build system and embedded Linux build tool designed to create customized router firmware images for NanoPi hardware. It functions as a network OS customization kit, providing a structured environment for compiling tailored operating system images that integrate specific drivers, packages, and kernel optimizations. The system distinguishes itself through deep hardware and performance tuning, including kernel-space flow offloading for traffic acceleration and symmetric multiprocessing interrupt balancing to prevent single-core processing bottlenecks. It enabl

    Shellnanopiopenwrtr1s
    View on GitHub↗5,536
  • nodemcu/nodemcu-firmwarenodemcu avatar

    nodemcu/nodemcu-firmware

    7,926View on GitHub↗

    This project is a Lua-based firmware environment for the ESP8266 WiFi chip, providing an embedded Lua interpreter and a development framework for WiFi SoC hardware. It functions as a C-based wrapper around the Espressif non-OS SDK, enabling the execution of asynchronous scripts to manage wireless communication and hardware peripherals. The environment integrates a SPIFFS flash filesystem for storing persistent scripts and data directly on non-volatile memory. To optimize limited hardware resources, the system utilizes execute-in-place flash execution, running read-only constants and instructi

    C
    View on GitHub↗7,926
  • rogerclarkmelbourne/arduino_stm32rogerclarkmelbourne avatar

    rogerclarkmelbourne/Arduino_STM32

    2,661View on GitHub↗

    This project is a hardware core and board support package that integrates STM32 microcontrollers into the Arduino development environment. It functions as an embedded systems development tool, bridging high-level programming workflows with ARM Cortex-M microcontroller architectures. The core provides the necessary configuration files and libraries to enable the compilation and deployment of firmware directly onto STM32 hardware. By mapping standard programming functions to specific microcontroller register operations, it ensures consistent behavior across different hardware platforms while ut

    C
    View on GitHub↗2,661
  • espressif/arduino-esp32espressif avatar

    espressif/arduino-esp32

    16,984View on GitHub↗

    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

    C++
    View on GitHub↗16,984
  • project-chip/connectedhomeipproject-chip avatar

    project-chip/connectedhomeip

    8,586View on GitHub↗

    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

    C++build-with-matterchipconnected-devices
    View on GitHub↗8,586
  • crystal-lang/crystalcrystal-lang avatar

    crystal-lang/crystal

    20,299View on GitHub↗

    Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor

    Crystalcompilercrystalcrystal-language
    View on GitHub↗20,299
  • sulinggg/openwrt-rpiSuLingGG avatar

    SuLingGG/OpenWrt-Rpi

    6,354View on GitHub↗

    OpenWrt-Rpi is a firmware builder and embedded Linux build toolset designed to compile custom router operating system images for Raspberry Pi and NanoPi hardware. It utilizes a GitHub Actions CI pipeline to automate the generation of fresh firmware images from the latest source code via daily updates. The project maintains a custom package repository and local software sources for managing community plugins and kernel modules. This infrastructure is used to ensure version consistency and prevent dependency conflicts during the installation of network drivers and system extensions. The build

    Shellg-dockgithub-actionsnanopi-r2s
    View on GitHub↗6,354
  • armmbed/mbed-osARMmbed avatar

    ARMmbed/mbed-os

    4,842View on GitHub↗

    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

    C
    View on GitHub↗4,842
  • esphome/esphomeesphome avatar

    esphome/esphome

    10,591View on GitHub↗

    ESPHome is a framework for creating and managing custom firmware for microcontrollers, specifically targeting ESP32 and ESP8266 architectures. It replaces the need for writing complex embedded C++ code by allowing users to define hardware behavior, pin configurations, and automation logic through simple, declarative text files. The system automatically compiles these configurations into optimized binary images, providing a streamlined path from design to deployment. The project distinguishes itself through a modular, component-based architecture that emphasizes local-first control, ensuring t

    C++esp32esp8266hacktoberfest
    View on GitHub↗10,591
  • rogerclarkmelbourne/stm32duino-bootloaderrogerclarkmelbourne avatar

    rogerclarkmelbourne/STM32duino-bootloader

    1,071View on GitHub↗

    STM32duino-bootloader is a firmware bootloader and microcontroller firmware flasher designed for STM32 microcontrollers. Operating as a low-level startup routine, it initializes microcontroller peripherals, handles USB communication routines, and launches user applications upon system reset. This enables direct USB programming and application execution on the hardware without requiring external hardware programmers. The bootloader supports firmware updates by presenting the microcontroller as a USB storage device that accepts binary drag-and-drop file transfers. It writes incoming firmware by

    C
    View on GitHub↗1,071
  • embassy-rs/embassyembassy-rs avatar

    embassy-rs/embassy

    8,813View on 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

    Rustasyncdriversembedded
    View on GitHub↗8,813
  • blackmagic-debug/blackmagicblackmagic-debug avatar

    blackmagic-debug/blackmagic

    3,715View on GitHub↗

    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

    View on GitHub↗3,715
  • raspberrypi/pico-examplesraspberrypi avatar

    raspberrypi/pico-examples

    3,835View on GitHub↗

    This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The

    C
    View on GitHub↗3,835
  • blynk-technologies/blynk-libraryBlynk-Technologies avatar

    Blynk-Technologies/blynk-library

    3,971View on GitHub↗

    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

    C++arduinocellularembedded
    View on GitHub↗3,971
  • alibaba/alios-thingsalibaba avatar

    alibaba/AliOS-Things

    4,620View on GitHub↗

    AliOS-Things is a scalable operating system for internet-connected devices. It provides an embedded firmware framework and runtime for managing hardware peripherals, network connectivity, and secure data execution across diverse CPU architectures. The system includes an edge AI inference engine for processing audio and image patterns locally without cloud dependencies. It also features a cloud connectivity SDK for automated onboarding, remote diagnostics, and log reporting, alongside a scripting engine for executing high-level code on resource-constrained hardware. Connectivity is handled th

    C
    View on GitHub↗4,620
  • memovai/mimiclawmemovai avatar

    memovai/mimiclaw

    2,642View on GitHub↗

    Mimiclaw is a framework for integrating large language models with microcontroller hardware to create interactive AI agents. It provides an embedded AI agent runtime and a tool-calling engine that allows language model loops to execute on embedded devices. The system acts as a bridge between language model APIs and physical hardware peripherals, enabling the control of sensors and actuators through natural language. The project features a dedicated manager for over-the-air firmware updates, allowing system images to be installed via web browsers or wireless networks to remove local toolchain

    Caiassistantclawdbot
    View on GitHub↗2,642
  • platformio/platformio-coreplatformio avatar

    platformio/platformio-core

    9,299View on GitHub↗

    PlatformIO Core is a toolset for embedded software development that manages the compilation, flashing, and debugging of firmware for various microcontroller targets. It provides a cross-platform build system that automates the process of transforming source code into binaries and transferring them to hardware via serial protocols. The system uses a plugin-based architecture to extend hardware platform support and incorporates a manifest-driven approach to resolve and install the specific toolchains, frameworks, and libraries required for different board definitions. Capabilities cover the fu

    Python
    View on GitHub↗9,299
  • petoicamp/opencat-quadruped-robotPetoiCamp avatar

    PetoiCamp/OpenCat-Quadruped-Robot

    4,891View on GitHub↗

    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

    C++aiarduinoblock-coding
    View on GitHub↗4,891
  • espressif/esp-idfespressif avatar

    espressif/esp-idf

    18,330View on GitHub↗

    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

    C
    View on GitHub↗18,330
  • rfidresearchgroup/proxmark3RfidResearchGroup avatar

    RfidResearchGroup/proxmark3

    5,240View on GitHub↗

    Proxmark3 is an open-source hardware tool for RFID research, analysis, security testing, protocol sniffing, tag cloning, and emulation. It operates across both low-frequency and high-frequency bands, providing a single platform for interacting with a wide range of contactless cards and tags including MIFARE, iCLASS, HID Prox, Hitag, Indala, and T55xx transponders. The tool is built around an FPGA that handles direct RF signal demodulation and modulation, enabling raw waveform capture and decoding. It includes a cryptographic attack framework capable of recovering secret keys through nested, h

    C125khzclonecontactless
    View on GitHub↗5,240
  • rust-embedded/embedded-halrust-embedded avatar

    rust-embedded/embedded-hal

    2,600View on GitHub↗

    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

    Rust
    View on GitHub↗2,600
  • hybridgroup/cylonhybridgroup avatar

    hybridgroup/cylon

    4,207View on GitHub↗

    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

    JavaScriptarduinobeaglebone-blackbluetooth-low-energy
    View on GitHub↗4,207
  • earlephilhower/arduino-picoearlephilhower avatar

    earlephilhower/arduino-pico

    2,812View on GitHub↗

    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

    Ca2dparduinoarduino-pico
    View on GitHub↗2,812
  • fashiontec/openwash-hardwarefashiontec avatar

    fashiontec/openwash-hardware

    1,035View on GitHub↗

    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

    View on GitHub↗1,035
  • jrowberg/i2cdevlibjrowberg avatar

    jrowberg/i2cdevlib

    4,251View on GitHub↗

    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

    C++
    View on GitHub↗4,251