ZS-042 DS3231 RTC module

SpoodleMix:
If you are wondering if I will ever get to the point (solution), here it is. The diode is in backwards. That is it.

The diode's only function is to block charging of the CR2032 from power off of VCC, not provide a charging circuit. The resistor is a current limiting resistor intended to take the load off of the diode.
The battery should provide power to VCC to keep the RTC running in case of a power failure. This is a one way job from the battery to VCC. The way the board is shipped from China, makes a power path from VCC to the battery, not the other way around.
If you reverse the diode, you will have full functionality of the RTC, including battery backup. Only problem is that the power LED will drain the battery quickly. If you want to remove or cut anything, reverse the diode and then remove the LED so your battery will last longer when the system power is off. Remember, just because someone manufactured it, it does not make it correct. This board is both a bad design along with bad manufacturing. But does work if you fix it.

I agree with the above explanation of SpoodleMix.
Someone thinks, I will be smart and has changed it without enough knowledge of electronics and batteries.
He thinks...., if the battery is empty, I lost the time setting.
Okay, I will use an LR2032 (chargeable battery) connect it to Vcc by a diode and resistor and it will be charged all the time.....
(As you can read in story of MrAl, that kind of battery needs an special charging circuit and not this simple one...)
Based on this thought before, the print layout was changed but still the wrong battery CR2032 (not chargeable) will be delivered.....) After a time, it explodes....

Read this also; http://woodsgood.ca/projects/2014/10/21/the-right-rtc-battery/

THE BATTERY CR2032 SHOULD ONLY BE CONNECTED TO Vbat OF THE DS3231 AND NOTHING ELSE!

The correct solution is; (1000% SURE)

Connect battery CR2032 directly to Vbat of DS3231, remove diode and/or resistor and problem is solved.
Power consumption of DS3231 is very low so the time will run well for many years.

Melancho:
The correct solution is; (1000% SURE)

Connect battery CR2032 directly to Vbat of DS3231, remove diode and/or resistor and problem is solved.
Power consumption of DS3231 is very low so the time will run well for many years.

That is not what Spoodlemix suggested. He / she stated that the battery should feed the Vcc via a diode, not Vbat.

By the way, the battery is already directly connected to Vbat.

2 Likes

Disclaimer "I am a newbie" but I was concerned about this very issue as I ordered a RTC and it said lir2032 but came with a CR2032. I checked with a volt meter and there is about 4.75V @ 20 ma going to the battery. I looked at one spec sheet for the LIR2032 and it says
"Constant Charging Method Constant voltage 4.20V Constant current:17mA"
So my question is is 4.75 @ 20 ma close enough?
is 4.75 @ 20 ma bad for a non rechargeable battery?

Also the voltage is going to one pin on an ic when the main power is cut .. even before the diode stops it so I would venture to say the clock will keep its time from the battery when main power is out as it should.

Comm64:
is 4.75 @ 20 ma bad for a non rechargeable battery?

Quite sure it is; see opening post and reply @. Charge at your own risk.

Comm64:
Also the voltage is going to one pin on an ic when the main power is cut .. even before the diode stops it so I would venture to say the clock will keep its time from the battery when main power is out as it should.

Correct.

Glad to see that this thread is still alive, as I had a clarification question.

Reading through the above responses, people seem to have mixed opinions about 5V power and an LIR2032 battery. Currently, my DS3231 is connected to the 3.3V, but I've noticed that after leaving it powered for a few days, the LIR2032 has no charge. As soon as the RTC module is unplugged, the battery does nothing and it's dead.

Is there anyone that can give me a definitive answer as to whether it is safe to charge the LIR2032 using the 5V power supply? Because if I can't charge it using that, and I can't charge it using the 3.3V, then I don't really know any other way to charge it...

Thanks!

I can't answer that; I'm planning to use the non-rechargeable CR2032 and modify the circuit.

Do you really need a rechargeable battery? The battery will only power the RTC chip if it is not powered from Vcc. So I suspect a CR2032 to last a very long time in a permanently powered setup.

I guess I don't need a rechargeable battery. The thing is, I need the RTC for an LED setup, and the whole thing is unplugged every night. How many nights does a non-rechargeable battery last for?

My other issue is I'm not really comfortable enough with electronics to mess around with the RTC module itself. I'm just afraid of screwing it up.

With my interpretation of the RTC spec: If powered down, the RTC draws 3 uA from the battery. The battery can deliver 210mAh; that would give 210mAh / 3uA = 70000 hours.

Found a post somewhere on the web: http://forum.allaboutcircuits.com/threads/rtc-battery-backup.80592/#post-572321; states 5 to 10 years and matches more or less my interpretation / calculation.

Jeez, some have the info right, others claim dangerous BS.

The "charging circuit" is really evil. The battery is otherwise connected correctly.
See the schematics here:

Remove the 1N4148 and/or the 200R resistor and everything is fine.

I also removed the power LED as I use the RTC for a DIY clock. Works great this way with 3.3V supply.
(click for bigger image)

Koepi:
Jeez, some have the info right, others claim dangerous BS.

The "charging circuit" is really evil. The battery is otherwise connected correctly.
See the schematics here:

Remove the 1N4148 and/or the 200R resistor and everything is fine.

I also removed the power LED as I use the RTC for a DIY clock. Works great this way with 3.3V supply.
(click for bigger image)

So... Dumb question... How do I remove the battery that I currently have in the module? I've got an LIR2032 in there and it's a pretty tight fit, not really much room for me to stick something underneath to pry it out. Also, the battery should go in with the negative terminal facing down and positive facing up, is that correct?

EDIT: So I figured out how to remove the LIR2032 and replaced it with a CR2032 I bought on amazon... The LED did not light up. I'm assuming that the LED should be lit when it is powered via the battery, and I probably ended up with a bad batch of batteries...?

I'm assuming that the LED should be lit when it is powered via the battery, and I probably ended up with a bad batch of batteries...?

Your assumption is incorrect! As mentioned in a previous post the purpose of the battery is to keep the internal timekeeping functions running when the power is removed from the module.

Don

joshjayk:
EDIT: So I figured out how to remove the LIR2032 and replaced it with a CR2032 I bought on amazon... The LED did not light up. I'm assuming that the LED should be lit when it is powered via the battery, and I probably ended up with a bad batch of batteries...?

Ah, you want the battery to only last 210mAh / (e.g.) 10mA equals 21 hours :smiley:

floresta:
Your assumption is incorrect! As mentioned in a previous post the purpose of the battery is to keep the internal timekeeping functions running when the power is removed from the module.

Don

Yeah I realized it was still working without the LED lit!

sterretje:
Ah, you want the battery to only last 210mAh / (e.g.) 10mA equals 21 hours :smiley:

What do you mean? You mean the batteries I got from Amazon are bad?

No, if the battery would power the LED as well, it will have a very short life.

Many interesting comments here on the ZS-042 RTC module. For the most part, this is a great module and very reasonably priced. I was asked to address an issue with this RTC for a high school science project.
These issues are common with most ZS-042 modules.

Battery swells up after a few days of use. This is true for the LIR2032 and the CR2032 when the module
is supplied with 5V. If supplied with 3.3V, the LIR2032 will not receive a charge due to low voltage and the CR2032 still receives over voltage to its terminals. This excess voltage is coming from the DS3231 IC.

As stated many times in previous posts, the charging circuit on this module is very poorly designed and should
be disabled by removing either the diode or resistor in the charging path. The LIR2032 should be replaced with a CR2032. Swelled CR2032's must be replaced before case failure occurs.

After this, one problem still remains. If you look at the voltage on the CR2032, when connected to 5V or 3.3V
supply, it will have about 3.3 volts at the terminals. This is not good for the CR2032 and should be addressed.
If you supply 3.3V to the RTC module through a simple diode, the voltage will be reduced to about 2.75V. This
is within spec for the DS3231 and will prevent excess voltage going to the CR2032 battery. Not all modules have this problem but most do.

These changes have been made to dozens of projects without issue. The school continues to purchase this module for their labs and makes the simple changes before distribution to the students.

These design flawed ZS-042 modules are now selling on eBay from sellers in China for as little as $0.75USD, including shipping charges to USA.

All that's needed to fix these is just to remove the 200 ohm surface mounted resistor marked '201'.

I did confirm what robertew was saying about excessive voltage on the coin cell, but couldn't confirm what he said about higher voltages on the coin cell after disabling the charging circuit. I measured cell voltages both before and after removing the charging resistor.

Before:
Vcc CR2032
0.0v 3.18v - -
3.3v 3.22v
5.0v 3.34v

After:
Vcc CR2032
0.0v 3.18v
3.3v 3.18v
5.0v 3.18v

I also tested the modules I2C serial on both 5.0v and 3.3v Arduinos. Both Arduinos tested good with modules Vcc pin powered by either 5.0v or 3.3v. >>> Warning: 3.3v Arduino board processor input pins may be damaged by connecting them to 5v powered sensors. So, supply the DS3231's module's Vcc with a supply voltage consistent with the Arduino processor's supply voltage. <<<

Hi. I read the previous posts on the ZS-042 RTC board. New here but experienced with electronics.

First off, if you have a CR2032 (non-rechargeable!), by all means, don't put it to work with the board as is. REMOVE the diode or the "201" resistor first, or cut the copper trace between those two. This will ensure the battery won't try to charge and possibly explode.

If you have the LIR2032 (rechargeable) or want to use one, read on...

My experience:
My board came with a LIR2032 rechargeable battery and I've been using it for several months now without any problems. No swelling or such. Also, the battery works great in supporting the DS3231 IC's timekeeping whenever external supply is removed.

My suggestion:
If you have the LIR2032 rechargeable battery on, just leave the ZS-042 board alone. The already installed 1N4148 diode drops the 5V voltage to 4.3V and that is around the maximum voltage your rechargeable battery will ever get (and can take) while charging, plus the 200 ohm series resistor makes sure the charging current is very low.

[ I=(4.3-Vb)/200 (Amps), where Vb is the voltage between the battery poles; will go up to 4.2 V as batt becomes fully charged.]

P.S. If you are the kind of people that want to be extra safe, and feel comfortable and experienced with electronics, you can try connecting a low forward voltage diode (schottky would do) in series with the already installed diode. That will drop the charging voltage around 0.2 V further down. The battery will now end-charge to a less-than-full condition, but will still be fine for keeping the RTC ticking during mains power failures.

My experience:
My board came with a LIR2032 rechargeable battery and I've been using it for several months now without any problems. No swelling or such. Also, the battery works great in supporting the DS3231 IC's timekeeping whenever external supply is removed.

My experience is exactly the same.

Don

The on-board diode should drop about 0.7V so the battery is charged up to 4.3V when the board is powered by 5V. This is a little high and could be dangerous when your 5V supply is actually slightly above the nominal value.

One solution is to power the module's VCC pin from your 5V through a diode. With that external diode plus the one already on the module it drops the charging voltage down to 3.6V. This is not enough to fully charge the battery, but it will charge it enough for normal use.

All this only applies to the LIR2032 rechargeable battery. If your module has CR2032 that is a non-rechargeable battery and recharging it at any voltage is dangerous. If you have a CR2032 then it's better to remove the '201' resistor on the board, or cut the track that leads to it.

Manufacture fault!!....
Just noticed my ZS-042 RTC wouldnt respond to I2C .. after usual debug stuff, I started closely inspecting PCB..
Found lifted SDA PIN!!!

ZS-042_DS3231_fault.jpg