Arduino Nano 33 IoT-based NTP World Clock

Arduino Nano 33 IoT-based NTP World Clock


Arduino Nano 33 IoT can be used to enhance existing devices and creating new ones to include IoT and to design network-specific applications. This article focuses on one of such applications which uses Network Time Protocol by clock synchronization between systems all over the world. It is necessary to know more about Arduino Nano 33 IoT board.

Arduino Nano 33 IoT has a NINA -W10 chipset working at 2.4GHz, this u-blox module is used for Bluetooth and WiFi network connectivity. This WiFi connectivity can be used for clock synchronizations via Network Time protocols to get information of time from different systems. The primary processor of the Nano 33 board is a low-power Arm Cortex-M0 32-bit SAMD21, the board also features secure communication ensured by the Microchip ECC608 chip.

Key Features of Arduino Nano 33 IoT

  • Arm Cortex-M0 32-bit SAMD21
  • Clock frequency up to 48MHz
  • Flash Memory of 256KB
  • 32KB SRAM
  • NINA W10 for Bluetooth and WiFi connectivity
  • Microchip ECC608 crypto chip for security
  • Circuit voltage 3.3V,
  • I/O: 8 analog pins, 14 digital pins,
  • Interfaces: 1 UART, 1 SPI, 1 I2C
  • Dimensions: 45x25mm

If one wants to know the time of different time zones in the world, there are many mobile applications and websites for this purpose. Although, this is a simple thing but what if one wants to get this time info at a glance. A dedicated device to “know what time it is anywhere in the world” could satisfy this requirement.

Kaleb Clark (Innovation Team Hardware Lead) used a “3.5″ SPI TFT screen to show eight time zones in the device’s main section, plus a pair of 7-segment displays (SSD) for two more “slots.

” The unit runs on an Arduino Nano 33 IoT, which checks the time over WiFi via the Network Time Protocol, or NTP.”

Arduino Nano 33 IoT-based NTP World Clock

Features of NTP World Clock

The built NTP clock has a TFT screen on the left side and two 4-digit SSDs and a rotary encoder on the right side. The top SSD shows the present location and time and the bottom SSD shows the selected time zone’s time. The TFT screen configured with Nano 33 IoT using NTP, has a WiFi indicator at the top right corner. The screen has four levels of indications based on RSSI values on the radio module of the Nano 33 board:

  • WiFi indicator (top right corner)
  • Current location’s date
  • Country name, Time and Offset Value
  • Progress scroll bar showing the seconds value

The screen shows 8 different time zones (countries) with additional two time zones synced with two SSDs. The offset value of the time for a time zone is with respect to the current location’s time, and not the standard UTC. Pressing the center button of the encoder takes you to the menu page. The rotary encoder functions as a controller to change a particular time zone from the options available in the menu. There is also an option of 24hr /12hr format in the menu.

You can alter the code to change the structure and design of the display. To know more about this project application of Arduino Nano 33 IoT, watch this video by Kaleb Clark. If you hit a dead-end while building this project, you can shoot your queries on Element14 Community Forum.

The images and technical specifications have been taken from The Arduino Blog and Arduino Nano 33 IoT product page.

Saumitra Jagdale is a Backend Developer, Freelance Technical Author, Global AI Ambassador (SwissCognitive), Open-source Contributor in Python projects, Leader of Tensorflow Community India, and Passionate AI/ML Enthusiast

view all posts by saumitra
Notify of

Inline Feedbacks
View all comments

Join 97,914 other subscribers