Station available

OVMS - Open Vehicle Monitoring System



So what is this Open Vehicle Monitoring System? Let's take a look at Wikipedia:

The Open Vehicle Monitoring System allows a user to connect to the CAN bus in a vehicle so that the user can view and monitor several parameters of vehicle operation, such as state of battery charge for an electric vehicle. The system includes hardware (a board that connects to the vehicle), a server, and mobile device software. Early work on this system was done by enthusiasts of the Tesla Roadster ; the system is also being adapted for use with the Nissan LEAF. OVMS has similarities to Nissan's proprietary CarWings system.



There are several reasaons to prefer an open monitoring system above a propietary system. There are simple reasons, like "I bought an imported car and the SIM card in my Leaf does not work in my country" (so no way to connect to Nissans CarWings system). More concerned reasons, like "CarWings is buggy and can be hacked" (www.troyhunt.com/controlling-vehicle-features-of-nissan/). Or, as in my case, privacy concerns. I simply don't like the idea, that a third party (in this case Nissan) knows where I am and what I'm doing.

OVMS offers me a way on my Leaf to check the charging level of my battery and gives me the posibility to turn climate control on or off with my mobile device (Cyanogenmod, without Google stuff).


First we need the hardware from fasttech.com. OVMS v2.0 was sold out, but you can order v2.5 now. The differnce between the versions is the SIM-Chip. v2 has SIM908, v2.5 SIM808. What is also needed is the special Leaf OBD cable. The Leaf uses the EV CAN Bus which has a different pin layout for the OVMS serial bus:

J1962-M   DB9-F   Signal
4            3          Chassis/Power GND
6            5          CAN-H (alternate CAN)
14          4          CAN-L (alternate CAN)
13          7          CAN-H (primary CAN)
12          2          CAN-L (primary CAN)
16          9          +12V Vehicle Power

You will also need to order the PICT Programmer to put the OVMS Firmware on the OVMS device.

Once you bought the hardware (shipping by fasttech from Hong Kong takes about two weeks to Europe), you can think about the software. You can use an open server or (better for privacy reasons) set up your own server. Once you can connect to a server, you need to connect your OVMS hardware with the server and connect your mobile device app with the server.

And you will need a standard (large) size SIM card with 100 mB data flat per month especially for use in the OVMS device.


First you need flash your OVMS hardware with the firmware. You can use the "official" production hex files (since 01/04/2017 production, with hex files before that date you need experimental) or compile the more up to date code from here. Or you can use my compiled version from that code from the bottom of this page. Once you flashed your OVMS, you can connect the device to the OBD connector of your Leaf:


Now you need to set up communication with your server. There is a great workshop howto for OVMS with the Renault Twizy by M4DM3N:


OK, it is in German, but you will get the picture on the SMS communication. Remember that the vehicle type for the Nissn Leaf is NL (Nissan Leaf) not RT (Renault Twizy). You don't need the "Fahrprofile" stuff ...

Now the OVMS device should communicate with your server. Last thing to do is to connect your smartphone app with your server. Again you can use the official app. I.E. the once from here. At the moment these apk won't run on Cyanogenmod without Google apps. But you can use my selfcompiled version from the bottom of this page. This works without Google apps.

Configuration of the app should be straight forward.

If you want to use the climate control function you need to compile a hex file yourself, use mine or get one from the official github. For the GEN 1 Leaf you need to do some soldering on the OVMS, GEN 2 works without soldering (carrott.org/blog/archives/158-OVMS-Nissan-Leaf-Remote-Climate-Control.html). You can control the heater by the "Home control" buttons in the app. Button 1 means "on". Button 2 means "off". Update: Since 01/2017 you can also use the A/C Button in the app. Also take a look at the settings on climate control in your Leaf. There are two options. Climate control during charging above 85% SOC or above 15% SOC.

To make the climate control work you also need write permissions to the can bus of the Leaf. You can set  "#15 Can write" to 1 in the app under settings -> control -> features or send this SMS to the OVMS:


Note: At the moment (06/04/2016) Climate Control works for me only, when the car is connected to the charging station and is charging. It is not clear, if this is a general problem or only affects me. Work in progress...

Edit 01/26/17:

Climate Control works!!!

Tom has done some  deep research on this issue an posted his results here:


I spent some time with a friend's Gen 2 Nissan Leaf and got to the bottom of why the remote climate control works on some cars and not others.

It turns out that if you have CARWINGS (now called NissanConnect) hardware in your car, the Nissan TCU module sends "Status" (0x4e) and "Idle" (0x86) messages on CAN frame 0x56e. These override the "CC On" (0x4e) message (0x4e) I'm sending with the OVMS and shut the car down.

If you have a TCU module, the solution is to unplug it. I haven't noticed any problems doing this, I unplugged my TCU (on my Gen 1 I had to do this to access the hardware wakeup wiring) about 6 months ago. My friend has been going a few days in his Gen 2 with no problems.

Unplugging isn't terribly difficult on a right hand drive car, you have to remove a panel above the driver's feet and then contort yourself in to press the release latch and pull out the big plug. I didn't bother unplugging the antenna and USB connection to the AV unit, and I coudln't work out how to release the entire module without taking more of the car apart.

So I went straight ahead and unplugged my TCU. And what can I say ... It works!!!!

This makes me a very happy camper as remote climate control the main reason why I startet this whole ONMS stuff.

You can find my howto for left hand drive TCU unplugging here.


Who did (does) all this great stuff? At first, of course the Tesla Roadster enthusiasts at


and then, for all the actual great Leaf coding, Tom Parker


and for the Android app and loads of perfect Twizy coding, "Dexter"


and loads and loads of other great people ...

Update 01/30/17

If you want to use the latest firmware (hex file) it is important to have the OVMS device configured at Module -> Notifications. It can't be "-", otherwise the data transfer won't work properly!

You can check on the Module settings of the OVMS per SMS with the command:


and you can set Module with the SMS command:


where <VehicleID> is the same as in the app.

Update 02/14/17

When you turned on the heater (or A/C) remote, please turn off the heater (or A/C) remote before you start the car!

As the TCU is no more interfering the climate control does not get a "stop heating" signal (after 15 minutes) anymore, when the heater is running on battery. And it is even worst. When you drive off, while the remote heater is still on and when you then arrive and leave the car, the remote heater turns itself back on after a few minutes! I lost twice 10 kWh due to this by now. Luckily without stranding ...

So please always think about turning the remote heater (or A/C) off, before starting the car ...

Update 08/01/17

Tom created a timer for the climate control :-) When the climate control is switched on per app, the airco turns itself of after 10 minutes. Tom also made the temperature display (outside, in the car and battery) more accurate. The new hex files are below. This is a "developer" version, but everything works for me.

Update 11/19/17

The newest "official" firmware has an updated timer for the climate control. I have not compiled them anymore. You can find them here:

My files

Latest - 08/01/17

Firmware for OVMS v2: ovms_908.hex
Firmware for OVMS v2.5: ovms_808.hex
Android App ( ovms300117.apk

Archive - 02/01/17

Firmware for OVMS v2: ovms_908.hex (old version)
Firmware for OVMS v2.5: ovms_808.hex (old version)
Android App ( ovms300117.apk

Archive - 06/04/16

Firmware for OVMS v2: V2_Experimental_Leaf7_v2.hex (old version)
Firmware for OVMS v2.5 (untested): V2_Experimental_Leaf7_v2_5.hex (old version)
Android App: OpenVehicleApp-debug.apk (old version)