OPEN SOURCE · PYTHON

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.009

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.