Sonoff SNZB-02: improving battery longevity for outdoor operation

The Itead company puts CR2450 lithium coin batteries in their Sonoff Zigbee devices.
Even though the CR2450 batteries have greater power capacity than the CR2032, I’ve found that the batteries can’t hold a full charge for a full week in temperatures hovering around 0F. The cold makes the battery Voltage decrease and that causes Sonoff devices to go offline, or malfunction, as they presumably reboot, over and over.

With outdoor temperatures hovering around 0F degrees, my outdoor SNZB-02 battery Voltage was sagging. Somewhere below 50%, the sensor goes offline.
Temperature vs Voltage SNZB-02
So, last Friday night, I changed the CR2450 battery and the sensor was back up full Voltage.
battery graph after change 2-6-2021
That 100% Voltage didn’t even last a full week, outside.
By Friday (yesterday), I noticed that the battery Voltage was already down at 80%.
By Saturday morning (today) Voltage was down to 78%.
Sonoff SNZB-02 battery after 1 week in cold 2-13-2021
Now, I’m trying a modification experiment to try and give some deeper battery reserves.
I looked through my electronics parts boxes and found a plastic project box from an abandoned project. I paired that with a twin AA battery holder (1.5V + 1.5V = 3V) to get a more robust 3V power source. With the AA battery holder soldered to the SNZB-02 circuit board’s battery terminals, I put everything back together and put it outside.

As expected, the battery Voltage is back to 100% (3.2V) again.
I’ll monitor how long the AA batteries can stay up at 100%.
The next step may be to try lithium AA batteries.
I think this same AA battery upgrade would allow the Sonoff SNZB-03 motion sensor function outdoors.


Update. After 1 week outside during the Feb.2021 Polar Vortex, that wreaked havoc from MN to TX, there were no device dropouts or loss of data. The “heavy duty” zinc chloride AA batteries continue to show 100%.
Sonoff SNZB-02 AA batts after 1 week in cold 2-20-2021
I had a few Harbor Freight “heavy duty” zinc chloride AA batteries on hand, so that’s what I put in this first round of testing.

1 Like

Hey, how did this experiment stand the test of time?

With the same batteries I installed in February 2021, it’s still sending regular reports and still showing 3.2V Battery Voltage!
Those AA batteries have now seen outdoor temperatures ranging from -20F to +100F!

1 Like

Thanks for posting this project; I’m now replicating the same thing to monitor my deep freeze temperature / throw alerts if it gets too warm.

Thanks, for sharing.
18650 batteries are rated for 3.7V, do you think this will work or it will damage the sensor?

The 2 chips inside the SNZB-02 are the Texas Instruments CC2530 Zigbee chip and (most likely) the Texas Instruments HDC2080 temperature sensor. Both can be operated up to 3.9V, according to the data sheets.
Sonoff SNZB-02 CC2530 Voltage specs

As an update, it has almost been about 11 months since I made the modification and the same pair of AA batteries are still in my outdoor temp sensor!
Sonoff SNZB-02 AA battery 1-29-2022

Note, how the temperature correlates to the battery Voltage.
Sonoff SNZB-02 temperature 1-29-2022

1 Like

I know this is a bit old, but I have seen some manufacturers warn against using the 18650 to replace 2x1.5V or a 3v button.

The makers of the Cricket board say don’t - I think their unit can handle 3.7v, but they warn that a freshly charged 18650 can sit at 4V, or go to 4V if charged in-situ… and that brings out magic smoke. Maybe a suitable voltage regulator might help.

Just a hint… Anybody wants to build a monster… :wink:

  • CR123 battery (3V, ~1500mAh - one piece)
  • Fixed to bottom of the box by a slice of a double side tape
  • The battery holders can be closer to each other, so could fit to the box size/width
  • With some effort any 3D printed cover could be designed to hide/protect the battery

Having inspired by tmas2001, I made this slightly more compact monstrosity for freezer temperature monitoring.

  • The battery holder is just about the same length as the temp sensor
  • holes can be drilled through the chassis very easily
  • battery holder is held to the body with 3M VHB tape

I’ve had the sensor in the freezer for couple of weeks, and so far the battery voltage reported is stable at 3000mV.

1 Like

I wonder if it is feasible to use rechargeable batteries (probably NiMH LSD) with this. I’ve tried to power SNZB-02 from two AAAs (IKEA Ladda 750mAh, made in Japan). According to the data from Zigbee2mqtt log, SNZB has measured 2.6V and estimated just 5 % of battery remaining. One can extrapolate that it isn’t likely to work with 2.4V (21.2V). So, 2NiMH without any voltage regulation will work, it will probably stop working when the battery is about 70 %.

a. Say it is OK and use just about 30 % of battery capacity.
b. Say it is OK and use the rest of the battery capacity elsewhere.
c. Use 2 AAAs with some kind of voltage regulation. Note that you probably don’t want to have a totally stable voltage, as it messes with battery percentage estimate.
d. Use 3 NiMH AAAs. It would need some kind of voltage regulation, too, because the voltage would be too high, especially when the batteries are just freshly charged, let alone when someone accidentally puts primary batteries there.

Interesting topic, I’ve started to get annoyed with my outdoor sensors falling of when it gets cold.
I might try the 2xAAA solution.

Has anyone looked at the possibility of coupling this solution with a buck boost converter to squeeze out some extra juice from the batteries?

Buck booster is theoretically possible (2.6V to 3.0V seems OK), but it will affect the percentage estimate, which makes gut cause the battery to look charged enough and then quickly run out. The effect will depend on the specific battery type (on its discharge curve).

Just my 2c´s here.
Look for LiFePo batteries. Other than the LiIon Batteries the max Voltage is 3,7V when charging ends, the Voltage drops down to around 3,5. They are even much safer in operation.
And even as the LiIon, the LiFePo are available as 18650 and even as 21650 or 32700 (bigger versions). They are even available with soldering strips. Google is your friend :slight_smile:

I’ve been using the cheap Xiaomi_LYWSD03MMC sensor connected to a 1s lipo battery from a quadcopter. Data sheet says max voltage is 3.6v but the lipo has been at 4.15v for quite some time in my refrigerator with no I’ll effects to the sensor.

1 Like

There is this : Ugly and Dirty Hack for snzb-03 - 💬 Lounge - Hubitat

Maybe it works with SNZB-02 too ?

I think there are good reasons why they call it ugly and dirty. It looks like just + and - are wired directly to + and - pins. This implies:

  1. The voltage will be 5V, not just 3V. (See the jokes about battery status…) Electronics have some range of operation, so it might work without any damage, but I don’t want to try it. The sensors are different, and maybe overvoltage can affect the measured values.
  2. Without communication, the device shall consume no more than 100mA. Maybe the peak will be much lower and maybe this is rather theoretical issue, but you are on your own.

By adding some circuits, you can fix both issues.

Yup, voltage is 5v, but 3v battery use doesnt necesserely mean that it cannot hold higher voltage… And you dont really need the battery status anymore :smiley:

Also, just use 3v power supply.

i just came a cross that post when i was trying to find mains connected wireless movement sensor :slight_smile:

I have this sonoff outside to track movement, and here, in winter it might get -20 (or more), and that is not good for batteries :slight_smile:

After 1 year and 11 months, the same AA batteries are still powering the outdoor temp sensor.
They are finally due for replacement.
This was a good experiment as they were the cheap batteries from Harbor Freight, rather than Duracel or Energizer.

I’ve seen some voltage curves of CR2450 batteries. Yes, it can be somewhat over 3V, maybe Lir2450 (not sure if compatible) can be as high as 4.2V when fully charged, but I’d be surprised by 5V.

Sure, you don’t need battery status when you have other source of energy. I just mentioned the joke about 166% of battery, as battery status is typically estimated by its voltage*. So this suggest the voltage to be too high.

*) It might be a bit more complex for devices with higher power consumption, as the voltage can depend on the load. But it is probably not relevant for the sensors.