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:

../../../_images/1441200-3.jpeg ../../../_images/DSC00369_1024.JPG

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):

../../../_images/location.png ../../../_images/OCU.jpg ../../../_images/grinded_ribbon.png ../../../_images/fakra_sma.png ../../../_images/T26a-Pins.jpg

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:

  1. Variant 1 connects to the Comfort CAN using the OCU T26A connector.

  2. 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:

../../../_images/DSC00373_1024.JPG

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:

  1. The OCU remains untouched and can be switched on/off as needed (fuse SD1)

  2. No need to unmount the passenger seat

  3. 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:

../../../_images/IMG_8250.JPG

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).

../../../_images/IMG_8255.JPG ../../../_images/IMG_8260.JPG

Step 3: Lay the cable towards the fuse box & OBD2 port on the left:

../../../_images/IMG_8265.JPG

Step 4: Use velcro tape to mount the OVMS on the side wall:

../../../_images/IMG_8270.JPG

Step 5: Stick the GPS antenna e.g. onto the air vent pipe. To disable the OCU, unplug fuse SD1:

../../../_images/IMG_8280.JPG

Step 6: Stick the GSM antenna e.g. on the lower panel’s rear side:

../../../_images/IMG_8285.JPG

Finally: Refit all panels:

../../../_images/IMG_8275.JPG

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”:

../../../_images/Features1.png

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)

VW e-Up via OBD2

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:

../../../_images/Charging_Metrics.png ../../../_images/Custom_Metrics.png

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:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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]