Open physical intelligence ecosystem

Make the physical world programmable.

Say what you want done: a healthy greenhouse, a line held in tolerance, a house ready before anyone is up. Opichy discovers what your hardware can do and does the work while you are not there. It runs on a Raspberry Pi, on your network, with no vendor lock‑in and no cloud dependency.

Raspberry Pi 5Local‑firstOpen protocolsRust + WebAssembly
Outcome: keep the greenhouse healthy
What gets done

Real work, while you are somewhere else.

Each example above is a job, not a demo. Here is what happened, when, and what you no longer had to do.

Greenhouse

Keep the greenhouse healthy through a heatwave.

  1. Fan to 40% as the roof hit 84 °F.
  2. Water valve open six minutes; soil moisture back to 38%.
  3. Grow light held at 100% to finish the day's light budget.

Needs a Raspberry Pi, a temperature and soil sensor, the fan and valve you have.

You did not drive over at lunch to open a vent.

Production line

Hold every axis in tolerance across the shift.

  1. Spindle load drifting at 71%; feed trimmed before it chattered.
  2. Safety gate opened: axes held, spindle stopped, resumed on close.
  3. Y encoder 12 µm off target; offset corrected before the next part.

Needs a Raspberry Pi, the drives’ Modbus or OPC UA port, an encoder input.

You did not scrap a batch or babysit the HMI.

Room cleaning

Clean the room while it is empty.

  1. No occupancy for twenty minutes; drive left the dock.
  2. Dust fell from 14 to 6 µg/m³; suction eased to 65.
  3. Bin at 92%; back to the dock, mop pump off.

Needs a Raspberry Pi, a robot vacuum that speaks locally, an occupancy sensor.

You did not trip over it or remember to start it.

Home

Have the house ready before anyone is up.

  1. Thermostat to 70 °F, twenty minutes before the alarm.
  2. Blinds raised at sunrise; porch light off.
  3. Car at 80%; charging stopped, ready for the drive.

Needs a Raspberry Pi, a Matter or Z‑Wave thermostat, the blinds and charger you have.

You did not touch a switch or a thermostat.

Kitchen

Dinner ready at 6:30, with the appliances you already own.

  1. Sous‑vide bath to 133 °F so the steak is ready at 6:25.
  2. Oven to 350 °F; the probe says the tray is done at 6:27.
  3. Range hood to 70% the moment the pan smoked.

Needs a Raspberry Pi, a Bluetooth meat probe, a smart plug on the sous‑vide bath.

You did not watch a timer or a thermometer.

Indoor air

Breathe well, on a smoke day.

  1. Outdoor PM2.5 at 62 from wildfire smoke; fresh‑air damper closed, purifier to high.
  2. Bedroom CO₂ hit 1,100 ppm; ERV boosted with the filter in line.
  3. CO₂ back to 750 ppm; boost off, purifier eased to 40%.

Needs a Raspberry Pi, an AirGradient or Awair sensor, the thermostat you have.

You did not check an app or open a window into the smoke.

Lawn

Water only what dried out.

  1. Zone 2 at 22% soil moisture; ran 14 minutes. Zones 1 and 3 skipped.
  2. Flow meter showed 6.1 gal/min, in range, so no valve stuck open.
  3. 0.4 in of rain in the forecast; rain delay set for two days.

Needs a Raspberry Pi, the valves already in the ground, three soil probes.

You did not water the sidewalk or the rain.

How

Say the outcome. Opichy composes the rest.

Every device is described by what it can sense and do. State what you want, and the intelligence layer works out which capabilities to use, on the controller, on your network, with the cloud optional.

Read how it works →

Works with

You probably own something on this list.

Opichy talks to devices on your own network, with no account in the loop. Twenty‑nine products across seven domains so far; here are the ones you will recognise.

Philips HueLOCAL · ZIGBEE IKEALOCAL · ZIGBEE, MATTER Dyson purifiersLOCAL · MQTT Rain BirdLOCAL · HTTP Honeywell T6LOCAL · Z‑WAVE Shelly relaysLOCAL · HTTP, MQTT Any Matter deviceLOCAL · MATTER Any Modbus or OPC UA machineLOCAL · INDUSTRIAL
The film

Sixty‑four seconds on what Opichy is.

Hardware, the edge, intelligence, the architecture and the workflow, in order. Sound on.

64 seconds · original score and sound design · download the MP4
Start

One controller. Five steps.

A Raspberry Pi 5, an SD card and the Opichy image: about $80 if you own none of it. The first image covers the first two steps, identity and updates. The three after it are what the next release is for, and we say so rather than imply otherwise.

Flash

Write the verified image to an SD card or NVMe with Raspberry Pi Imager. On first boot the controller is its own Wi‑Fi for a minute: join it from your phone and a page asks which network it should live on.

Boot

First boot generates the controller's identity. It is never baked into the image.

Name next release

Give it a name on its local web UI. It is reachable on your network immediately.

Connect next release

Plug in or pair devices. Edge discovers their capabilities over whatever transport they speak.

Automate next release

State the outcome. The intelligence layer composes it from what is present.

Secure by design

The internet has no path to your devices.

Control runs on the controller inside a private network you own. The cloud only ever hears from the controller, never the other way round.

How devices and control stay secure →

Local control

Commands stay on your network

Automation and safety logic run on the box and keep running offline. Remote access means joining the controller's private Tailscale network, not opening a port.

Outbound only

The cloud waits to be called

The controller reports a heartbeat and asks for new releases. opichy.com never connects inward, and every credential in the chain does exactly one job.

Verifiable

Prove the image before you flash it

Images are built by CI from pinned, public tooling and checksummed. Verify a download in your browser with the same Rust code the controller runs.

Hardware defines what is physically possible.

Opichy defines how those capabilities compose.

AI defines how to reach the outcome you asked for.

One model over every transportGPIOI²CModbusOPC UAMQTTMatterBluetooth LEONVIFWi‑Fi
How it works

Four layers. The controller works without the top two.

Control, logic and safety stay on the box and keep running with the internet unplugged. The cloud adds identity, updates, telemetry and fleet coordination around it, never underneath it.

Read the full picture →

Intelligence

Decides what should happen. AI reasons over the capabilities that are present and composes the automation, so adding a device expands what is possible without rewriting anything.

Cloudflare

Coordinates. Workers, D1, R2 and Durable Objects hold identity, device state, releases and remote access at the edge. Optional.

Opichy Edge

Runs the house or the plant. Discovers devices, abstracts hardware into capabilities, executes automation locally, and connects out securely when it wants to.

Local‑first · no internet required
Physical

Anything with a wire or a radio. Raspberry Pi and embedded controllers, Matter devices, sensors, actuators, motors, cameras, industrial I/O.

The capability model

A model honest enough to automate against.

Every device is described by what it can sense and do, in a vocabulary no manufacturer owns. The table below is not a diagram: it is rendered in your browser from the same Rust code the controller runs.

Build a room and watch the model judge it →

Measured vs commanded

A reading is not a guess.

A smart plug reports its own relay. A Bluetooth bulb never does. Both provide Switch, but every value carries a quality, so an automation can tell what it knows from what it last asked for.

Declared resolution

Relays are not dimmers.

Each device declares the levels it can reach. Ask a relay for 40% and it answers 0, the level it will actually be at, the same discipline a servo drive uses when it reports actual position.

Age

Old data degrades honestly.

A temperature from four minutes ago is a different fact from one taken four seconds ago. Each capability declares how long a reading stays worth acting on; older ones become Uncertain.

Loading the model from WebAssembly…

Try it. A relay asked for % reaches ·a dimmer reaches
Live from the prototype

A real controller, right now.

This is the Raspberry Pi 5 that Opichy is being built on, reporting through a Cloudflare Tunnel that exposes only its read‑only side. Host health, the capabilities it advertises, and the sensor nodes it hears from, each reading carrying its age and quality. Nothing here is a mock‑up. It runs the proof‑of‑concept runtime; packaging that runtime into the image is the next release.

Contacting the prototype…
Built in the open

Reproducible from source to SD card.

RustOne core, everywhere

The capability model and download verification are Rust, compiled to WebAssembly for the browser and native for the controller. Same code, same answers.

R2 + D1Releases at the edge

Images and packages are stored on Cloudflare R2 with resumable downloads and no egress fees. The catalogue lives in D1; each controller's state in a Durable Object.

pi‑genImages built by CI

Every release is built by GitHub Actions from the official Raspberry Pi tooling, checksummed, and published to the Downloads page automatically.

Start with one controller.

The first image is being hardened on a real controller now. Leave an address and we will email once, when it ships, with the download and its checksum.