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

Hardware in loop simulation

Ranking updated Jul 27, 2026

For hardware in the loop simulators, the strongest matches are robotlocomotion/drake (Drake is a powerful robotics simulation and trajectory optimization), apolloauto/apollo (Apollo is an autonomous driving stack and robotics middleware) and espressif/esp-idf (This framework provides low-level hardware abstraction and peripheral control). open-smartwatch/open-smartwatch-os and arduino/arduino round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore hand-picked open-source hardware-in-the-loop simulators, ranked by GitHub stars and activity, to find the best fit.

Hardware in loop simulation

Find the best repos with AI.We'll search the best matching repositories with AI.
  • robotlocomotion/drakeRobotLocomotion avatar

    RobotLocomotion/drake

    3,910View on GitHub↗

    Drake is a robotics simulation framework and control system modeling tool used for designing, simulating, and verifying the dynamics of complex robotic systems. It functions as a multibody dynamics simulator and a mathematical optimization library, providing a suite of algorithms for trajectory optimization and the simulation of articulated robots. The framework is distinguished by its block-diagram system for composing dynamical subsystems and its ability to formulate and solve diverse mathematical programs, including linear, quadratic, and nonconvex nonlinear problems. It supports specializ

    Drake is a powerful robotics simulation and trajectory optimization framework, but it is not a dedicated hardware-in-the-loop simulation tool for real-time controller testing against physical I/O.

    C++Multibody Dynamics SimulatorsMultibody Dynamics ModelingModel-Based Design
    View on GitHub↗3,910
  • apolloauto/apolloApolloAuto avatar

    ApolloAuto/apollo

    26,676View on GitHub↗

    Apollo is a comprehensive software stack designed for autonomous vehicle development, providing the necessary components for perception, planning, and control. It functions as a high-performance robotics middleware, utilizing a publish-subscribe data bus to facilitate low-latency communication between distributed modules and hardware sensors. The platform integrates data from cameras, lidar, and radar through a sensor fusion framework to generate a real-time environmental model for navigation. The system features a component-based runtime framework that manages task scheduling and resource al

    Apollo is an autonomous driving stack and robotics middleware rather than a dedicated hardware-in-the-loop simulation platform for controller testing, despite listing related hardware tags.

    C++Hardware Abstraction LayersHardware-in-the-Loop Simulators
    View on GitHub↗26,676
  • 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

    This framework provides low-level hardware abstraction and peripheral control for microcontroller development, but it is an embedded SDK rather than a complete hardware-in-the-loop simulation platform for testing complex plant models.

    CHardware Abstraction LayersHardware Abstraction Layers
    View on GitHub↗18,330
  • open-smartwatch/open-smartwatch-osOpen-Smartwatch avatar

    Open-Smartwatch/open-smartwatch-os

    1,114View on GitHub↗

    Open-smartwatch-os is an operating system designed for resource-constrained wearable devices. It provides a development and testing environment that allows developers to build, validate, and debug firmware for smartwatches within a simulated desktop environment before deploying to physical hardware. The project distinguishes itself through a comprehensive suite of tools for hardware emulation and remote diagnostics. By utilizing a hardware abstraction layer and modular driver architecture, it decouples core system logic from specific physical components. This enables developers to run the ope

    This repository is a firmware-in-the-loop operating system and emulator for wearable devices, which is a neighbouring domain rather than a full hardware-in-the-loop simulation platform for controllers.

    CHardware Abstraction Layers
    View on GitHub↗1,114
  • arduino/arduinoarduino avatar

    arduino/Arduino

    14,599View on GitHub↗

    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.

    Arduino is a physical computing and microcontroller development platform rather than a hardware-in-the-loop simulation tool for testing complex controllers in real-time.

    JavaHardware Abstraction Layers
    View on GitHub↗14,599
  • projectchrono/chronoprojectchrono avatar

    projectchrono/chrono

    2,733View on GitHub↗

    Chrono is a multi-physics simulation suite that functions as a multibody dynamics simulator, a finite element analysis tool, and a robotics simulation framework. It provides specialized solvers for fluid-solid interaction and distributed physics engines capable of synchronizing multiple agents across a network. The project features a dedicated pipeline for converting CAD assemblies into simulation-ready formats and integrates directly with robot operating systems to validate autonomous control logic and sensors. It differentiates itself through the use of WebAssembly for portable browser-base

    Project Chrono is a powerful physics and robotics simulation engine, but it lacks the dedicated hardware-in-the-loop testing, real-time I/O interfaces, and plant-controller integration required for a complete HIL simulator.

    C++Multibody Dynamics SimulatorsMultibody Dynamics Modeling
    View on GitHub↗2,733
  • apache/incubator-nuttxapache avatar

    apache/incubator-nuttx

    3,918View on GitHub↗

    NuttX is a POSIX-compliant real-time operating system designed for resource-constrained embedded environments. It functions as a scalable microcontroller OS that provides a Unix-like environment for managing hardware and running applications across architectures ranging from 8-bit to 64-bit. The system ensures high software portability by implementing a kernel that follows POSIX and ANSI standards. This allows developers to create portable embedded applications using standardized API calls across diverse hardware architectures. The project includes a modular kernel architecture and a hardwar

    Apache NuttX is a real-time operating system for embedded controllers rather than a hardware-in-the-loop simulation platform or plant modeling environment.

    CHardware Abstraction Layers
    View on GitHub↗3,918
  • libsdl-org/sdllibsdl-org avatar

    libsdl-org/SDL

    14,926View on GitHub↗

    SDL is a cross-platform development library that provides low-level access to audio, keyboard, mouse, joystick, and graphics hardware. It functions as a hardware abstraction layer, mapping diverse operating system interfaces into a unified set of functions to ensure consistent performance across different computing environments. The library serves as a foundation for multimedia and interactive application development by providing an integrated audio processing engine and a graphics rendering framework. It manages the complexities of hardware communication by normalizing raw input events and p

    This project provides low-level multimedia and input hardware abstraction, but it is a game development and graphics library rather than a real-time hardware-in-the-loop simulation environment for embedded testing.

    CHardware Abstraction Layers
    View on GitHub↗14,926
  • px4/firmwarePX4 avatar

    PX4/Firmware

    11,967View on GitHub↗

    This project is flight control autopilot software designed as a real-time operating system for managing the flight dynamics and navigation of autonomous multicopters, fixed-wing aircraft, and rovers. It serves as a multi-vehicle autopilot framework that supports various aircraft configurations, including vertical takeoff and landing platforms across industrial environments. The system includes a MAVLink communication stack for exchanging telemetry and command data between unmanned vehicles and ground control stations. It also provides a software-in-the-loop flight simulator to test autopilot

    This repository provides an autopilot firmware and simulation environment for aerial vehicles rather than a general-purpose hardware-in-the-loop simulation platform for testing external controllers.

    C++Hardware Abstraction Layers
    View on GitHub↗11,967
  • stack-of-tasks/pinocchiostack-of-tasks avatar

    stack-of-tasks/pinocchio

    3,118View on GitHub↗

    Pinocchio is a multi-body dynamics engine and rigid body physics library designed for computing forward and inverse kinematics and dynamics for articulated rigid-body systems. It functions as a robot kinematics solver and model parser, enabling the analysis of complex robotic systems through kinematic and dynamic computations. The project distinguishes itself with specialized capabilities for constrained dynamics, including the calculation of contact impulses and centroidal momentum. It provides a parallel processing collision detection system for computing minimal distances between rigid bod

    Pinocchio is a rigid body physics and kinematics library for robotics rather than a complete hardware-in-the-loop simulation platform with real-time I/O interfaces and plant testing capabilities.

    C++Multibody Dynamics Simulators
    View on GitHub↗3,118
  • mackron/miniaudiomackron avatar

    mackron/miniaudio

    6,905View on GitHub↗

    miniaudio is a single-file C audio library used for audio playback, capture, and hardware interfacing across multiple operating systems. It functions as an audio hardware abstraction layer, an audio processing engine, an audio synthesis engine, and a codec and resampler. The project implements a node-graph based system for routing digital audio signals, mixing, and 3D spatialization. It also includes a programmatic generator for noise patterns and basic waveforms used for sound creation and signal testing. The library covers digital signal processing, including audio format conversion and sa

    This repository is a single-file C audio library for playback and capture rather than a hardware-in-the-loop simulation framework for testing embedded controllers.

    CHardware Abstraction Layers
    View on GitHub↗6,905
  • contiki-os/contikicontiki-os avatar

    contiki-os/contiki

    3,798View on GitHub↗

    Contiki is an operating system designed for resource-constrained embedded devices and the Internet of Things. It provides a lightweight, event-driven kernel that enables multitasking and low-power wireless network connectivity on hardware with extremely limited memory and processing power. The system distinguishes itself through a stackless threading model that allows for a blocking-style programming interface while maintaining a minimal memory footprint. It supports dynamic module and firmware management, enabling the loading and linking of relocatable binary code at runtime to update applic

    Contiki is an operating system for resource-constrained embedded devices rather than a simulation environment, making it a building block for embedded systems rather than a hardware-in-the-loop simulator.

    CHardware Abstraction Layers
    View on GitHub↗3,798
  • commaai/opendbccommaai avatar

    commaai/opendbc

    2,943View on GitHub↗

    OpenDBC is a CAN bus interface library and telemetry parser designed to read and write messages to a vehicle network. It functions as an automotive hardware abstraction layer that maps generic control signals to model-specific bus IDs across different vehicle brands, while acting as a control system that converts high-level steering and acceleration requests into raw binary packets for vehicle actuators. The project includes a vehicle network safety gateway that restricts or blocks specific control messages based on the system state to prevent unsafe maneuvers. It provides a standardized way

    This project provides a CAN bus interface library and hardware abstraction layer for vehicle networks, but it is a communication tool rather than a complete real-time hardware-in-the-loop simulation environment.

    PythonHardware Abstraction Layers
    View on GitHub↗2,943
  • microsoft/airsimmicrosoft avatar

    microsoft/AirSim

    17,956View on GitHub↗

    AirSim is a high-fidelity simulation platform designed for the development and testing of autonomous vehicles. Built as a plugin for game engines, it provides a physics-based environment that models vehicle dynamics and sensor data, serving as a foundation for robotics research, computer vision training, and reinforcement learning. The platform distinguishes itself through its support for hardware-in-the-loop and software-in-the-loop testing, allowing developers to validate control logic and firmware against real-world signals or concurrent processes. It offers extensive programmatic control

    AirSim is a high-fidelity simulation platform for autonomous vehicles that supports hardware-in-the-loop testing, but it functions primarily as a game-engine plugin for robotics and drone research rather than a dedicated plant simulation environment for industrial controllers.

    C++Hardware-in-the-Loop Simulators
    View on GitHub↗17,956
  • anbox/anboxanbox avatar

    anbox/anbox

    9,056View on GitHub↗

    Anbox is an Android container environment and runtime designed to execute Android applications on Linux desktops. It utilizes a container-based system to run the Android operating system without the overhead associated with traditional hardware virtualization. The system features a hardware abstraction layer that routes hardware access and sensor data through a host daemon to provide accelerated rendering. It integrates with the Linux desktop by mapping individual Android application layers to separate windows, allowing apps to function as distinct desktop applications. The project supports

    Anbox is an Android container virtualization runtime for Linux desktops rather than a hardware-in-the-loop simulation framework for testing embedded or aerospace controllers.

    C++Hardware Abstraction Layers
    View on GitHub↗9,056
  • huggingface/lerobothuggingface avatar

    huggingface/lerobot

    21,687View on GitHub↗

    This project is a comprehensive research platform designed for the end-to-end lifecycle of robotic learning. It provides a modular framework for training neural network policies—specifically through imitation and reinforcement learning—and deploying them onto physical robotic hardware. By offering a unified interface for hardware abstraction, the platform decouples high-level control logic from the specific sensors and actuators of diverse robotic systems. The framework distinguishes itself through a standardized approach to data and policy management. It utilizes a consistent schema for reco

    This repository is a machine learning and robotics platform focused on training neural network policies rather than providing real-time hardware-in-the-loop plant simulation for testing controllers.

    PythonHardware Abstraction Layers
    View on GitHub↗21,687
  • lvgl/lvgllvgl avatar

    lvgl/lvgl

    23,880View on GitHub↗

    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

    This project is an embedded graphics library for rendering user interfaces rather than a real-time plant simulation tool for hardware-in-the-loop testing.

    CHardware Abstraction Layers
    View on GitHub↗23,880
  • commaai/openpilotcommaai avatar

    commaai/openpilot

    61,375View on GitHub↗

    Openpilot is an open-source driver assistance system that integrates with vehicle control units to provide automated steering, acceleration, and braking. It functions as an automotive robotics middleware, utilizing a specialized runtime environment to process sensor data and execute real-time control commands that manage vehicle dynamics. The platform distinguishes itself through a hardware-agnostic interface that translates standardized driving commands into the proprietary protocols required by a wide range of vehicle makes and models. It employs neural-network-based path planning to predic

    Openpilot is an autonomous driving and driver assistance system rather than a general-purpose hardware-in-the-loop simulation framework for testing controllers.

    PythonHardware Abstraction Layers
    View on GitHub↗61,375
  • 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

    Embassy is an asynchronous embedded framework for microcontrollers with a hardware abstraction layer, but it is an embedded runtime rather than a hardware-in-the-loop simulation platform for testing physical plant models.

    RustHardware Abstraction Layers
    View on GitHub↗8,813
  • 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

    This repository is a Go compiler and toolkit for microcontrollers rather than a hardware-in-the-loop simulation environment, making it a lower-level development tool rather than a full plant simulator.

    GoHardware Abstraction LayersHardware Abstraction Layers
    View on GitHub↗17,529
  • google-deepmind/mujoco_menageriegoogle-deepmind avatar

    google-deepmind/mujoco_menagerie

    3,055View on GitHub↗

    mujoco_menagerie is a curated library of physical robot specifications and XML model definitions designed for standardized dynamics and contact simulation. It provides a collection of high-quality robot model files for humanoids, quadrupeds, and manipulators, alongside detailed kinematic and inertial parameters used to reproduce real-world robot behavior in virtual environments. The project serves as a repository of robotics simulation assets and MJCF model definitions optimized for accuracy. It includes standardized model libraries specifically for bipedal, quadrupedal, and humanoid hardware

    This repository provides robot model files and physics definitions for simulation rather than a real-time hardware-in-the-loop simulation framework for testing embedded controllers.

    PythonMultibody Dynamics Simulators
    View on GitHub↗3,055
  • px4/px4-autopilotPX4 avatar

    PX4/PX4-Autopilot

    11,962View on GitHub↗

    PX4-Autopilot is a professional-grade flight control software stack designed for autonomous unmanned vehicles, including multicopters, fixed-wing aircraft, and vertical takeoff and landing platforms. It operates as a modular, real-time framework that decouples flight control logic from hardware drivers through a publish-subscribe middleware architecture. The system utilizes a deterministic microkernel runtime to execute time-critical flight control loops and sensor fusion tasks, ensuring stable navigation and vehicle operation. The platform distinguishes itself through a parameter-driven conf

    PX4-Autopilot is a flight control software stack for autonomous vehicles rather than a general hardware-in-the-loop simulation platform, making it a target for testing rather than the HIL simulator itself.

    C++Hardware-in-the-Loop SimulatorsHardware Abstraction Layers
    View on GitHub↗11,962
  • apache/nuttxapache avatar

    apache/nuttx

    3,912View on GitHub↗

    NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto

    Apache NuttX is a real-time operating system for microcontrollers rather than a dedicated hardware-in-the-loop simulation environment, making it a lower-level building block for embedded targets rather than the testing suite requested.

    CHardware Abstraction Layers
    View on GitHub↗3,912

Related searches

  • Hardware emulation layer
  • an open source hardware design platform
  • Embedded, IoT and hardware
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
robotlocomotion/drake3.9KC++otherFeb 21, 2026
apolloauto/apollo26.7KC++Apache-2.0Apr 16, 2026
espressif/esp-idf18.3KCApache-2.0Jun 15, 2026
open-smartwatch/open-smartwatch-os1.1KCGPL-3.0Jun 13, 2026
arduino/arduino14.6KJavaNOASSERTIONOct 11, 2025
projectchrono/chrono2.7KC++bsd-3-clauseFeb 21, 2026
apache/incubator-nuttx3.9KCApache-2.0Jun 26, 2026
libsdl-org/sdl14.9KCzlibFeb 20, 2026
px4/firmware12KC++BSD-3-ClauseJun 17, 2026
stack-of-tasks/pinocchio3.1KC++bsd-2-clauseFeb 14, 2026
Hardware specific kernels
  • a technical guide for developing HID drivers
  • Robot navigation simulator
  • an open source platform for home automation
  • a self hosted platform for home automation