Skip to content
Built on an open-source core

The diagnostic layer for robots, PLCs, and vehicles

Cut downtime from hours to minutes: see which node broke, approve a fix that worked before, and ship it back over the air.

A 30-minute conversation about your fleet and its failure modes.

A PLC fault stops the line, and the robot stops with it. One dashboard finds the root cause across both vendors and ships the fix over the air, the line back in minutes. The dashboard is the real product.

Apache 2.0An open core you can inspect and trustISO 17978-3Built on the international SOVD standardOn the deviceOn-prem and air-gapped - no cloud requiredAny stackROS 2 today; PLCs and ECUs through Pro bridges

01 /How it works

From fault to fix - with you in control

Three steps. A human signs off on every change.

01

See it

The moment something goes wrong anywhere in the fleet, it shows up in one place - with the context your team needs to act.

02

Understand it

selfpatch matches the symptoms against everything your fleet has seen before and ranks the likely causes - no guesswork, no log archaeology.

03

Fix it - your call

Your operator gets a shortlist of proven fixes. One click to approve, and the robot gets back to work.

02 /Why diagnostics

Observability tells you something broke. Diagnostics gets it fixed.

Observability was built for engineers watching cloud software - and it does not survive mass production. You cannot stream terabytes a day from every robot, and a dashboard fixes nothing. A production fleet needs structured faults with context captured at the moment of failure, remote operations to act on them, and a way to ship the fix back. That is diagnostics - selfpatch adds it on top of whatever observability you already have.

1.5 TB

Continuous recording

per robot per day - the fault buried somewhere in the clock

414 MB

Fault-scoped capture

per fault record - full context from the moment of failure

~360x

Less data per day

measured on a real ROS 2 robot, ten faults a day

See the math on a real robot

Watch it catch a real fault on a real robot:

03 /What we offer

One diagnostic layer - and the team that deploys it

From the open-source Medkit core to guided triage and a plant-floor appliance - one diagnostic API underneath.

Services

We build the product - and we also deploy, integrate, and extend it for you. Integration, custom development, and consulting, only for ROS 2 production, diagnostics, and OTA.

Explore services

See how teams use it across

04 /Trust

Your infrastructure. Your data. Your control.

selfpatch is built to run inside regulated, on-prem, and air-gapped environments. Diagnostic data never has to leave your network.

Runs where your robots run

Deploy on-prem, in your VPC, or fully air-gapped. The diagnostic gateway needs no outbound connection, and nothing leaves your network unless you decide it should.

Access under control

JWT authentication with viewer, operator, configurator, and admin roles. All API traffic is TLS-encrypted and follows the SOVD authentication model.

Signed, reversible OTA

Updates are signature-verified and health-gated, with automatic rollback driven by the diagnostic gateway.

AI that answers to you

Fault correlation is deterministic - no embeddings, no outbound model calls. The only AI in the system is the assistant you connect yourself; every suggestion is logged, and nothing about your robots reaches a third party.

Full security model

05 /Vision

Where this is going

selfpatch exists to shorten the distance between a fault appearing and a fix landing - fleets that detect, diagnose, and repair themselves. Today your operator approves every change, and each resolved fault makes the next diagnosis faster. Once a fix has proven itself enough times, you can let it run without asking.

Built by diagnostics engineers

selfpatch is a product company founded by engineers from automotive diagnostics and software-defined vehicles. Meet the team and the model behind the product.

About the company

Frequently asked questions

SOVD, ROS 2 diagnostics, OTA, and how selfpatch fits.

What is SOVD?
SOVD (Service-Oriented Vehicle Diagnostics, ISO 17978-3) is a modern REST/HTTP diagnostic standard. Instead of low-level legacy protocols, it exposes faults, live data, operations, and configuration as one uniform web API that any tool, dashboard, or AI agent can call.
What is ros2_medkit?
ros2_medkit is the open-source (Apache 2.0) diagnostic gateway from selfpatch for ROS 2. It discovers your node graph and exposes every entity behind one SOVD REST API, with a web UI and an MCP adapter, and ships in the official ROS 2 distribution for Jazzy and Humble.
How does selfpatch diagnose a ROS 2 robot?
It runs as a gateway in front of your ROS 2 graph, pinpoints the failing node, captures a freeze-frame of the state around the fault, and ranks likely root causes against past incidents - no SSH sessions or log archaeology.
Does it work with PLCs and non-ROS systems?
Yes. The open core bridges PLCs over OPC-UA into the same API, and Medkit Pro adds UDS/DoIP ECUs and custom protocol bridges, so robots, PLCs, and vehicles read through one diagnostic interface.
How does safe OTA work?
Updates are cryptographically signed, gated on live device health from the diagnostic layer, staged across the fleet, and rolled back automatically if the health gate fails - so a bad update cannot take a shift of robots down.
Is selfpatch open source?
The core, ros2_medkit, is open source under Apache 2.0 and free to use. Medkit Pro and the Diagnostics Box are commercial layers that add more protocols, secure OTA, fleet view, and guided triage on top of the same core.
Does my data leave my infrastructure?
No. selfpatch runs on-prem and air-gapped, with role-based access control and no external model calls. Diagnostic data, faults, and the knowledge base stay on your infrastructure.

See selfpatch on your fleet

Tell us about your stack. We'll show you how the diagnostic layer fits - and which of your recurring faults it could already resolve.