Tag Archives: DS3231

Using the ZS-042 module

February 27, 2020

The ZS-042 module is a very cheap DS3231 breakout board. Common on eBay and  Amazon units can be had for less than a dollar. It is a bonus that the module comes with a 4K eprom as well.  In my experience these units work well as a clock but damage the LIRC2032 battery that it is supposed to keep charged.  I used one with the charger enabled for about a month and found the LIRC2032 had swollen and would not take a charge. So to use these ZS-042s the charging circuit needs to be disabled and a standard CR2032 battery  used instead.

There are a lot of discussions on the net about this module. The best discussions can be found at the Arduino forum, the Cave Perl Project and One Transistor . All three sites discuss the charging circuit issue but the Cave Perl Project offers advice on how to make the board more power efficient. One Transistor gives a detailed explanation as to why the charging circuit is a problem on this board.

Basically — the built in battery charging circuit has a good chance of destroying LIRC2302’s because the voltage must be kept at a specific level to charge them. The charging circuit on the ZS-042 is not up to the task for this.

Certainly a standard CR2302 can not be used on an unmodified ZS-042. A non rechargeable battery should not be charged, at any voltage.

As far as I am concerned — the charging circuit must be disabled on this board. I don’t have confidence that I will be able to keep the supply voltage at just the right voltage to charge the battery correctly. Plus trickle charging a LIR2302 continuously  is not recommended (see the links for more info).

Removing the charging circuit also has the benefit of allowing us to run the RTC at 3.3 volts. You have to have 5 volts to charge, but the DS3231 has a very wide voltage range.

32k 
SQW 
SCL 
SDA 
vcc 
GND 
SCL 
N.C 
SDA 
N.C 
vcc 
N.C 
GND 
N.C 
ZS-042 Module 
Jumper 
4X4 7k 
4X4 7k 
GND 
IOOnF 
vcc 
SCL 
SD 
24C32 
16 
SCL 
15 
SDA 
N.C. 
N.C. 
N.C. 
N.C. 
> 
DS3231 
INT/SQW 
32kHz 
14 
V bat 
12 
11 
10 
200 
IN4148 
2032 
IOOnF 
1k 
POWER

To disable the charging circuit remove  the 1N4148 diode, 200 ohm resistor or both from the board. About two minutes work with a soldering iron. Easy to follow instructions can be found here:

https://www.onetransistor.eu/2019/07/zs042-ds3231-battery-charging-circuit.html

If removing a SMD from your board seems daunting this Youtube video shows you all about it in less than two minutes –> How to Remove SMD Resistors & Capacitors Using a Regular Soldering Iron

A modified board looks like this:

With a simple mod these dirt cheap and highly available modules can be used in all our projects.

Datasheets: