20 posts / 0 new
Last post
Minimising key-off power consumption

The key-off power draw of the module is insane. I'm dealing with a couple of upset vehicle techs who point out that anything over 10mA total parastic draw is regarded as manifestly excessive and ideally they'd like to see it under 1mA

I can think of a number of strategies to achieve this when the vehicle is powered down (key-off), whilst still monitoring 12V function, etc

The single biggest power saving would be to power down wifi and 4G, only activating them periodically to poll/upload data (if required) - yes I realise this poses problems for remote access but depleting a 30Ah AGM battery in 3-5 days is excessive and potentially expensive (I've already destroyed one lead-acid battery through over-discharge)

Even with the existing "power off radios if battery gets low or X time has passed" approach, I'm still seeing the 12V get dragged down to levels where the replacement lithium 12V battery I fitted is switching off (10.2V) - and that's despite the module being set to go into "safe" mode at 12.0V (about 20% capacity)

Obviously the issue needs discussion. Apart from the battery issue*, this has corrupted the internal flash on my unit  twice already**

* lithium jump packs make life easier but having to get at the battery is still awkward

** The only solution is to reinstall the firmware and format the partition. I'd originally thought it was the SD being corrupted but the issue persisted when it was removed


I'm aware that code space is tight, but this should be lightweight to fix up



dexter's picture
Minimising key-off power consumption

See docs update: https://docs.openvehicles.com/en/latest/userguide/warnings.html#average-power-usage

With all features enabled, this adds up to:

  • ~ 25 Wh or 2 Ah / day
  • ~ 173 Wh or 14 Ah / week
  • ~ 754 Wh or 63 Ah / month

Power usage substantially above these levels as seen by you is probably due to the vehicle being woken up. That may or may not be due to the OVMS (polling), depending on the actual vehicle. I suggest checking the actual vehicle adaption for this.

I've recently added the "module sleep" command to enable scheduled / scripted deep sleep periods. But there is no way to achieve less than 1 mA, the current OVMS hardware is not capable of going below 10 mA, 15 mA with the active GPS antenna attached. To fix that, a new hardware design is necessary.

I suggest you get in contact with Patrick Stein on the developer mailing list (see recent threads in the archive) to collaborate on this. Patrick also has a car that doesn't charge the 12V battery by itself, and works on optimizing the power consumption & sleep modes.


"~ 25 Wh or 2 Ah / day"

"~ 25 Wh or 2 Ah / day"

The average lead-acid EV 12V battery is ~30Ah - which you might think would give you 15 days idle time

HOWEVER, depleting a lead-acid battery below 80% is strongly _not recommended_ and going below 20% damages them.

The result is that leaving a car idle for a week is unwise and doing it a few times will kill the battery. That's what happened to mine

ESP32 has a number of low power modes which will drop consumption but still allow it to be woken up quickly. If the current hardware is limited to 10mA then that's still better than the 80-100mA my logger showed - however it clearly needs some work. The last thing needed is for OVMS to be the cause of 12V battery failures

Bear in mind that very few cars have periodic DC-DC wakeup when "off" to maintain the 12V battery although that may change in the future. That said, it _may_ be possible to activate a charging wakeup on some cars with additional external circuitry


dexter's picture
Minimising key-off power consumption

It's actually vice versa, very few cars do not charge the 12V battery automatically. Even the Twizy does that. The only exception I know of is the BMW i3. As an EV drive train needs to incorporate a DC/DC converter anyway, there is little reason to not use that for trickle charging the auxiliary battery.

Still the average consumption should and can be lowered, and you're of course welcome to work on this.

What any user can do: disable unused components, only enable components temporarily as needed, schedule automatic sleep periods.

This can be done by scripting and the power management module. A plugin could be created to help managing the scripts and configs.


I found this in the SIM7600

I found this in the SIM7600 docs

"Depending on if an GNSS antenna with or without low noise amplifier (active/passive antenna) are used, the AT+CVAUXV and AT+CVAUXS command can be used to adjust if the antenna power supply of 3 VDC should be enabled or disabled on the GNSS antenna connector."

Worth looking at?


dexter's picture
Minimising key-off power consumption

Nice find. Yes, that would be worth looking at when designing the next hardware version.

The current modem board unfortunately incorporates the standard hardware design recommendation by SIMCom for an active GPS antenna, which – for unknown reasons – does not use or even suggest evaluating the voltage output (@Mark: pin 44) that's controlled by that command… :-/


"The current modem board

"The current modem board unfortunately incorporates the standard hardware design recommendation by SIMCom for an active GPS antenna,"

Reading the 1.02 hardware design manual, Page 45: The first paragraph under the circuit (Fig34) recommends using LDO/DCDC for the Vdd source (2.85v, 150mA max. Table 5 says it can be adjuisted from 1.7-3.05V via AT commands)

The pin itself is covered in section 3.13.3 of the spec 

Judging from the Fig34 circuit and the other stuff, I think R5 can be tombstoned and a kynar jumper run off it to pin 44 in order to test things

Crosschecking the diagrams, I think feeding the GNSS antenna from Vbat is a bad idea, given the reference circuit shows Vdd via 10R and may shorten the lifespan of the active antenna (internal regulator or LNA damage) in addition to raising its power consumption significantly

dexter's picture
If setting the voltage does

If setting the voltage does no harm to an unchanged module, we can generally add the voltage control commands to the GPS activation & shutdown functions.

Not sure if this is relevant.

Not sure if this is relevant... I have a 2015 Leaf SL, so it has the little solar panel above the rear window. I've had my OVMS installed for a few years and it didn't seem to affect the battery (though I did replace the 12v battery after 7 years). I did have a similar problem with my wife's Subaru Crosstrek ICE vehicle where it would run the battery down if sitting for a few weeks. Tried turning off all the wake-up settings but didn't help - finally ended up putting a small (8"x8") solar panel at the bottom centre of the windshield with a connector to the OBD port and haven't had a problem with it since! Not sure if it's useful but hope my story helps somewhat.

I have the 2015 Leaf SV so

I have the 2015 Leaf SV so don't have the little solar panel. Good job getting your original battery to 7 years - mine lasted until 2019.

Could you detail, perhaps with pics, your setup for the Subaru, including how you connected the panbel to the OBD port? I'd like to give it a shot on my Leaf.



Use on Subaru

Hello!  Are you using this device with your Subaru crosstrek? I don't have an EV but was wanting to experiment a bit with my Subaru legacy and this device. But I wanted to make sure it would function first. 

Yes! I have had it installed

Yes! I have had it installed on my 2014 XV Crosstrek for a year now, working fine and zero issues even after it was parked for weeks (this winter we went to -27 C overnight!). And it starts fine every time we finally need to drive it. 

Offsetting key-off power consumption with a solar panel

I really think the solar panel helped with the original battery life – till the day my wife went to start the Leaf and got a few dash lights lit, but it would not run! Haha, new 12v battery was all it needed.

For my ICE vehicle that had a battery discharge problem when parked for more than a couple of weeks I purchased a small Eco-Worthy 5W solar panel from Amazon (something with decent reviews) because I wanted something small to fit in the windshield without obscuring my view and I didn’t want to overcharge the battery with a higher wattage panel, just wanted to keep it from slowly discharging…

(This panel also prevents reverse discharging which is important as I leave it connected 24/7 even when driving).
re: https://www.amazon.ca/ECO-WORTHY-Portable-Battery-Charger-Batteries/dp/B015ZGDYII/ref=sr_1_5?crid=31CG1KIVN6VWL&keywords=eco-worthy%2B5%2Bwatt&qid=1673731062&sprefix=eco-worthy%2B5%2Bwat%2Caps%2C160&sr=8-5&th=1

You can’t just plug it into the cigarette socket, as that usually has no power when the vehicle is turned off and parked. I opted to go with an OBD connector as that way I didn’t have to mess with the car wiring or run a wire all the way to the battery. The OBD connection is always live, so the battery is always getting a bit of a trickle charge.

I found this one – maybe not the best choice but it works: “Qiilu 12V Car Battery Testing Tool OBD2 OBDII Connector Memory Saver” on Amazon here:


It did require slight modification… I cut one of the solar panel accessory cables for the connector and soldered it to the OBD connector wires so I could easily plug the OBD connector into the solar panel (be careful to get the polarity correct). This OBD connector also has a silly buzzer/alarm to let you know that it is connected to the battery – I dis-assembled the OBD connecter and just snipped the little buzzer wire so it no longer makes any noise!

The panel sits nicely behind my Garmin GPS and is barely noticeable when driving, I elected to run the cables as neatly as possible down the front of the dash, they are secure and out of the way. Hope this helps!

What a detailed and fantastic

What a detailed and fantastic post. Thanks!


I'm pleasantly surprised that

I'm pleasantly surprised that that panel worked, but I guess if you're only needing to offset ~75mA (this is what I'm metering my OVMS unit at on the bench with gps disconnected, WAP disabled and no webserver activity) then you can live with the usual "your milage may vary" issues from full power rating on panels (they're quoted at midday full shine on the equator, sunshine where you are will have an irradiance factor multiplied by the cosine of your latitude)

I had been considering fitting an external "stick on" panel on the roof as I need to pull the antenna to deal with a leak and it'd give an opportunity to make changes

FWIW, on the bench, using a 18Ah LiFePo4 battery (capacity verified), it took 4 days at the above draw to go from fully charged "rest" voltage (13.6V) to the 12.95 point (start of the knee - 40% discharge)

Michael: how much of the low power mode could be treiggered by battery voltage coming below 13.5V? (ie, unit not charging, therefore car is off - I know that's a potentially bad assumption if the DC-DC converter is broken but it might be a good first approximation

WRT GPS power - I have a SMD rework station. if the circuit changes aren't too hideous (and exposed on the outer foils) then I couild attempt them


dexter's picture
Minimising key-off power consumption

The "module sleep" command does a shutdown for all components and then enters deep sleep for the ESP32. That's the lowest you can get in terms of power consumption.

For finer granularity, check out the power management settings. I also have just added new commands to start & stop the GPS channel manually (see "cellular gps"). These switch on/off the GPS receiver (but not the antenna of course). By switching off GPS when you don't need it you'll gain ~ 270 mW.

If normally running with Wifi AP mode, switching that off gains ~ 300 mW. That's done by the "wifi mode" command. Switching Wifi completely off is more or less pointless, but can be done also by "wifi mode off" or "power wifi off".

If you power down the modem altogether, e.g. while parking within Wifi range, that will give you ~ 100 mW without GPS or ~ 370 mW with GPS. That's done by "power cellular …".

And don't forget to power off the ext12v line, if you've got some device powered from there.

For all other "power" controllable units, switching them off or to a sleep mode doesn't currently have any effect on the actual power consumption.

Regarding GPS antenna power: if you've got an SMD rework station, you're more into electronics than me. Circuit schemes and PCB layouts are in the repository, go ahead.


"And don't forget to power

"And don't forget to power off the ext12v line, if you've got some device powered from there."

I have this setting enabled, but it's not working on my Trio (The Bluetooth ODBMX device is powered from there using passthrough on can1 from the diag connector, with a separate ODB cable attached to CAN3 for planned HUD use - longer term I'm planning on feeding from the CAN lines in the car audio quadlock (fitting an android headunit and it's part of the adoaptor jig)


now running -263 

now running -263 

WAP mode draw is why I switched that mode off. It's ~90mA with that enabled

Switching off cellular and GPS drops consumption about 18-20mA (no GPS patch installed)

An intermediate sleep mode would be useful (these are available in the ESP32), where the unit wakes up periodically, powers up the sensors and modems to report as well as checking for incoming connections, then goes back to sleep (these can be part of the sleep/wake sequence that ESP32 allows for) - This is the kind of thing that's useful in key-off mode as it allows keeping an eye on location and battery state without imposing excessive parasitic draw and gives a sleep mode without requiring rebooting to recover

Having a "toggle" mode on Wifi/cellular would be useful too - ie, if a wifi connection is established, turn the cellular modem off (or don't bother turning it on), along with dropping the wifi scan rate to the lowest speed supported


jollyjinx's picture


I myself am using an OVMS module in a BMW i3 which has the problem of not charging the 12v battery when asleep. 

As I've written on the developer mailing list, I've added changes to OVMS to improve the calibration in the 11-13 volt range as well as added additional code to the idf kernel to even check for the voltage before the second core of the processor is booted and then keep on sleeping immediatly there for another 30 seconds.

Those changes are working fine for me, but the module itself was drawing between 190mW and 240mW (module variation) with those changes when asleep. So the battery would drain around 0.1-0.2 Volts in 12 hours. That was way too much for my liking still.

I thought about adding a transistor and cutting power supply to the GPS and LTE module, but my final solution was way easier:

A null-power cable

I just soldered a db9 1-1 cable with just the power left out and I'm using the USB power of my car to power on the module. You need only 5 wires to connect ( can1 hi/low , can2 hi/low and ground ). Once that was working I changed the original obd cable. So in case you are in the Munich area I could give you such a null-power cable.

Luckily my car keeps the usb and 12v outlets on for about a minute when I park the car, so it just works perfektly in three cars ever since.

I never created a former pull request for my changes as I only hacked it together to see if if would change the power draw. For reference the changes are on my github.com/jollyjinx page.

GPS antenna power now running

GPS antenna power now running from pin 44.  AT+CVAUXS=[0|1] definitely has a small effect (5-8mA) when GPS is disabled

Module sleep is down to 38mA. it takes about 30 seconds to get there after the command is issued

When the car is quiescent (off) there really doesn't need to be much activity

IOT guidelines for the ESP32 have a bunch of suggestions for minimising power consumption, including using timed sleep modes and switching off wifi most of the time (only waking up to catch and respond to beacons).

If the unit uses coming off-charge as a way of going to lower power mode and only wakes up once canbus activity or commands are detected this would probably solve the issue of it keeping other canbus equipment awake too


Log in or register to post comments