Back to Blog
OCPPEV ChargingGetting Started

Getting Started with OCPP: A Complete Guide

EVSEBridge TeamMarch 10, 20268 min read

What Is OCPP?

The Open Charge Point Protocol (OCPP) is the de facto communication standard between Electric Vehicle Supply Equipment (EVSE) -- commonly known as charge points or charging stations -- and a Central System Management System (CSMS). Maintained by the Open Charge Alliance (OCA), OCPP defines a vendor-neutral, open protocol that allows charge point operators (CPOs) to mix hardware from different manufacturers while managing everything through a single back-end platform.

Before OCPP existed, every hardware vendor shipped proprietary firmware that could only talk to their own cloud. If you operated a network of 500 chargers across three vendors, you needed three separate management dashboards, three billing integrations, and three engineering teams to maintain them. OCPP eliminated that fragmentation by giving the industry a shared language.

A Brief History of OCPP Versions

OCPP 1.5 (SOAP/XML)

Released in 2012, OCPP 1.5 was the first widely adopted version. It uses SOAP over HTTP with XML payloads. While it proved the concept of open interoperability, the verbosity of XML and the overhead of SOAP made it cumbersome for resource-constrained embedded hardware. Many legacy chargers still run 1.5, so any production-grade CSMS needs to support it.

OCPP 1.6 (JSON over WebSocket)

OCPP 1.6 arrived in 2015 and quickly became the dominant version in the industry. The key change was the introduction of a JSON-over-WebSocket transport alongside the original SOAP profile. JSON payloads are dramatically smaller than XML, and WebSockets provide a persistent, bidirectional channel between the charger and the central system. This means the CSMS can push commands to a charger without waiting for the charger to poll.

OCPP 1.6 defines a set of core operations including BootNotification, Heartbeat, Authorize, StartTransaction, StopTransaction, MeterValues, RemoteStartTransaction, RemoteStopTransaction, ChangeConfiguration, and Reset. These cover the vast majority of day-to-day charging workflows.

OCPP 2.0.1

Published in 2020 and refined through subsequent errata, OCPP 2.0.1 is a ground-up redesign. It introduces a device model that replaces the flat key-value configuration of 1.6 with a hierarchical, component-based structure. It adds first-class support for ISO 15118 (Plug & Charge), improved security profiles with TLS mutual authentication, transaction handling that separates the concept of an "EVSE" from a "Connector", and detailed monitoring and reporting capabilities.

How OCPP Works: Architecture Overview

At a high level, OCPP follows a client-server model:

  • The Charge Point acts as the WebSocket client. On boot, it opens a persistent connection to the CSMS and sends a BootNotification message containing its vendor, model, serial number, and firmware version.
  • The Central System (CSMS) acts as the WebSocket server. It accepts incoming connections, validates the charger identity, and responds with a BootNotification response that includes the current time and a heartbeat interval.

Once connected, communication flows in both directions:

  • Charger-initiated messages: Status notifications, meter readings, authorization requests, transaction events.
  • CSMS-initiated messages: Remote start/stop, configuration changes, firmware updates, diagnostics requests, reservation commands.

Every OCPP message follows a simple request-response pattern. Each request carries a unique message ID. The recipient processes the request and returns a confirmation (or error) referencing that same ID. In OCPP 1.6 JSON, messages are encoded as JSON arrays with a message type indicator (2 for Call, 3 for CallResult, 4 for CallError).

Core Use Cases

Fleet Charging Management

Companies operating employee or delivery vehicle fleets use OCPP to centrally manage dozens or hundreds of chargers across depots. The CSMS handles scheduling, load balancing, and cost allocation per vehicle. With OCPP 2.0.1, the device model allows granular monitoring of individual connectors, enabling predictive maintenance before a charger goes offline.

Public Charging Networks

CPOs operating public networks rely on OCPP for real-time availability reporting, payment authorization via RFID or mobile app, and dynamic pricing. The CSMS integrates with roaming platforms like Hubject or Gireve through OCPI, and OCPP serves as the southbound interface to the hardware.

Residential and Workplace Charging

Smart home chargers increasingly support OCPP to participate in demand-response programs. The CSMS can throttle charging power during peak grid hours and resume at full speed overnight, all through standard OCPP SetChargingProfile messages.

Vehicle-to-Grid (V2G)

OCPP 2.0.1's ISO 15118 integration opens the door to bidirectional energy flows. A V2G-capable charger can discharge the vehicle battery back to the grid during peak demand, and the CSMS orchestrates this through OCPP transaction and metering messages.

Getting Started with Your Own CSMS

Building an OCPP-compliant central system from scratch is a significant engineering effort. You need to handle WebSocket connection management with TLS, implement every message handler for each OCPP version you support, manage charger state machines, persist transaction data, and handle edge cases like network drops and message retries.

This is exactly the problem EVSEBridge solves. Instead of spending months building WebSocket infrastructure, you get a production-ready OCPP gateway that supports versions 1.5, 1.6, and 2.0.1 out of the box. It handles connection management, message routing, and protocol translation, so your team can focus on the business logic that differentiates your charging network.

Key Takeaways

  • OCPP is the open standard for charge point communication, eliminating vendor lock-in.
  • Version 1.6 JSON/WebSocket is the current industry baseline; 2.0.1 is the future.
  • The protocol uses a persistent WebSocket connection with bidirectional request-response messaging.
  • Real-world use cases range from public networks to fleet depots to residential V2G.
  • Building a compliant CSMS is non-trivial -- platforms like EVSEBridge let you skip the infrastructure work and ship faster.

Whether you are a CPO scaling your network, an OEM integrating charger management, or a developer exploring the EV charging ecosystem, understanding OCPP is foundational. The protocol is open, well-documented, and backed by a growing community of implementers.

EVSEBridge Team

Writing about OCPP, EV charging infrastructure, and distributed systems at EVSEBridge.