Resources & blog

Resources & blog

Technical writing on OCPP, EV charging infrastructure, and CSMS tooling.

Engineering9 min read

Debugging OCPP WebSocket Connections: 1006, Subprotocol Mismatches and TLS

A charger that will not connect gives you almost nothing to work with: a close code, maybe a log line. Here is how to read OCPP-J connection failures — 1006, subprotocol negotiation, TLS and the reconnect storms they cause.

Read more →
Tutorial8 min read

How to Test an OCPP 1.6 Charger Without a Hardware Lab

You do not need a rack of chargers to build confidence in an OCPP implementation. A practical setup for testing both sides of the connection on a laptop, and what it can and cannot tell you.

Read more →
Tutorial10 min read

OCPP Smart Charging: SetChargingProfile in Practice

Charging profiles are the most misunderstood part of OCPP 1.6. Stacking levels, purposes, schedule periods and the composite schedule — what each one actually does, with payloads.

Read more →
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.

Read more →
Tutorial8 min read

A Developer's Guide to OCPP 1.6

OCPP 1.6 is the protocol that makes EV chargers talk to backend systems. This guide walks through the core message flows every developer needs to understand before writing a single line of firmware.

Read more →
Product6 min read

The State of EV Charging Infrastructure in 2026

EV adoption is accelerating faster than the charging network can keep up. We look at where the infrastructure gaps are, what's being built to close them, and what it means for developers in the space.

Read more →
Engineering4 min read

From OCA OCTT to Automated Testing

The OCA's official compliance tool is the gold standard for certification — but it's not built for development workflows. Here's how to bridge the gap between daily testing and formal compliance.

Read more →