HARDWARE SIMULATION & DEVELOPMENT PLATFORM
Model circuits, motors, sensors, and full hardware systems in pure Python. From a voltage divider to a multi-axis robot arm — simulate it before you build it.
import hardwave
import hardwave.stdlib
from hardwave.simulation import SimulationGraph, SimulationEngine
from hardwave.stdlib.components.passive import Resistor, VoltageSource
graph = SimulationGraph()
graph.add_component(vs := VoltageSource("vs", param_values={"voltage": 9.0}))
graph.add_component(r1 := Resistor("r1", param_values={"resistance": 1000.0}))
graph.connect("vs", "voltage_out", "r1", "voltage")
result = SimulationEngine(graph).run(inputs={})
print(result.get_output("r1", "current")) # → 0.009EVERYTHING YOU NEED
One library, one platform. From hobbyist breadboards to production-grade systems.
SIMULATION ENGINE
MODEL ANY HARDWARE SYSTEM
Build simulation graphs from typed components — resistors, motors, sensors, MCUs — and run steady-state or transient analysis in pure Python.
STANDARD LIBRARY
30+ BUILT-IN COMPONENTS
Passive, active, power, motors, sensors, and MCU components out of the box. All typed, all composable, all backed by real physics solvers.
PREMIUM COMPONENTS
HIGH-FIDELITY SERVER-SIDE SOLVERS
Unlock premium components served from the Hardwave cloud. RSA-signed requests, server-side computation, same local API — zero changes to your simulation code.
UP AND RUNNING IN MINUTES
A familiar import-and-go experience. No config files, no DSL, just Python.
01
Install the library
pip install hardwave
02
Define your system
import hardwave.stdlib
graph = SimulationGraph()
graph.add_component(DCMotor('m1'))03
Run simulation
engine = SimulationEngine(graph)
result = engine.run(inputs={...})04
Unlock premium components
import hardwave.premium hardwave.premium.configure(...) hardwave.premium.sync()
READY TO SIMULATE?
Start free. Upgrade when you need premium components, GitHub integration, or team collaboration.