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.
01 /How it works
From fault to fix - with you in control
Three steps. A human signs off on every change.
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.
Understand it
selfpatch matches the symptoms against everything your fleet has seen before and ranks the likely causes - no guesswork, no log archaeology.
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.
Medkit
Every node behind one REST diagnostic API
Learn moreMedkit Pro
See and fix your whole fleet - every robot and PLC, one view
Learn moreDiagnostics Box
PLC diagnostics today. Robot-ready tomorrow.
Learn moreServices
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.
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.
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.
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.