ESP8266 WiFi – RTC Tijdklok DS3231 (NodeMCU)

Espressif logo

nodeMCU logo

Op deze pagina vind je een voorbeeld om via de ESP-01 module een RTC tijdklok in te stellen en uit te lezen via de GPIO pinnen met de firmware NodeMCU.


RTC Tijdklok DS3231 module bovenkantRTC Tijdklok DS3231 module batterijkant


Een RTC tijdklok met batterij, de klok maakt gebruik van de DS1302 chip.

Informatie (ENG)

The DS1307 Serial Real-Time Clock is a low-power, full binary-coded decimal (BCD) clock/calendar plus 56 bytes of NV SRAM. Address and data are transferred serially via a 2-wire, bi-directional bus. The clock/calendar provides seconds, minutes, hours, day, date, month, and year information. The end of the month date is automatically adjusted for months with fewer than 31 days, including corrections for leap year. The clock operates in either the 24-hour or 12-hour format with AM/PM indicator. The DS1307 has a built-in power sense circuit that detects power failures and automatically switches to the battery supply.


  • Real-time clock (RTC) counts seconds,minutes, hours, date of the month, month, day of the week, and year with leap-year compensation valid up to 2100
  • 56-byte, battery-backed, nonvolatile (NV) RAM for data storage
  • Two-wire serial interface
  • Programmable squarewave output signal
  • Automatic power-fail detect and switch circuitry
  • Consumes less than 500nA in battery backup mode with oscillator running
  • Optional industrial temperature range:-40°C to +85°C
  • Available in 8-pin DIP or SOIC Underwriters Laboratory (UL) recognized


Pin (aansluitkant, batterij boven):Functie:
01SQ (optionele temp sensor)
03SCL (serial clock)
04SDA (serial data)
05VCC (+5v)
07BATT (batterij)

Wat heb je nodig?

1) ESPlorer IDE

Sluit de RTC aan volgens onderstaand schema:

esp8266 esp-01 GPIO RTC3231 schema

Getest op firmware: nodemcu_float_0.9.6-dev_20150704.bin

Upload deze “library” code als ds3231.lua

Tip: Download de code sla het op als bestand, en gebruik de “Upload…” knop in ESPlorer.

Je kan nu bovenstaande bibliotheek aanroepen om de RTC in te stellen en uit te lezen:

Datum en tijd instellen: ds3231_instellen.lua:

Uitlezen van de RTC ds3231_read.lua:

Console output:

Time & Date: 21:5:27 18/3/16

Uitlezen van de RTC ds3231_readcsv.lua:

Console output:

Tijd en datum: 21;8;42;18;3;16

Ps: is de datum of tijd niet te lezen vanuit de RTC (storing), dan krijg je dit terug:

Time & Date: 165:165:165 165/165/165

nodemcu @