I built a car remote starter using Electron. The key fob is connected to the digital out of Electron and activates when I post commands (Start, Stop, Lock, Unlock). It also monitors the car battery voltage thru an analog input, monitors the car internal temperature via TMP36 on another analog input and also monitors the physical state of the door lock (locked/unlocked). I control this with an Android app I built. It works great.
The Electron charges whenever the Car is ON and runs on battery when OFF. Now I am trying to find ways to cut the power down on Electron.
The TMP36 is only powered for a second every 15 min to check temperature. What else can I do to reduce power consumption? I think sleep will not work for me as I would like to start my car whenever I want.
Currently, you can DEEP_SLEEP, with a cost of using data every time it wakes. In the new firmware v0.5.0 we will be able to sleep without the 6k handshake.
I can guess you don’t want to sleep much, you want to be able to start your car anytime. Oh, you wrote that above. It only takes 50ma to do this now. In the future, you can cut that to 10ma if you’re willing to wait a minute to start. Perhaps you can implement a sleep button on your phone, that only wakes the Electron once every hour at night. Or 15 minutes. Then you request it to wake in the morning, before you eat and shower. This would cut the power usage by 99%. I am doing something similar.
Since it’s only 50ma. You can use the car battery, or small Lipo, during the day. Program it to sleep at night using the system clock.
Interesting ideas @sbright33. I was planning to put the electron to longer sleep when I go on trips and leave the car at the airport. I will have to do the same at night too. I am also considering connecting it directly to the car battery and disconnecting it thru a MOSFET if the voltage drops below threshold. (Makes me wonder how the manufactures manage to save the car battery if you buy the satellite start/stop option)
For the long sleep scenario, I am contemplating having a passive “stay awake” option. Meaning I have a stay awake toggle in my app, when I enable it, it writes a 1 bit flag somewhere in the cloud. Electron wakes up every few hours and checks for this flag, if it is set it stays awake from then on or goes back to sleep (I know this will cost me data). Where do I write and read the flag easily for this option, Particle cloud, Google drive, Dropbox, etc.?
Finally if we make the cell location to work, that would be awesome.
There are many possible solutions for you. I will get the cell location working. I don’t think you need to measure the car battery voltage. Just do a rough calculation. If you get it down to 10ma, and the battery is 40Ah. You can calculate how many weeks it would last. Divide by 2.
My goal is similar to yours. I will wait until 0.5.0. Then I will create code that wakes up exactly on the hour for 1 minute. Instead of using a cloud I will send a UDP packet from my phone during this time. Then it will stay on and wait for additional commands. How often it wakes is a variable I can change from 10-300 minutes. 1/60 minutes would be about 1ma average. 40 days for 1000mah.
Stay in touch I’m interested in your project! Steve
Good idea. Sleep every night from midnight to 7am, if it wasn’t used late at night. Then power down if it wasn’t used the next day. You can manually start your car after this. It would last forever following these rules.
Watch out for voltage spikes if you get your devices connected to car voltage!
You’d need some heavy filtering or need to detach the system during ignition periode (not too practical with start/stop featured cars tho’).
My idea is to take a line from the fuse box which is connected to the interior dome light (always live). I will also use a 5V USB car plugin regulator circuit to power the electron. I am hoping this combination will keep me safe.
I see your point about disconnecting the battery. We’ve been dealing with these problems and possible scenarios for 50 years. There is nothing new. The solutions are well known. I for one am willing to take the risk of the battery being disconnected while the engine is on. It’s not going to happen. Because it’s a battery the spikes will be short in duration. The most likely damage is from a low voltage brownout while cranking. Perhaps that would be a good time to reboot. Or a small Lipo can be connected thru a resistor. For Load Dump a diode is the answer. A Lipo also works.