evcc is an open-source EV charging controller for solar-surplus and dynamic-tariff charging. See features, sponsor-token pricing, pros, cons and alternatives.
evcc is a free, open-source EV charge controller and home energy management system written in Go. It runs locally on hardware the user already owns, such as a Raspberry Pi, a Docker host, a NAS, or an x86 Linux or macOS machine, and it also ships as an official Home Assistant add-on.
Rather than being built by a company, evcc is maintained as a community project on GitHub under the evcc-io organization. The GitHub repository was created on December 6, 2019, with the project's founder, Andreas Linde (GitHub handle andig), citing frustration with the shell-script-heavy architecture of the older German open-source project openWB as the reason he started building evcc as a more structured, plugin-based alternative in Go.
The project is licensed under the permissive MIT license and, as of this research, has accumulated roughly 6,960 stars and 1,409 forks on GitHub, with active maintenance led by Andreas Linde and Michael Geers alongside a broader community of contributors.
evcc's central feature is solar-surplus charging, where the software continuously adjusts EV charging current so that a vehicle draws power roughly in step with the excess electricity a home's solar array is generating, minimizing pulls from the grid. Alongside that, it supports dynamic-tariff charging that shifts charging into the cheapest or lowest-carbon hours available on a spot-price electricity contract, and charging plans where a user sets a target charge level and a ready-by time and lets evcc backward-plan the schedule.
Through a protocol-agnostic plugin architecture built on Modbus, HTTP, MQTT, JavaScript, WebSocket, native Go drivers, and shell scripts, evcc integrates with a very large and mixed hardware ecosystem, reportedly covering more than 240 manufacturers and over 620 specific products across chargers, solar and battery inverters, smart meters, heat pumps, and vehicles. It also implements standardized protocols such as OCPP, EEBus, SunSpec, and SEMP for newer smart-grid-ready devices, and in Germany it supports the regulatory Paragraph 14a grid-operator throttling requirements for controllable consumption devices.
Beyond charging control, evcc coordinates home batteries and heat pumps alongside EV charging, manages load balancing across multiple chargers on one circuit, sends notifications through channels like Telegram and Pushover, offers companion iOS and Android apps for monitoring, and can log detailed charging history to InfluxDB for visualization in Grafana.
evcc's core software and the large majority of its device drivers are completely free under the MIT license with no functional limitations. The project sustains itself through a voluntary sponsorship model rather than a traditional subscription.
Supporters can sponsor the project through GitHub Sponsors at four US dollars per month, or buy a one-time lifetime sponsor token for approximately one hundred fifty euros through the project's own storefront at sponsor.evcc.io, with volume-discounted token bundles available for electricians and installers deploying evcc for clients. A sponsor token unlocks a small subset of premium device drivers and a telemetry feature that require compensation to vendors; everything else in evcc remains fully free regardless of sponsorship status. Significant code contributors and the first translator to complete a new UI language also receive a free sponsor token.
Yes. evcc's core software is free and open source under the MIT license. A small subset of premium device drivers and a telemetry feature require a paid or earned sponsor token, but the vast majority of functionality has no cost.
evcc runs on a Raspberry Pi, inside Docker on a NAS or server, on x86 Linux, on macOS, or as an official Home Assistant add-on. It is designed to run locally rather than depend on a vendor cloud service.
evcc is a community-driven open-source project on GitHub under the evcc-io organization, founded by Andreas Linde and currently led by maintainers Andreas Linde and Michael Geers along with community contributors, funded through voluntary GitHub Sponsors and sponsor token purchases.
evcc reports support for more than 240 hardware manufacturers and over 620 specific products, including chargers such as go-eCharger, KEBA, Easee, and Wallbox, and vehicles from Tesla, BMW, Audi, Volkswagen, Hyundai, Kia, and other major automakers.
evcc was created because its founder found openWB's shell-script-heavy, global-state architecture difficult to extend. evcc is written in Go with a structured plugin system and a modern Vue-based web interface, offering a more modular alternative to openWB.
No. evcc is built around a local-first architecture where charging logic and data processing happen on the user's own hardware, though optional cloud-connected vehicle APIs and notification services can be configured if desired.