Arduino Nano: DS1302 Real Time Clock(RTC) With Visuino




DS1302 Real Time Clock are widely available low cost RTC modules. They come with a clock and a small battery, and when connected to Arduino, can keep track of real time even when the Arduino board is not powered.

In this Instructable, I will show you how easy it is to connect DS1302 RTC Module to Arduino, and read the time from it with Visuino.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Components

  1. One Arduino compatible board (I use Arduino Nano, because I have one, but any other will be just fine)
  2. One DS1302 Real Time Clock Module
  3. 5 Female-Female jumper wires

Step 2: Connect the Real Time Clock to Arduino

  1. Connect Power(Red wire), Ground(Black wire), CLK(Yellow wire), DAT(Green wire), and RST(Gray wire) to the DS1302 RTC Module (Picture 1)
  2. Connect the other end of the Ground wire(Black wire) to the Ground pin of the Arduino board (Picture 2)
  3. Connect the other end of the Power wire(Red wire) to the 5V power pin of the Arduino board (Picture 2)
  4. Connect the other end of the DAT(Green wire) to the Digital pin 2 of the Arduino board (Picture 3)
  5. Connect the other end of the CLK(Yellow wire) to the Digital pin 3 of the Arduino board (Picture 3)
  6. Connect the other end of the RST(Gray wire) to the Digital pin 4 of the Arduino board (Picture 3)
  7. Picture 4 shows the Arduino Nano pins that ware connected in this step

Step 3: Start Visuino, and Select the Arduino Board Type

To start programming the Arduino, you will need to have the Arduino IDE installed from here:

Please be aware that there are some critical bugs in Arduino IDE 1.6.6.

Make sure that you install 1.6.7 or higher, otherwise this Instructable will not work!

The Visuino: also needs to be installed.

  1. Start Visuino as shown in the first picture
  2. Click on the "Tools" button on the Arduino component (Picture 1) in Visuino
  3. When the dialog appears, select "Arduino Nano" as shown in Picture 2

Step 4: In Visuino: Add and Connect DS1302 Real Time Clock Component

  1. Type "rtc" in the Filter box of the Component Toolbox then select the "Real Time Clock(RTC) DS1302" component (Picture 1), and drop it in the design area
  2. Click in the "Control" box containing the "Data", "Clock", and "Enable" pins of the RealTimeClock1 component to start connecting all the pins at once (Picture 2)
  3. Move the mouse over the "Digital" input pin of the "Digital[ 2 ]" channel of the Arduino component. The Visuino will automatically spread the wires so they will connect correctly to the rest of the pins (Picture 2)
  4. Connect the "Out" output pin of the RealTimeClock1 component to the "In" input pin of the "Serial[ 0 ]" channel of the Arduino component (Picture 3)

Step 5: Generate, Compile, and Upload the Arduino Code

  1. In Visuino, Press F9 or click on the button shown on Picture 1 to generate the Arduino code, and open the Arduino IDE
  2. In the Arduino IDE, click on the Upload button, to compile and upload the code (Picture 2)

Step 6: And Play...

Congratulations! You have completed the project.

Picture 1 shows the connected and powered up project.

If you open Serial Terminal in the Arduino IDE or Visuino, you will see the date and time from the Clock (Picture 2)

On Picture 3 you can see the complete Visuino diagram.
Also attached is the Visuino project, that I created for this Instructable. You can download and open it in Visuino:

Arduino All The Things! Contest

Participated in the
Arduino All The Things! Contest

Be the First to Share


    • Instrument Contest

      Instrument Contest
    • Make it Glow Contest

      Make it Glow Contest
    • STEM Contest

      STEM Contest

    3 Discussions


    2 years ago

    I'm loving the simplicity... but I would like to know how I set the time?

    can I do that easily here..

    1 reply

    Reply 2 years ago

    Yes, the RTC has "Set" pin. You can connect and Date/Time source to it. The simplest test is to add "Compile Date/Time" component and connect it to the set pin. This will set the component with the time at the moment of the compilation.


    2 years ago

    Cool, I learn how to click with the mouse. What about ANYTHING USEFUL about programming RTC?