KO EN HI

ST7567 NTP Clock

Arduino Nano 33 IoT + ST7567 128x64 LCD
WiFi NTP 시계 (양력 + 음력)

완성 Arduino Nano 33 IoT ST7567 128x64

LCD 출력 레이아웃

128x64 픽셀을 상/하 2분할하여 정보와 시각을 분리 표시합니다.

IP:192.168.0.15 2026.05.10 (SAT) 2026.04.13
PM 3:25

상단 3줄

6x13B 볼드 폰트
IP 주소 / 양력 날짜+요일 / 음력 날짜

하단 시각

timB24 대형 숫자
12시간 AM/PM + HH:MM

콜론 깜빡임

drawBox 3x3 x2
600ms ON / 400ms OFF
고정 위치 (시분 안 흔들림)

하드웨어 구성

Arduino Nano 33 IoT의 내장 WiFi(NINA W102)로 NTP 시간 동기화, SW SPI로 LCD 구동.

MCUSAMD21G18A (Cortex-M0+)
WiFiNINA W102 (2.4GHz)
LCDST7567 128x64 (1.8")
인터페이스SW SPI (5-wire)
명암비15 / 64
로직 레벨3.3V

핀 배선

Nano 33 IoT ST7567 LCD ───────────── ────────── D3 (SDI) ────→ SDA (Data) D4 (SCK) ────→ SCL (Clock) D5 (DC) ────→ A0 (Data/Cmd) D6 (CS) ────→ CS (Chip Select) D7 (RST) ────→ RST (Reset) D8 (BL) ────→ LED (Backlight, Active LOW) 3V3 ────→ VCC GND ────→ GND

주요 기능

기능구현비고
NTP 시간 동기화pool.ntp.org, KST (UTC+9)forceUpdate 즉시 동기화
WiFi 자동재연결30초 주기, 최대 10회 시도disconnect → begin
12시간 포맷AM/PM + 1~129x15B 폰트
양력 날짜YYYY.MM.DD (DAY)3자 요일 영문
음력 날짜YYYY.MM.DD2024~2028 근사 테이블
콜론 깜빡임drawBox 3x3, 600/400ms시/분 고정 위치
백라이트D8 LOW = ONActive LOW 제어

소프트웨어

U8g2 라이브러리 기반, Full Buffer 모드. 음력 변환은 구정(Lunar New Year) 기준 근사 알고리즘.

라이브러리용도
WiFiNINAWiFi 연결 관리
NTPClientNTP 시간 동기화
U8g2libLCD 그래픽 드라이버

U8g2 Constructor

U8G2_ST7567_OS12864_F_4W_SW_SPI u8g2(U8G2_R2, 4, 3, 6, 5, 7);
// R2 = 180° rotation, clock=D4, data=D3, cs=D6, dc=D5, reset=D7

폰트 구성

용도폰트크기
상단 3줄 (IP/날짜/음력)u8g2_font_6x13B_tr6x13 Bold
AM/PMu8g2_font_9x15B_tr9x15 Bold
시:분u8g2_font_timB24_tnTimes Bold 24px

Flash / RAM 사용량

Program Storage47KB / 256KB (18%)
Dynamic Memory6.1KB / 32KB (18%)

소스코드

전체 소스코드 및 회로도는 GitHub에서 확인할 수 있습니다.

github.com/ebaek200/ST7567-NTP-Clock ↗