Skip to main content

RTC Basic usage

This page shows how to get the time from an NTP server and keep track of it using the RTC.

ℹ️
The RTC can drift a little each day, so it's best to resync with NTP once a day to keep the time accurate.

Example fetching time from the Internet

from inkplate2 import Inkplate
import network
import ntptime
import time

# WiFi credentials
SSID = ""
PASSWORD = ""

inkplate = Inkplate()

inkplate.begin()

# Connect to WiFi (connection process explained on previous page)
if not do_connect():
raise SystemExit("WiFi connection failed")

# Sync with NTP server and set the RTC time
try:
ntptime.settime()
except:
print("Failed to sync with NTP")

while True:
# Clear the display buffer and set cursor at upper left corner
inkplate.clear_display()
inkplate.set_cursor(0, 0)

# Get UTC time
utc_time = time.localtime()

# Convert UTC -> local time (e.g., UTC+2)
# Offset in seconds (hours * 3600)
timezone_offset = (2 * 3600)

# Apply timezone offset
local_time = time.localtime(time.mktime(utc_time) + timezone_offset)

# Extract year, month, day, hour, minute, second from the tuple, excludes weekday, yearday
year, month, mday, hour, minute, second, *_ = local_time
inkplate.print(f"{year}-{month:02d}-{mday:02d} {hour:02d}:{minute:02d}:{second:02d}")

# Update display
inkplate.display()

time.sleep(30)

ntptime.settime()

Fetch current UTC time and set Real Time Clock

time.localtime()

Convert current time in seconds into a tuple format

Returns value: Return time as a tuple: (year, month, mday, hour, minute, second, weekday, yearday)

Function parameters:

TypeNameDescription
intsecsIf secs is not provided or None, then return current time from the RTC

time.mktime()

Inverse function of localtime.

Returns value: Returns an integer which is the number of seconds since the time epoch (UNIX timestamp).

Function parameters:

TypeNameDescription
tupledate_time_tuple8-tuple which expresses a time as localtime

Full example

rtc.py

Set the onboard RTC from an NTP server and show the time on the screen.