새로운 네트워크 LED 시계 DIY

새로운 네트워크 LED 시계 DIY
네트워크 시계(?) 자작기 3편 완결
네트워크 시계(?) 자작기 1편이사오면서 아트월에 무아스 LED 시계를 매립했다. 선을 숨기기 위해 전원선을 랜선으로 바꿔서 타일 틈에 밀어넣어서 예쁘게(?) 달아뒀다. 그런데 이놈의 시계가 좀 쓰다보면 시간이 틀어지는 것이다. 그래서 타임서버와 연동되는 LED 시계를 만들어보기로 했다. 시간이 맨날 틀어지는 것은 사실 핑계고 그냥 만들기가 하고 싶었다. 재료는 간단하다. ESP32 보드에 WS2812B

3년쯤 전, 무아스 LED 시계를 알갈이(?)해서 시간이 틀어지지 않는 시계를 만들었다.

시간이 지나면서 LED가 열화했는지 밝기와 색감이 틀어지기 시작했다. 전류 부족 문제로 종종 멈추기도 했고... 그래서 설연휴를 맞아 새로운 LED 시계를 만들어봤다.

우선 알리에서 알갈이용 제품으로 아래 제품을 주문했다.

지난번 자작 때 베이스모델의 중요성을 느꼈기 때문에 신중하게 골랐지만...

정작 도착한 것은 위와 같은 물건이었다.

이 모델은 기존에 시도해봤던 물건이기에 자작이 어렵단 사실을 알았다.

알리에 제품 설명과 다른 상품이 왔다고dispute을 걸었더니 쿨하게 반품없이 환불해주더라.(심지어 2개나 샀는데...)

그리고 당근을 뒤졌더니 자작하기 좋은 물건이 떡하니 있었다. 크기가 커서 케이스 개조에 특별히 힘들이지 않아도 될거 같았다.

처음엔 귀찮아서 그냥 쓰려고 했다. 운명의 장난인지 리모컨이 없었다. 리모컨이 없으면 이 제품은 시간을 맞추지 못한다. 밤 12시 혹은 낮 12시에 맞춰 켜면 그럭저럭 쓸수도 있었겠지만... 이를 핑계삼아 원래 의도대로 새로 제작하기로 결정했다.

뒷면을 따보니 위와 같은 기판이 나왔다. 예전엔 하드보드지로 베이스로 쓸 기판을 만들었는데 하드보드지가 없다. 이번엔 원래 기판을 재활용하기로 했다.

인두를 350도정도로 세팅해 마구 밀어줬더니 LED를 제거할 수 있었다.

제거한 자리에 WS2812B를 2개 단위로 붙여줬다. 폭이 5mm짜리인데, 기존 기판 너비와 딱 맞았다. 추가로 케이스 가공이 필요없단 얘기다. 기존 DIY는 케이스 가공하느라 며칠씩 걸렸고, 그나마도 잘 안맞아서 글루건 떡칠로 붙였는데, 이번엔 나름 깔끔하게 마감되겠다 싶었다.

7세그먼트 가운데 있던 각종 부품들도 싹 날려주고 기존 LED 위치에 ws2812b를 붙여줬다. 그리고 순서대로 배선도 해줬다. 간만에 납땜하니 하루 종일 걸리더라.

첨엔 esp32-c3 supermini를 머리(!)로 이용하려했지만, 컴파일에 너무 오랜시간이 걸리더라.

알리에서 싸다고 잔뜩 구입해놓은건데, 쓸때마다 와이파이가 잘안잡히거나 무한 재부팅에 빠지는 등 문제가 많은 제품이다.

굴러다니던 범용 esp32보드를 이용했다. 기존에 끙끙대며 만든 esphome yaml을 챗GPT에게 던져주고 지금 구성으로 수정해달랬더니 기가 막히게 만들어주더라. 사존은 전체 LED가 잘 나오는지 테스트해 본 모습.

그리고 1차 완성샷. 분 위에 LED하나는 원래 제품에선 온도 표시할때 쓰는 led인데, 여기에 ws2812b 1개를 별도로 넣어 미세먼지 농도를 표시하기로 했다.

3년전 자작 때는 시계 위쪽으로 구멍을 뚫어 벽에 반사되게 만들었는데, 아트월 아닌 일반 벽지로된 집에 이사오니 제대로 반사되지 않는단 문제가 있었기 때문이다.

이틀간 틈틈이 작업해 여기까지 만들었다. 밝기를 올리면 켜지지 않아야할 LED가 켜지거나 색이 이상하게 변하는 현상이 있다. 이를 해결하려면 챗GPT와 제미나이가 공통적으로 ESP32와 ws2812b 사이에 레벨시프터라는걸 장착해야된다고 알려줬다. 일단 알리에 주문해뒀다.

<2026년 3월 24일 추가>

SN74AHCT125N이라는 녀석을 받은 지 한참 됐는데, 귀찮아서 그냥 뒀다가 WS2812B를 이용한 한글 시계를 만들면서 적용해봤다. 하지만 켜지지 않아야할 LED가 켜지는 현상은 계속됐다. ESPHOME 컴파일 과정에서 deprecated 된 게 있다는 메시지가 보이길래 봤더니...

아두이노 Framework에서 neopixel 플랫폼을 이용한 것이 문제였던 거 같다. Framework를 ㄸesp-idf로 바꾸고, 플랫폼도 esp32_rmt_led_strip로 바꾸니 해결되더라.

혹시나 싶어 7 세그먼트 LED 시계도 새로 컴파일했더니 거짓말처럼 문제가 사라졌다.