Back to blog
Engineering5 min read

Why We Built TestPilot

The OCPP certification ecosystem has a dirty secret: testing your charger shouldn't require a three-week approval queue and an enterprise contract. Here's why we built a better way.

I
Infinite Service Team

*TestPilot was called OCPP Tester when this was written; the name changed, the tool did not.*

The Problem We Kept Running Into

Every developer building an EV charging station implementation eventually hits the same wall: how do you actually test your OCPP 1.6 compliance before shipping to production?

The official answer is the OCA's OCTT (OCPP Compliance Testing Tool). It works, but it's designed for a world where testing is a milestone, not a daily habit. You fill out a form, wait for approval, schedule a session, and run through a fixed test suite. By the time results come back, you've already moved on to three other things.

We were building charging station firmware and running into this constantly. The feedback loop was too long.

What We Wanted

A tool that worked the way developers expect tools to work:

  • Install it. Run it. Get results.
  • No forms, no waiting, no SaaS login.
  • Works offline, on your local machine, against your dev environment.
  • Scriptable enough to drop into CI.

That's TestPilot.

How It Works

TestPilot spins up a mock Central System that speaks OCPP 1.6 over WebSocket. Your charger connects to it the same way it would connect to a real CSMS. The tool then drives a sequence of test scenarios — BootNotification, Authorize, StartTransaction, StopTransaction, heartbeats, status notifications — and validates that your charger's responses conform to the spec.

Each test scenario is deterministic. You get a pass/fail result for every message exchange, with the exact JSON payloads logged so you can see exactly what went wrong.

What It Isn't

TestPilot is not a replacement for formal OCA certification if you need that for a procurement contract. It's a development tool. Think of it as the unit tests you run before the integration tests — a fast inner loop that catches obvious protocol mistakes before they become expensive support tickets.

The Business Model

*Updated 2026-08-27: this post originally described one-time licences. Pricing has since changed — the note below reflects what we actually charge today.*

TestPilot is priced per charger model, because that is how conformance testing is actually used: you validate a model, ship it, and stop. There is a free tier that gives you the live message log and operator commands; paying unlocks the signed, exportable conformance report you can hand to a customer.

That is deliberately different from ChargePilot, which you run continuously and which is metered by the stations and chargers in your network. See [pricing](/pricing) for both.

If you're building OCPP firmware or a charging station product and want to try it, reach out.

Related articles