VW e-Up
Vehicle Type: VWUP
This vehicle type supports the VW e-UP (2013-, 2020-), Skoda Citigo E IV and the Seat MII electric (2020-). Connection can be made via the OBD2 port to the top left of the driving pedals and/or the Comfort CAN bus, e.g. below the passenger seat (T26 connector, instead of the VW OCU there).
The main difference currently is that the OBD connection enables access to way more metrics (e.g. down to cell voltages), while the Comfort CAN connection is necessary if write access is needed, e.g. for remote climate control. The Comfort CAN also provides data in more cases without turning on the car or charging, as the bus wakes on many events (e.g. opening of doors) and can also be woken via OVMS.
For the full experience, making both connections is recommended.
Using OBD2
Connection to OBD2 is done with the standard OVMS OBD2-cable just below the fuses left of the driving pedals:

Using Comfort CAN
Connection to Comfort CAN can be done by removing the OCU below the passenger seat using a custom 26-pin adapter cable to the T26A plug (advantage: the connections for the GSM & GPS-antennas of the car can be used using a Fakra-SMA adapter):





The passenger seat doesn’t need to be removed completely, you can access the OCU connection from the back when tilting the unscrewed seat to the front. To unscrew the seat you’ll need an XZN (triple-square / german “Vielzahn”) M10 bit. Hint: raise the seat to gain access to the rear screws.
The T26a plug is secured by the white clamp, open it fully to the left to unplug.
Using both Connections
This document shows two options to use both connections:
Variant 1 connects to the Comfort CAN using the OCU T26A connector.
Variant 2 connects to the Comfort CAN by tapping the Comfort CAN cables.
Both variants allow keeping the OCU in place. If you intend to replace the OCU by the OVMS and reuse the OCU antennas for the OVMS, variant 1 will probably be the better choice.
Variant 1
Connecting to the Comfort CAN using the OCU T26A connector
You need to establish a connection between the OBD2 and the OCU ports. If installing the OVMS near the OBD2 port, you need to make a cable to connect to the T26A plug (or tap into the T26A cable there). If installing the OVMS replacing the OCU, you need to connect the OBD2 CAN bus from there.
An adapter cable has to be made with the following connections:
The cable used between the OBD plug and the DB9-F plug needs to be twisted to avoid transmission problems. A good cable to use here is a CAT-5 or CAT-6 double shielded network cable. Be sure to not only connect CAN hi and CAN lo, but also connect ground.
T26 |
OBD |
DB9-F |
Signal |
---|---|---|---|
26 |
4 |
3 |
Chassis / Power GND |
. |
14 |
2 |
can1 L (OBD2 CAN Low) |
. |
6 |
7 |
can1 H (OBD2 CAN High) |
. |
. |
4 |
can2 L (not used) |
. |
. |
5 |
can2 H (not used) |
2 |
. |
6 |
can3 L (Comfort-CAN Low) |
14 |
. |
8 |
can3 H (Comfort-CAN High) |
1 |
. |
9 |
+12V Vehicle Power |
Important note: the VW T26a pin numbering scheme does not follow the IT standard (zig zag) but instead has pins 1-13 left to right on the top and 14-26 left to right on the bottom row. See image above.
Variant 2
Connecting to the Comfort CAN by tapping the Comfort CAN cables
Description & images by courtesy of GE user donaldduck8.
This approach installs the OVMS near the OBD2 port and keeps the OCU in place. Advantages:
The OCU remains untouched and can be switched on/off as needed (fuse SD1)
No need to unmount the passenger seat
The OVMS can be disabled/enabled any time simply via the OBD2 plug
The OVMS will be mounted on the driver side behind the footwell panel near the OBD2 port. The Comfort CAN signal will be taken by tapping the cables behind the passenger’s footwell panel.
The cable used needs to be twisted to avoid transmission problems. A good cable to use here is a CAT-5 or CAT-6 double shielded network cable. A network cable has four pairs, you will only need one pair here. We recommend connecting the shielding as well to avoid issues.
To connect to the OVMS, you can use either a custom DB9 plug or add a DA26 connector. You need to connect to CAN3.
Comfort CAN |
OBD |
DB9-F |
DA26 |
Signal |
---|---|---|---|---|
. |
4 |
3 |
8 |
Chassis / Power GND |
. |
14 |
2 |
5 |
can1 L (OBD2 CAN Low) |
. |
6 |
7 |
15 |
can1 H (OBD2 CAN High) |
. |
12 |
4 |
7 |
can2 L (not used) |
. |
13 |
5 |
17 |
can2 H (not used) |
orange/brown |
. |
6 |
6 |
can3 L (Comfort-CAN Low) |
orange/green |
. |
8 |
16 |
can3 H (Comfort-CAN High) |
. |
16 |
9 |
9 |
+12V Vehicle Power |
Step 1: Remove the passenger footwell panel:
Step 2: Tap into the Comfort CAN:
Comfort CAN is on cables orange/green (→CAN3-H) and orange/brown (→CAN3-L). Carefully remove a part of the isolation, solder on your twisted pair cables, then restore the isolation (e.g. by applying PlastiDip).
Step 3: Lay the cable towards the fuse box & OBD2 port on the left:
Step 4: Use velcro tape to mount the OVMS on the side wall:
Step 5: Stick the GPS antenna e.g. onto the air vent pipe. To disable the OCU, unplug fuse SD1:
Step 6: Stick the GSM antenna e.g. on the lower panel’s rear side:
Finally: Refit all panels:
Basic Configuration
After selecting the VW e-Up vehicle module, the corresponding settings have to be made in the web interface via the “VW e-Up” menu under “Features”:

By default, both connections are activated.
For more details on the two connection types, please see the corresponding projects:
VW e-Up via Comfort CAN (T26A)
The initial code is shamelessly copied from the original projects for the Comfort CAN by Chris van der Meijden and for the OBD2 port by SokoFromNZ.
List of (possible) metrics via OBD2: https://www.goingelectric.de/wiki/Liste-der-OBD2-Codes/
If OBD is selected, a sample page with some charging metrics is shown in the web interface:


Beware: obviously, these values have great uncertainties (in my car, the DC output voltage of the charger is always lower than the voltage of the battery…) But e.g. the internal energy counters are very informative :)
Additional custom web pages (code for the example above is below) can be defined as described here: https://docs.openvehicles.com/en/latest/plugin/README.html?highlight=web%20plugin#installing-web-plugins
Support Overview
Function |
Support Status |
---|---|
Hardware |
Any OVMS v3 (or later) module. Vehicle support: 2013- |
Vehicle Cable |
Comfort CAN T26A (OCU connector cable, located under front passenger seat) to DB9 Data Cable for OVMS using pin 6 and 8 for can3 _AND_ OBD-II to DB9 Data Cable for OVMS (1441200 right, or 1139300 left) for can1 |
GSM Antenna |
T4AC - R205 with fakra_sma adapter cable or 1000500 Open Vehicles OVMS GSM Antenna (or any compatible antenna) |
GPS Antenna |
T4AC - R50 with fakra_sma adapter cable or 1020200 Universal GPS Antenna (or any compatible antenna) |
SOC Display |
Yes |
Range Display |
Yes |
Cabin Pre-heat/cool Control |
Yes |
GPS Location |
Yes (from modem module GPS) |
Speed Display |
Yes |
Temperature Display |
Yes (see list of metrics below) |
BMS v+t Display |
Yes |
TPMS Display |
tba |
Charge Status Display |
Yes |
Charge Interruption Alerts |
Yes (per notification on the charging state) |
Charge Control |
tba |
Lock/Unlock Vehicle |
No |
Valet Mode Control |
No |
Others |
See list of metrics below |
Supported Standard Metrics
The second column specifies the bus from which the metrics are obtained. Metrics via OBD are only updated when the vehicle is on (ignition started) or some in charging mode. Metrics via T26 (Comfort CAN) can be updated on demand by waking the Comfort CAN from the OVMS module. During charging, the Comfort CAN automatically wakes every 5% of SoC.
Metric name |
bus |
Example value |
Description |
---|---|---|---|
v.b.12v.voltage |
direct |
12.9 V |
Current voltage of the 12V battery |
v.b.consumption |
OBD |
0Wh/km |
Main battery momentary consumption |
v.b.current |
OBD |
23.2 A |
Current current into (negative) or out of (positive) the main battery |
v.b.energy.recd.total |
OBD |
578.323 kWh |
Energy recovered total (life time) of the main battery (charging and recuperation) |
v.b.energy.used.total |
OBD |
540.342 kWh |
Energy used total (life time) of the main battery |
v.b.power |
OBD |
23.234 kW |
Current power into (negative) or out of (positive) the main battery. |
v.b.range.est |
T26 |
99km |
Estimated range |
v.b.range.ideal |
T26 |
48km |
Ideal range |
v.b.soc |
OBD, T26 |
88.2 % |
Current usable State of Charge (SoC) of the main battery |
v.b.temp |
OBD |
22.5 °C |
Current temperature of the main battery |
v.b.voltage |
OBD |
320.2 V |
Current voltage of the main battery |
v.c.12v.current |
OBD |
7.8A |
Output current of DC/DC-converter |
v.c.12v.power |
OBD |
0.123kW |
Output power of DC/DC-converter |
v.c.12v.temp |
OBD |
34.5°C |
Temperature of DC/DC-converter |
v.c.12v.voltage |
OBD |
12.3V |
Output voltage of DC/DC-converter |
v.c.charging |
T26 |
true |
Is vehicle charging (true = “Vehicle CHARGING” state. v.e.on=false if this is true) |
v.c.climit |
fixed |
16/32A |
Maximum charger output current |
v.c.current |
OBD |
1.25A |
Momentary charger output current |
v.c.efficiency |
OBD |
91.3 % |
Charging efficiency calculated by v.b.power and v.c.power |
v.c.kwh |
OBD |
2.6969kWh |
Energy sum for running charge |
v.c.mode |
T26 |
standard |
standard, range, performance, storage |
v.c.pilot |
T26 |
no |
Pilot signal present |
v.c.power |
OBD |
7.345 kW |
Input power of charger |
v.c.state |
T26 |
done |
charging, topoff, done, prepare, timerwait, heating, stopped |
v.c.substate |
T26 |
scheduledstop, scheduledstart, onrequest, timerwait, powerwait, stopped, interrupted |
|
v.c.temp |
OBD |
16°C |
Charger temperature |
v.c.time |
T26 |
0Sec |
Duration of running charge |
v.c.voltage |
OBD |
0V |
Momentary charger supply voltage |
v.d.cp |
T26 |
yes |
yes = Charge port open |
v.d.fl |
T26 |
yes = Front left door open |
|
v.d.fr |
T26 |
yes = Front right door open |
|
v.d.hood |
T26 |
yes = Hood/frunk open |
|
v.d.rl |
T26 |
yes = Rear left door open |
|
v.d.rr |
T26 |
yes = Rear right door open |
|
v.d.trunk |
T26 |
yes = Trunk open |
|
v.e.awake |
T26 |
no |
yes = Vehicle/bus awake (switched on) |
v.e.cabintemp |
T26 |
20°C |
Cabin temperature |
v.e.drivetime |
T26 |
0Sec |
Seconds driving (turned on) |
v.e.headlights |
T26 |
yes = Headlights on |
|
v.e.hvac |
T26 |
yes = HVAC active |
|
v.e.locked |
T26 |
yes = Vehicle locked |
|
v.e.on |
T26 |
true |
Is ignition on and drivable (true = “Vehicle ON”, false = “Vehicle OFF” state) |
v.e.parktime |
T26 |
49608Sec |
Seconds parking (turned off) |
v.e.serv.range |
OBD |
12345km |
Distance to next scheduled maintenance/service [km] |
v.e.serv.time |
OBD |
1572590910Sec |
Time of next scheduled maintenance/service [UTC] |
v.e.temp |
OBD, T26 |
Ambient temperature |
|
v.i.temp |
OBD |
Inverter temperature |
|
v.m.temp |
OBD |
0°C |
Motor temperature |
v.p.odometer |
OBD, T26 |
2340 km |
Total distance traveled |
v.p.speed |
T26 |
0km/h |
Vehicle speed |
v.vin |
T26 |
VF1ACVYB012345678 |
Vehicle identification number |
Custom Metrics
In addition to the standard metrics above the following custom metrics are read from the car or internally calculated by OVMS using read values.
Metric name |
bus |
Example value |
Description |
---|---|---|---|
xvu.b.cell.delta |
OBD |
0.012 V |
Delta voltage between lowest and highest cell voltage |
xvu.b.soc.abs |
OBD |
85.3 % |
Current absolute State of Charge (SoC) of the main battery |
xvu.c.soc.norm |
OBD |
80.5 % |
Current normalized State of Charge (SoC) of the main battery as reported by charge management ECU |
xvu.c.ac.i1 |
OBD |
5.9 A |
AC current of AC charger phase 1 |
xvu.c.ac.i2 |
OBD |
7.0 A |
AC current of AC charger phase 2 (only for model 2020+) |
xvu.c.ac.p |
OBD |
7.223 kW |
Current charging power on AC side (calculated by ECU’s AC voltages and AC currents) |
xvu.c.ac.u1 |
OBD |
223 V |
AC voltage of AC charger phase 1 |
xvu.c.ac.u2 |
OBD |
233 V |
AC voltage of AC charger phase 2 (only for model 2020+) |
xvu.c.dc.i1 |
OBD |
1.2 A |
DC current of AC charger 1 |
xvu.c.dc.i2 |
OBD |
1.2 A |
AC current of AC charger 2 (only for model 2020+) |
xvu.c.dc.p |
OBD |
6.500 kW |
Current charging power on DC side (calculated by ECU’s DC voltages and DC currents) |
xvu.c.dc.u1 |
OBD |
380 V |
DC voltage of AC charger 1 |
xvu.c.dc.u2 |
OBD |
375 V |
DC voltage of AC charger 2 (only for model 2020+) |
xvu.c.eff.calc |
OBD |
90.0 % |
Charger efficiency calculated by AC and DC power |
xvu.c.eff.ecu |
OBD |
92.3 % |
Charger efficiency reported by the Charger ECU |
xvu.c.loss.calc |
OBD |
0.733 kW |
Charger power loss calculated by AC and DC power |
xvu.c.loss.ecu |
OBD |
0.620 kW |
Charger power loss reported by the Charger ECU |
xvu.e.serv.days |
OBD |
78 days |
Time to next scheduled maintenance/service [days] |
xvu.m.soc.abs |
OBD |
85.3 % |
Current absolute State of Charge (SoC) of the main battery as reported by motor electronics ECU |
xvu.m.soc.norm |
OBD |
80.5 % |
Current normalized State of Charge (SoC) of the main battery as reported by motor electronics ECU |
Example Code for Web Plugin with some custom metrics:
<div class="panel panel-primary">
<div class="panel-heading">Custom Metrics</div>
<div class="panel-body">
<hr/>
<div class="receiver">
<div class="clearfix">
<div class="metric progress" data-metric="v.b.soc" data-prec="1">
<div class="progress-bar value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:0%">
<div>
<span class="label">SoC</span>
<span class="value">?</span>
<span class="unit">%</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="xvu.b.soc.abs" data-prec="1">
<div class="progress-bar progress-bar-info value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:0%">
<div>
<span class="label">SoC (absolute)</span>
<span class="value">?</span>
<span class="unit">%</span>
</div>
</div>
</div>
</div>
<div class="clearfix">
<div class="metric number" data-metric="v.b.energy.used.total" data-prec="2">
<span class="label">TOTALS: Used</span>
<span class="value">?</span>
<span class="unit">kWh</span>
</div>
<div class="metric number" data-metric="v.b.energy.recd.total" data-prec="2">
<span class="label">Charged</span>
<span class="value">?</span>
<span class="unit">kWh</span>
</div>
<div class="metric number" data-metric="v.p.odometer" data-prec="0">
<span class="label">Odo</span>
<span class="value">?</span>
<span class="unit">km</span>
</div>
<div class="metric number" data-metric="v.e.serv.range" data-prec="0">
<span class="label">SERVICE: Range</span>
<span class="value">?</span>
<span class="unit">km</span>
</div>
<div class="metric number" data-metric="xvu.e.serv.days" data-prec="0">
<span class="label">Days</span>
<span class="value">?</span>
<span class="unit"></span>
</div>
</div>
<h4>Battery</h4>
<div class="clearfix">
<div class="metric progress" data-metric="v.b.voltage" data-prec="1">
<div class="progress-bar value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="300" aria-valuemax="420" style="width:0%">
<div>
<span class="label">Voltage</span>
<span class="value">?</span>
<span class="unit">V</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="v.b.current" data-prec="1">
<div class="progress-bar progress-bar-danger value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-200" aria-valuemax="200" style="width:0%">
<div>
<span class="label">Current</span>
<span class="value">?</span>
<span class="unit">A</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="v.b.power" data-prec="3">
<div class="progress-bar progress-bar-warning value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-70" aria-valuemax="70" style="width:0%">
<div>
<span class="label">Power</span>
<span class="value">?</span>
<span class="unit">kW</span>
</div>
</div>
</div>
</div>
<div class="clearfix">
<div class="metric number" data-metric="v.b.temp" data-prec="1">
<span class="label">Temp</span>
<span class="value">?</span>
<span class="unit">°C</span>
</div>
<div class="metric number" data-metric="xvu.b.cell.delta" data-prec="3">
<span class="label">Cell delta</span>
<span class="value">?</span>
<span class="unit">V</span>
</div>
</div>
<h4>Temperatures</h4>
<div class="clearfix">
<div class="metric progress" data-metric="v.e.temp" data-prec="1">
<div class="progress-bar progress-bar-warning value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-10" aria-valuemax="40" style="width:0%">
<div>
<span class="label">Ambient</span>
<span class="value">?</span>
<span class="unit">°C</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="v.e.cabintemp" data-prec="1">
<div class="progress-bar progress-bar-warning value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-10" aria-valuemax="40" style="width:0%">
<div>
<span class="label">Cabin</span>
<span class="value">?</span>
<span class="unit">°C</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="v.b.temp" data-prec="1">
<div class="progress-bar progress-bar-warning value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-10" aria-valuemax="40" style="width:0%">
<div>
<span class="label">Battery</span>
<span class="value">?</span>
<span class="unit">°C</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="v.c.temp" data-prec="1">
<div class="progress-bar progress-bar-warning value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-10" aria-valuemax="40" style="width:0%">
<div>
<span class="label">Charger</span>
<span class="value">?</span>
<span class="unit">°C</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="v.c.12v.temp" data-prec="1">
<div class="progress-bar progress-bar-warning value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-10" aria-valuemax="40" style="width:0%">
<div>
<span class="label">DC/DC-Converter</span>
<span class="value">?</span>
<span class="unit">°C</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="v.i.temp" data-prec="1">
<div class="progress-bar progress-bar-warning value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-10" aria-valuemax="40" style="width:0%">
<div>
<span class="label">Inverter</span>
<span class="value">?</span>
<span class="unit">°C</span>
</div>
</div>
</div>
<div class="metric progress" data-metric="v.m.temp" data-prec="1">
<div class="progress-bar progress-bar-warning value-low text-left" role="progressbar"
aria-valuenow="0" aria-valuemin="-10" aria-valuemax="40" style="width:0%">
<div>
<span class="label">Motor</span>
<span class="value">?</span>
<span class="unit">°C</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Custom Data Logs
SOC Monitoring Log
The SOC monitoring log provides detailed data about the correlations and connections between the various SOCs, voltage level & energy/coulomb charge/discharge amounts.
You need to enable this log explicitly by configuring a storage time via
config param xvu log.socmon.storetime
(in days). Set to 0/empty to
disable the log. Already stored log entries will be kept on the server
until expiry or manual deletion.
Log entries are created on SOC changes while charging and every 10 seconds while driving.
Notification subtype:
xvu.log.socmon
History record type:
XVU-LOG-SOCMon
Format: CSV
Archive time: config
xvu log.socmon.storetime
(days, 0=off)Fields/columns:
temp – battery temperature [°C]
charging – 0/1
soc_abs_bms – absolute SOC from BMS (ECU 8C PID 028C) [%]
soc_abs_eng – absolute SOC from engine (ECU 01 PID F45B) [%]
soc_norm_cmg – normalized user SOC from charge manager (ECU BD PID 1DD0) [%]
soc_norm_eng – normalized user SOC from engine (ECU 01 PID 1164) [%]
soc_norm – previously selected soc_norm_eng while driving, now always soc_norm_cmg [%]
voltage – momentary total battery voltage [V]
current – momentary battery current, negative = charging [A]
soh – state of health, sourced as configured [%]
cac – battery capacity, sourced as configured [Ah]
energy_used – total car energy discharge counter [kWh]
energy_recd – total car energy charge counter [kWh]
coulomb_used – total car coulomb discharge counter [Ah]
coulomb_recd – total car coulomb charge counter [Ah]
pack_vavg – average cell voltage [V]
pack_vmin – minimum cell voltage [V]
pack_vmax – maximum cell voltage [V]
pack_vstddev – cell voltage standard deviation [V]
pack_vgrad – cell voltage series quality (gradient)
energy_range – remaining usable energy from MDF range estimation (ECU 17 PID 22E4) [kWh]