How We Built a Production EV Charging Platform with OCPP 2.0.1

At Wentrix, we built a full production-grade EV Charging Management Platform from scratch supporting both OCPP 1.6 and OCPP 2.0.1 simultaneously.
Electric vehicles are growing faster than the infrastructure to support them. Charge point operators, EV startups, and hardware manufacturers are all facing the same challenge: the hardware exists, but the software to manage it intelligently does not.
At Wentrix, we built a full production-grade EV Charging Management Platform from scratch — supporting both OCPP 1.6 and OCPP 2.0.1 simultaneously. Here's the full story of what we built, why we built it this way, and what we learned.
What is OCPP and Why Does It Matter?
OCPP stands for Open Charge Point Protocol — the global standard that allows EV chargers and charging management software to communicate with each other. Without OCPP, every charger manufacturer would need their own proprietary software, making interoperability impossible.
Key insight: If your EV charging software only supports one OCPP version, you are already limiting which chargers can connect to your network.
The Architecture We Built
1. WebSocket Server — The Core
Every OCPP charger connects via WebSocket. When a charger connects, it sends a Sec-WebSocket-Protocol header declaring which OCPP versions it supports. Our server reads this and negotiates the right version automatically.
2. Real-Time Session Management
When a driver plugs in and starts a session, the charger sends meter value readings every 30 seconds. Our platform:
- Stores all meter values in TimescaleDB — a time-series database built for this
- Pushes live updates to the dashboard via Socket.io
- Calculates energy consumed in real time
- Detects anomalies — if readings stop, the session is flagged
3. Remote Commands — Under 80ms
Operators need to start and stop sessions remotely. Our command delivery system uses BullMQ — a Redis-backed job queue — to ensure every command is delivered reliably even if the charger temporarily disconnects.
4. Energy Billing Engine
The billing engine supports three tariff types: Flat Rate (per kWh), Time Based (per minute), and Combined. When a session ends, it automatically calculates the total cost and finalizes the invoice.
The Full Tech Stack
- Node.js 22 + TypeScript — backend server
- Fastify — REST API layer
- PostgreSQL + TimescaleDB — session and telemetry data
- Redis — real-time charger state
- BullMQ — command queue
- Next.js 14 — web dashboard
- Flutter — iOS and Android mobile app
- DigitalOcean — cloud infrastructure
Need a Solution?
Wentrix builds production-grade IoT and EV charging platforms for companies that need reliable, scalable software on top of connected hardware.
Wentrix Team
A tech visionary and strategist at Wentrix Innovation Studio. Dedicated to building high-performance digital products and sharing insights about the future of technology.