TECH 으로 돌아가기
TECH HACKER NEWS 9분 읽기 31 READS

ESP32로 아이들 스토리박스를 직접 만든 개발자의 기록

ESP32로 아이들 스토리박스를 직접 만든 개발자의 기록
SOURCE IMAGE · HACKER NEWS

스크린도 메뉴도 없이, 아이가 상자 위에 피규어를 올리면 이야기가 재생되고 피규어를 치우면 멈춘다. 두 살배기도 1초 만에 이해하는 이 동작은 토니박스(Toniebox)나 루니이(Lunii), 요토(Yoto) 같은 어린이용 오디오 플레이어가 공유하는 핵심 경험이다. 한 개발자는 지난 여름 휴가지에서 이 제품을 접하고 동작 자체에는 감탄했지만, 수익 모델에는 불편함을 느꼈다. 기기값은 적당해 보여도 진짜 돈은 그 뒤에 따라붙는 콘텐츠에서 나온다. 새 이야기마다 내가 고르지도 않은 카탈로그에서, 내가 통제하지도 못하는 기기 위에서 결제가 이뤄진다. 결국 플레이어를 사는 것이 아니라 나무 장난감으로 포장된 구독을 사는 셈이라는 것이다. 그는 이 문제의식과 '전자공학을 제대로 배워보고 싶다'는 오랜 욕구를 합쳐, 판매용 제품이 아니라 세 아이와 자신의 학습을 위한 프로젝트로 직접 상자를 만들기로 했다. 결과물은 Marelleo라는 이름의 오픈소스 스토리박스다.

부품 선택이 곧 학습 곡선이었다

기술 선택은 초보자에게 특히 중요했다. 라즈베리 파이는 MP3 하나 재생하자고 쓰기엔 과하고 부팅에 20초가 걸린다. 피규어를 내려놓은 아이는 20초를 기다리지 않고 그냥 가버린다. 반대로 C로 400쪽짜리 데이터시트를 읽어가며 다뤄야 하는 저수준 칩은 입문자에게 너무 가파르다. 그 사이에서 그가 찾은 답이 WiFi가 내장돼 있고 MP3 디코딩이 가능하면서 아두이노처럼 다룰 수 있는 ESP32 개발보드, 그리고 납땜 없이 부품을 꽂아 시험하는 브레드보드였다. 틀려도 뽑았다 다시 꽂으면 그만이라 아무것도 망가지지 않는다는 점이, 배우는 단계에서 가장 필요한 성질이었다. 그는 문서를 읽고 Claude와 상의하며 배선도를 그렸고, 몇 시간 만에 태그를 올리면 소리가 나는 회로를 완성했다.

이후는 덜 자랑스러운 과정이다. 볼륨 조절용 가변저항을 잘못 배선하자 그것이 플러스와 마이너스를 잇는 단순한 전선, 즉 단락 회로가 되어 무섭게 뜨거워졌다. 연기와 함께 스키 왁스 타는 냄새가 났다. 리튬 배터리는 더 깊은 고민을 안겼다. 셀을 전선 두 가닥에 그냥 잇는 것이 아니라 언제 어떻게 충전할지 결정하고 적절한 시점에 끊어주는 충전 컨트롤러가 필요하며, 흔들려 눌리지 않도록 단단히 고정해야 한다. 게다가 배터리 커넥터 규격이 충전보드와 맞지 않자 그는 밤 11시에 커넥터를 잘라내고 배터리를 직접 납땜해버렸다. 그 결과 스위치도 분리 수단도 없이 상자가 24시간 켜진 채 아이 방에 놓이게 됐다. 이 지점에서 그는 '가지고 노는 가젯'이 아니라 '아이들의 일상에 전기 제품을 들여놓는 일'임을 자각했다고 말한다.

장난감이 아니라 견뎌야 하는 물건

브레드보드는 마찰로 부품을 잡기 때문에 시험에는 좋지만 지속성에는 재앙이다. 회로를 움직이면 접점이 끊기고, 그 결과는 깔끔한 고장보다 나쁜 '간헐적 오류'다. 코드를 한 시간 반 들여다봤는데 원인은 닿지 않는 전선 하나인 식이다. 그는 모든 부품을 납땜해 고정하는 퍼프보드로 넘어가며 '수리용 납땜'과 '제조용 납땜'이 전혀 다르다는 것을 배웠다. 수리는 있던 접합을 다시 만드는 일이고, 제조는 똑같이 깨끗한 접합 백 개를 연달아 만드는 일이다. 외장은 지인의 3D 프린터를 빌려 Fusion 360 무료 취미용 라이선스로 설계했는데, 품질 관리는 21개월·5세·7세 세 아이가 맡았다. 아이들은 끝이 없는 볼륨 노브를 동물처럼 돌려 전선을 전부 감아 뜯어냈다. 여기서 그는 '다섯 살은 노브를 돌리는 게 아니라 풀어버리며, 저항이 느껴져도 멈추지 않고 부서져야 멈춘다'는 규칙을 얻었다. 그래서 캘리퍼스로 부품을 하나씩 재 구멍 위치를 맞추고, 전선이 아니라 플라스틱이 부품을 붙잡게 다시 설계했다. 플라스틱에 직접 박으면 세 번째에 층을 따라 갈라지는 셀프태핑 나사도 버리고, 인두로 녹여 심는 황동 인서트로 금속 나사산을 확보했다.

손과 AI의 분업, 그리고 PCB

선으로 이어 붙인 회로는 아무리 잘 납땜해도 결국 당기는 케이블과 흔들리는 커넥터를 안고 있다. 그래서 그는 전원·충전·앰프·SD카드 리더·커넥터를 한 장에 모은 PCB 설계로 넘어갔다. 여기서 사람과 AI의 분업이 분명해졌다. Claude는 데이터시트를 읽어 특정 핀에 풀업이 필요함을 짚고 값을 계산하며 라이브러리에서 풋프린트를 가져오는 일을 잘했지만, 부품 사이 구리 배선을 서로 겹치지 않게 물리적으로 그리는 라우팅은 하지 못했다. 491개의 트랙을 KiCad에서 손으로 그린 것은 사람의 몫이었다. 기판은 한 장만 주문할 수 없고 최소 다섯 장이 한 번에 제조·실장되기 때문에, 한 번의 실수는 수정이 아니라 다섯 장 전량과 청구서 전체를 버리는 일이 된다. 그래서 그는 회로도를 한 줄씩 재검토시켰고, Claude는 세 가지 치명적 오류를 찾아냈다. 가변형 대신 고정 출력형 강압 컨버터에 분압 저항을 달아 3.3V 레일에 13.7V가 걸릴 뻔한 설계, 캐소드 방향이 뒤집힌 다이오드, 그리고 최소 간격이 0으로 설정돼 무엇이든 조용히 통과시키던 검사 규칙이다. 마지막은 '사람을 안심시키는 도구'라는 가장 나쁜 종류의 버그였다.

반대로 그가 AI보다 먼저 BOM의 재고 소진 부품 두 개를 발견한 적도 있었고, 이를 계기로 부품 번호별 재고와 가격을 제조사 카탈로그에서 조회하는 작은 프로그램까지 만들었다. 최종적으로 JLCPCB에 맡겨 160유로에 실장 완료된 기판 다섯 장을 받았다. 피규어는 발바닥에 NFC 스티커를 붙인 나무 인형이지만, 장난감 자동차든 조약돌이든 무엇이든 쓸 수 있어 '무엇이 무엇을 들려줄지 아이가 정한다'는 처음의 목표가 그대로 남았다.

이 기록이 한국의 실무자에게 주는 함의는 분명하다. 하드웨어 입문에서 가장 큰 비용은 부품값이 아니라 '틀릴 자유가 있는 환경'을 어디까지 유지하느냐의 선택이며, 브레드보드에서 퍼프보드, PCB로 넘어가는 각 단계는 그 자유를 반납하는 대신 내구성과 완성도를 얻는 거래다. 또한 AI를 코드나 회로 검토에 쓸 때, 데이터시트 독해와 규칙 기반 점검처럼 잘하는 영역과 공간적 라우팅처럼 못하는 영역을 분리해 맡기는 분업 감각이 실제 성과를 가른다. 다만 이 프로젝트는 판매용 제품이 아니라 개인의 학습과 가정용에 머무는 결과물이며, 안전 설계나 인증, 양산 품질 같은 상업화의 문턱은 다루지 않았다는 점은 분명히 염두에 둘 필요가 있다. 구독으로 포장된 닫힌 생태계에 대한 불만이 반드시 직접 제작으로 이어질 필요는 없지만, 적어도 '내가 통제하는 기기'가 어떤 노력으로 가능한지를 구체적으로 보여준다는 데 이 사례의 가치가 있다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://zebra.rodeo/en/blog/marelleo/
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...