กลับไปหน้ารวมไฟล์
desk-clock-calendar-on-ds3231mz-and-arduino-with-2-display-1d8fd2-en.md

The watch is powered by charging for the phone. In order for the time and date to be saved in the event of a power outage, a 3V battery must be installed in them. The time and date are set using the buttons. After completing the installation, the time is displayed on the OLED display with a resolution of 128x64 pixels. Time display modes can be changed using the 5th button. Also, the temperature from the sensor, which is built into the DS3231MZ + clock chip, is displayed on the OLED display. The calendar is displayed on the e-Paper display with a resolution of 400x300 pixels and two shades of gray. Another name for such displays is electronic paper - the last image displayed on it is saved even when the power is turned off. The disadvantage of such displays in the long update time of the picture, specifically for this display it is 4 seconds, the main plus - after updating the picture, power for the display is not required.

Advanced Desktop Clock with Dual Display Technology

This project elevates the traditional desk clock into a sophisticated information hub by utilizing two distinct display technologies: high-contrast OLED and ultra-low-power E-Ink. Designed around the versatile Arduino eco-system, this clock calendar is both a aesthetic and functional masterpiece.

Innovative High-Quality Hardware

  • DS3231MZ+ RTC Chip: This Real-Time Clock is significantly more accurate than standard modules, featuring a temperature-compensated crystal oscillator. It also provides temperature data that is displayed on the OLED.
  • Iska Nano Pro (ATMega328PB): An enhanced version of the Arduino Nano, featuring more peripheral interfaces, providing the necessary "brains" to handle two complex displays simultaneously.
  • Waveshare 1.3" OLED (B): This display provides sharp, readable text for real-time data like seconds and current temperature. Its self-emissive nature ensures perfect visibility from various angles.
  • Waveshare 4.2" E-Ink Display: Used for the calendar view, this display mimics real paper. It consumes zero power when static, meaning your calendar remains visible even if the main device is unplugged.
  • External 64kb Memory: Serving as an image buffer, this component is essential for processing the large amount of data required for the high-resolution E-Paper display.

Custom Graphics Core and Logic

One of the standout features of this project is the lack of off-the-shelf libraries for gray-scale E-Paper rendering. All the graphical rendering functions were written in C++ from scratch, allowing for deep optimization and custom visual styles. The logic integrates button-based time setting and dynamic UI switching, allowing the user to oscillate between different data views on the OLED while maintaining a constant Gregorian calendar on the E-Ink panel.

Watches are assembled on a breadboard for soldering. To connect the components used MGTF wire. As brains, the Iskra Nano Pro board from Amperka is used on the ATMega328PB microcontroller. Like the original Arduino Nano board, programming is done in the Arduino IDE. To buffer images of electronic paper, additional external memory of 64kb is used. I did not find any ready-made libraries for displaying images in shades of gray - therefore, in this project, the graphic core for working with displays is written in the C ++ language from scratch.

Circuit diagram:

Set time and date

ข้อมูล Frontmatter ดั้งเดิม

title: "Desk Clock Calendar on DS3231MZ + and Arduino with 2 display"
description: "Table clock calendar with two displays Waveshare 1.3 inches OLED (B) and Waveshare 4.2 inches E-Ink"
author: "issaom"
category: ""
tags:
  - "clocks"
views: 2393
likes: 0
price: 2450
difficulty: "Intermediate"
components:
  - "1x 1.3inch OLED (B)"
  - "1x 400x300, 4.2inch E-Ink display module"
  - "1x Iskra Nano Pro"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://projects.arduinocontent.cc/c03bc3a0-c6c4-45f0-9c7a-3daa851ecdb1.h"
  - "https://projects.arduinocontent.cc/ad1fda04-280c-48ef-af7b-e24aea2e8ca2.h"
  - "https://projects.arduinocontent.cc/9940d0a7-37b6-46c8-b0a6-882028b64191.h"
  - "https://projects.arduinocontent.cc/09e07d6b-4c56-4ce1-88a1-8057bed44b85.ino"
  - "https://projects.arduinocontent.cc/f87e8f42-ee42-416e-b6a7-c10ef22a0422.h"
  - "https://projects.arduinocontent.cc/882bfc82-ab34-4e8d-9581-27b064879051.h"
  - "https://projects.arduinocontent.cc/9940d0a7-37b6-46c8-b0a6-882028b64191.h"
  - "https://projects.arduinocontent.cc/9710c15f-f093-46c2-8821-748c216302c8.h"
  - "https://projects.arduinocontent.cc/09e07d6b-4c56-4ce1-88a1-8057bed44b85.ino"
  - "https://projects.arduinocontent.cc/ad1fda04-280c-48ef-af7b-e24aea2e8ca2.h"
  - "https://projects.arduinocontent.cc/ba891497-cf3f-478a-9cd3-f0b90744c8a8.h"
  - "https://projects.arduinocontent.cc/ba891497-cf3f-478a-9cd3-f0b90744c8a8.h"
  - "https://projects.arduinocontent.cc/9710c15f-f093-46c2-8821-748c216302c8.h"
  - "https://projects.arduinocontent.cc/c03bc3a0-c6c4-45f0-9c7a-3daa851ecdb1.h"
  - "https://projects.arduinocontent.cc/882bfc82-ab34-4e8d-9581-27b064879051.h"
  - "https://projects.arduinocontent.cc/d626b82d-e4df-4c0b-8923-74db4128ef17.h"
  - "https://projects.arduinocontent.cc/f87e8f42-ee42-416e-b6a7-c10ef22a0422.h"
documentationLinks: []
passwordHash: "7f8a474207aa32113e1056ef5429689e5c7536282b5d5916653dffd27092725b"
encryptedPayload: "U2FsdGVkX19iTR3SkNds0E0j6wEFYX1iJDDzmWFJ4s0mUeKU3PBIrduq7FOE9ZPcQAxA1IMja96wg0lfcLKh49AztUSfTrkqJfHgIK8vPUY="
seoDescription: "Desk clock calendar using Arduino and DS3231MZ + with Waveshare 1.3 inches OLED and 4.2 inches E-Ink."
videoLinks:
  - "https://www.youtube.com/embed/g3RLuWH9qlU"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/desk-clock-calendar-on-ds3231mz-and-arduino-with-2-display-1d8fd2_cover.jpg"
lang: "en"