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.
Join the waitlistWho 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:
- Reference implementations in production-grade code — not toy examples. Same patterns shipped at real CSMS companies.
- 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.
- 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.