16x128 Display Showing Date, Time, Temp, Humidity





Introduction: 16x128 Display Showing Date, Time, Temp, Humidity

This is my 1st instructable so I hope you find this helpful.

I know the struggles of finding the right code to do what you have planned in your head.

So here is one of my struggles that I have finished!

I am using 2 - 16x64 dot matrix display, 1 - RTCDS3231, 1 - DHT22 Temp Sensor and an Arduino Uno.

I have had these 2 16x64 displays for a while with no real code to run or do what I wanted.

I recently found a piece of code by Phil Kaziewicz and it was a great starting point for this project.

16x64 LED Matrix Display

RTC Module

DHT22 Temp Sensor

I have attached a short video of the scrolling display.

Step 1: Make Your Connections

2x8 Conn on 16x64 display Arduino UNO

Pin 1 ========================== GND (GND)

Pin 2 ==== No Connection (GND)

Pin 3 ==== No Connection (GND)

Pin 4 ========================== DI 2 (EN)

Pin 5 ========================== DI 8 (R1)

Pin 6 ========================== DI 9 (R2)

Pin 7 ==== No Connection (GND)

Pin 8 ==== No Connection (GND)

Pin 9 ========================== DI 10 (SK)

Pin 10 ========================= DI 7 (LT)

Pin 11 ==== No Connection (G2)

Pin 12 ==== No Connection (G1)

Pin 13 ========================= DI 6 (LD)

Pin 14 ========================= DI 5 (LC)

Pin 15 ========================= DI 4 (LB)

Pin 16 ========================= DI 3 (LA)

RTC3231SN Arduino UNO

GND ============================ GND

VCC ============================ 5V

SDA ============================ A4 (SDA)

SCL ============================ A5 (SCL)

SQW ==== No Connection

32K ==== No Connection1

DHT22 Arduino UNO

Pin 1============================== 5V

Pin 2 ============================== DI 11

Pin 3 ==== No Connection

Pin 4 ============================== GND

Also between Pin 1 and Pin 2 is a 10k Resistor!

Step 2: Code for This Project

load the Code and Run it.

Tried to paste code but came out all bunched together...

Maybe next time I will figure it out with some help from the form.

Step 3: About the Code

Here I have 2 displays tied together with cable supplied with purchase of display.

Time will be shown on upper half of left display.

Temperature and Humidity will alternate on upper half of right display.

Lower half of both displays will scroll current date from RTC.

Example: "Today is: Tuesday, 4/26/16"

You can adjust the time by Minutes (A0), Hours (A1), Display 12 or 24 hour format (A2) with Seconds showing during 24 hour format, and Daylight Savings ON/OFF (A3).

Time Adjustments are send and Saved on the RTC Module.

12/24 Hour Display and DST are sent to internal Ram and saved/Recalled if power goes out.

Always wanted to do that as we can adjust anything during the running of a program but if power goes out we get default setting restored so I send those setting to the Atmega328 RAM that gets recalled during "Setup".

Hope this helps many of you out there and feel free to ask any questions or improve any coding.

One thing I did want was a way to "Add" to the scrolling message any user input message and display it after the date, then repeat. I am working on adding a ESP8266 WIFI Module and letting the user set the Time, Date, and add a Message from their phone or tablet.



  • I got this working, ...-DennisB36

    DennisB36 made it!


  • Epilog Challenge 9

    Epilog Challenge 9
  • Gluten Free Challenge

    Gluten Free Challenge
  • First Time Author Contest 2018

    First Time Author Contest 2018

We have a be nice policy.
Please be positive and constructive.


2 Questions


i need code for this project

Has anyone found a way to turn down the brightness on this project?


hi jeffreye
nice work
are u able to scroll the mesaage?

Has anyone here had this issue of Number of the Year, rather than 2017, show 2047? Looking forward to an answer.

Many thanks for the reply jeffreye!
I have not been able to sort out the part of the code that is showing the Year "47" instead of the Year "17" (ie 2017); I know you're very busy, but if you can give me a suggestion, I thank you very much,

This project was built a while ago, I do not have it set up any more and if I get some spare time I may rebuild it and fix the issues but if you read through the entire comments almost every question has been answered.

Use code I posted to preset your RTC unit and then reload the clock code.

Work has been very very busy and I have been designing and building a control for a machine being built for Colgate using an Arduino Mega to drive a servo motor, Count strokes using proximity switches, run a PWM controlled parasitic pump with a MOSFET output to pump running on 24vdc, Keep total Pump run hours and save them to EEPROM to have an End of Life after 100 hours for the pump tubing and be able to reset those times after 100 hours, read a Temperature probe, calculate PID control for an output to control an SSR to drive a 120v 400w heater, Have a Low Level float to prevent the heater, pump, and cycle from starting, and a High Level float to give an OK to start cycle, 2 micro switches for door and cover safety, use a 4x4 keypad for control inputs, Estop button stops everything, 4x20 I2C LCD display for readout.

I just finished the program yesterday and have about 1600 lines of code. Tested every switch, safety, counter, end of life timer, pump motor, heater control PID, machine run servo motor and all works great.

help me please

i make error """

'tmElements_t' was not declared in this scope"""


At the beginning of the sketch remove the #include <Time.h> entry, and re-include it. You should then have an "#include <Time.h>" and a "#include <TimeLib.h>". That should take care of the 'tmElements_t' error.

check the code, make sure it was not changed or a char "t" was not mistyped in to code.

Look at error message, it will give line number in code where error is and should also highlight it.

Jeffreye, Help! how the heck do you change the year in this sketch. There are a couple of us out here scratching our heads trying to figure out how to change the year. I've uploaded and incorporated your time setting code, and for the most part it works, thanks, but I can not for the life of me change the year in the date line.

Hi Dennis! Did you get any solution on the change of the year? Mine also does not leave the year 47; Hugs from Brazil