OCPP 2.0.1 Technical Implementation

Build production-grade OCPP 2.0.1 — from the WebSocket handshake to TransactionEvent to security profiles, with reference code in Node.js and Python.

~15 hours of video + labs, self-paced Advanced Self-paced online (recorded)
Join the waitlist

Who this is for

Backend engineers at CSMS companies, firmware engineers at charger OEMs, integration engineers handling OCPP 1.6 → 2.0.1 migrations.

Who this is not for

Pure business or product folks — see EV Charging Fundamentals or OCPI Business & Concepts.

What you'll be able to do

  • Build a working OCPP 2.0.1 client or server in your language of choice
  • Confidently debug production OCPP issues
  • Decide architecture for your CSMS data layer
  • Migrate a 1.6 fleet to 2.0.1 without breaking things
  • Implement security profile 3 with proper certificate management
  • Handle vendor variations and edge cases

Curriculum

34 lessons across 6 modules.

Module 1 · Foundations and architecture 4 lessons

What changed from 1.6 and why this course exists.

  • 🎥 OCPP 2.0.1 vs 1.6 — the big differences 15 min
  • 🎥 Architecture: charger ↔ WebSocket ↔ CSMS 20 min
  • 🎥 Message envelope and the JSON RPC pattern 15 min
  • 🔬 Local dev setup — mock charger + mock CSMS 25 min
Module 2 · Connection lifecycle 5 lessons

BootNotification, Heartbeat, and disconnection patterns.

  • 🎥 BootNotification deep-dive 15 min
  • 🎥 Heartbeat and connection health 15 min
  • 🎥 WebSocket disconnection patterns in production 20 min
  • 🔬 Reconnect logic with backoff + jitter 30 min
  • 🎥 Debugging "charger went offline" — 3 real scenarios 20 min
Modules 3-4 · TransactionEvent and the unified transaction model 7 lessons

The heart of OCPP 2.0.1 — replacing 1.6's Start/Stop with TransactionEvent.

  • 🎥 Why TransactionEvent replaced Start/Stop 15 min
  • 🎥 eventType, chargingState, and the state machine 20 min
  • 🎥 seqNo, idempotency, and message ordering 25 min
  • 🎥 triggerReason — what actually happened 15 min
  • 🔬 Implementing TransactionEvent server-side 35 min
  • 🔬 Implementing TransactionEvent client (firmware-style) 30 min
  • 🎥 Walking through a real billing reconciliation bug 25 min
Module 5 · The device model 5 lessons

Components, Variables, and structured configuration.

  • 🎥 Why the device model exists 15 min
  • 🎥 Components, Variables, Characteristics 20 min
  • 🎥 GetVariables, SetVariables, GetReport in practice 25 min
  • 🎥 NotifyReport, monitoring, alarms 20 min
  • 🔬 Build a config manager that supports 1.6 AND 2.0.1 30 min
Module 6 · Security profiles and certificates 5 lessons

Profiles 1/2/3, mTLS, certificate signing flows.

  • 🎥 Profiles 1, 2, 3 — when to use what 20 min
  • 🎥 mTLS setup end-to-end 25 min
  • 🎥 InstallCertificate and certificate signing flows 20 min
  • 🔬 Production-grade Profile 3 implementation 35 min
  • 🎥 Real cert chain issues — debug session 20 min
Modules 7-8 · Production realities 8 lessons

What you actually deal with when shipping OCPP at scale.

  • 🎥 Firmware updates: messages, gotchas, rollback 25 min
  • 🎥 Smart charging: SetChargingProfile in production 25 min
  • 🎥 Common errors and how to debug each 30 min
  • 🎥 Multi-version support: 1.6 and 2.0.1 in one fleet 20 min
  • 🎥 OCPP 2.0.1 + ISO 15118 PnC integration 25 min
  • 🎥 Load testing: how to test 10K concurrent chargers 25 min
  • 🎥 Testing strategy and CI patterns 20 min
  • 📖 Production deployment checklist 15 min

Included with enrollment

  • GitHub reference repo: production-style CSMS in Node.js + Python
  • Mock charger Docker image — run a local test environment
  • Library of real-world OCPP messages (anonymized) for testing
  • Private Discord community access — 12 months
  • Monthly recorded Q&A — 30-min walkthroughs of community questions
  • Free updates for life (OCPP 2.1 coverage included when added)

Prerequisites

  • Working knowledge of a backend language (Node.js, Python, Go, Java, etc.)
  • Comfortable with WebSocket and JSON
  • Ideally have touched OCPP 1.6 (but not required — we cover migration)
  • Basic Docker for the local mock environment

What you’ll build

By the end of this course, you’ll have a working OCPP 2.0.1 implementation — either client (firmware-style) or server (CSMS-style) — running in your own code, talking to a mock counterpart, handling the real-world edge cases that bite in production.

This isn’t a tour of the spec. It’s a build-along where you ship code in every module.

Who this is for

  • Backend engineers building or migrating a CSMS
  • Firmware engineers building or updating EVSE software
  • Integration engineers stitching OCPP into a larger platform
  • Engineers handling the OCPP 1.6 → 2.0.1 migration
  • Tech leads making architecture decisions for an OCPP project

Who this is not for

  • Pure product or business folks (no code) — take EV Charging Fundamentals
  • People who only need protocol overview — take EV Charging Fundamentals
  • Folks who only need OCPP 1.6 (we cover 2.0.1 specifically; 1.6 only for migration context)

Why $499 for a recorded course

Three things that justify it:

  1. Reference implementations in production-grade code — not toy examples. Same patterns shipped at real CSMS companies.
  2. Lifetime updates — when OCPP 2.1 ships, you get the new material free. This alone is worth the price if you’re working in this space long-term.
  3. Private community + monthly Q&A — recorded course doesn’t mean isolated. Discord access for 12 months plus monthly recorded walkthroughs of community questions.

Format

Recorded video lessons (~15 hours total) plus 6 hands-on labs. Self-paced — finish in a focused 2-3 weeks or stretch over a quarter. Lifetime access. Private Discord community access for 12 months.

Need 1:1 help?

For students who want personalized architecture review or debugging help, get in touch and we can arrange a 1:1 session.

Join the waitlist for OCPP 2.0.1 Technical Implementation

Be the first to know when the course launches. No spam, ever.