Waveshare's DS1302 RTC board weird outputs on Arduino's Serial Monitor

I have a DS1302 RTC board (Waveshare) connected to an Arduino uno.

I’m printing time to Arduino’s Serial Monitor but I get weird numbers/characters, and after 2-4 seconds it stops printing.


Vcc → 5v


I/O (MISO) → Pin 12

SCLK → Pin 13

CE (CS) → Pin 10

Library used: VirtuabotixRTC library.

Things I’ve tried so far:

I tried a second DS1302 RTC board.

I tried a different Arduino board.

I tried changing the jumper wires.

I tried different baud rates.

I recently saw a youtube tutorial which had the same issue and solved it with a series 1k resistor between I/O pin and Arduino’s input pin. I did the same, I tested different resistor values but I still have the problem.


#include <virtuabotixRTC.h>

virtuabotixRTC myRTC(7,8,9);

void setup() {

  //  myRTC.setDS1302Time(30,30,5,5,5,5,2020);

void loop() {

I’m fairly convinced it has to do with the I/O pin resistor (or other DS1302 pin), but I haven’t managed to solve it. Any insight welcomed.

from this page is looks like the library needs to be told which pins are being used. are the pins 7, 8 and 9 or 13, 12 and 10?

The code is from a previous trial. I've tested various pins, (7,8,9) and (13,12,10) as well

where does your code specify the pins you say you're using (11, 12, 13) to the library?

virtuabotixRTC myRTC(7,8,9);

7,8,9 != 11,12,13 ???

Again: it's a PREVIOUS screenshot. Everything is set up correctly. In the mean time I realized that the weird Serial printing is a general problem. Something else is wrong, is not the DS1302. I have to dig further.