← Blog

작성자 황경찬

2026-08-29

프론트엔드 개발자, 로봇을 만들다

AI 코딩Claude Code펌웨어로봇개발기

작년 11월 말부터 8개월 동안 로봇을 만들었어요. 반려견 배변을 감지해서 자동으로 물청소 하는 로봇이요. 카메라로 보고, AI 가 판단하고, 모터와 펌프를 움직입니다. 이걸 돌아가게 만드는 코드는 총 7만 줄인데, 그중 제 손으로 타이핑한 줄은 5%도 안 될 거예요. 대부분 AI 코딩 에이전트가 썼습니다.

완성한 로봇 — 배변판을 지켜보는 카메라

저는 웹 프론트엔드 개발자로만 쭉 일해왔어요. 펌웨어도, 하드웨어 제어도, AI 모델 학습도 이 프로젝트가 처음이었습니다. 정말 많이 배웠어요. 그런데 8개월이 지나고 돌아보니, 가장 많이 바뀐 건 AI 와 함께 일하는 방식이었어요. 그 변화를 기록으로 남겨보려 해요.

완성한 것들

먼저 '로봇'의 의미를 구체적으로 정리할게요. 이 제품은 카메라 + IoT + 펌웨어 + 온디바이스 AI 의 조합이에요. 이걸 로봇이라고 불렀어요. 아래처럼 역할이 다른 2개의 보드로 구성했습니다.

보드 담당 비유
NPU 카메라 — 이미지 센서 연결
AI — 이미지 분류, 온디바이스 추론
IoT — 영상 스트리밍·서버 통신 텔레파시
MCU 모터·펌프 등 하드웨어 조작

핵심 기능의 흐름은 여섯 단계예요.

  1. 카메라로 상황 변화를 감지하고
  2. AI 로 판단해서
  3. 결과에 따라 모터와 펌프를 제어합니다
  4. 변화된 상황을 녹화한 영상을 저장하고
  5. 앱 푸시 알림을 발송하면
  6. 사용자가 앱에서 영상을 확인해요

핵심 기능 흐름 — 여섯 단계

각 단계마다 프레임 차분 상태머신, INT8 양자화 모델, UART 프로토콜, 스트리밍 클립 추출, 푸시 파이프라인, HLS 플레이어 등 처음 개발해본 것들 투성이였어요.

시스템 구성 — 로봇(NPU·MCU)과 클라우드, 앱

코드를 말씀드리면 좀 더 구체적으로 감을 잡으실 수 있을 거예요. 총 74,471줄이었어요.

TypeScript   28,462줄
C            38,666줄   (테스트 12,753줄 포함)
Python        7,343줄

프론트엔드 개발자이지만, C 와 Python 을 더 많이 사용했습니다. 저는 설계 결정과 검토를 맡고 AI 가 대부분 작성했습니다.

GitHub 저장소

GitHub 언어 통계는 저장소에 함께 커밋된 벤더 SDK(약 9.5MB 의 C·C++ 헤더)까지 바이트 기준으로 세기 때문에 비율이 다르게 보여요. 본문의 줄 수는 직접 작성한 코드만 센 값이에요.

시도해볼 결심

2025년 11월, Opus 4.5 가 나오면서 Claude Code 가 확실히 달라졌다고 느꼈어요. 그전까지 저는 구체적인 개발 방향성까지 설계해서 넘겨주는 방식으로 일했어요. 어떤 구조로 짜고, 무엇을 조심해야 하는지를 제가 정해준 다음 구현을 맡기는 방식으로요. 그런데 이 즈음부터 바뀌었어요. 좀 더 추상화된 레벨까지만 설계해줘도 충분히 구현을 잘 해내는 걸 여러 번 겪었어요. 진짜 아이언맨의 자비스와 함께하는 느낌이었어요.

돌이켜 보면 그때 제 방식은 한 문장이었어요. 설계는 내가, 구현은 AI, 결과는 내 눈으로 판단한다. 프론트엔드에서는 이게 됐어요. 화면이 이상하면 보자마자 알았고, API 가 틀어지면 읽자마자 알았으니까요. 규칙이라고 부를 것도 없었어요. 그냥 하던 대로였습니다.

돌이켜 생각해보니 Opus 4.5 가 그당시 저에게 준 임팩트가 그만큼 컸던 것 같아요. 다시 찾아보니 이 프로젝트의 첫 커밋 날짜(2025년 11월 28일)가 Opus 4.5 출시로부터 정확히 4일 후였네요.

자비스를 마음껏 써보자

그렇게 충격을 먹고 나서, 이런 생각이 들었어요. 이제 추상화된 설계만 해줘도, 내가 전혀 모르는 분야를 개발할 수 있지 않을까. 그러자 궁금한 게 두 가지 생겼어요.

첫째, 나는 무엇까지 만들 수 있을까. 둘째, 거기까지 가려면 어떻게 일해야 할까.

이 시리즈는 두번째 질문에 대한 답을 주제로 작성했어요. 첫째 질문의 답은 그 과정에서 따라오는 부제에 가까워요. 프론트엔드에서는 어느정도 확인했으니, 이번에는 전혀 모르는 분야로 가보자. 그래서 펌웨어, 하드웨어 제어, AI 모델 학습을 개발하러 갔어요.

강아지 똥

마침 주변에 적합한 문제가 있었어요. 지인의 소개로 한 대표님을 만났어요. 그 대표님이 고민하시는 강아지 화장실 문제는 생각보다 심각했어요. 반려견 키우는 분들은 평생 배변 패드를 갈고 치우는 노동을 반복해야 했어요. 그럼에도 아직 이 문제를 완벽하게 해결하는 방법이 없었어요.

본격적으로 파헤쳐보니 문제가 꽤 어려웠어요. 고양이는 모래통 안에 들어가서 볼일을 보지만, 개는 배변판 위 아무 곳에나 해요. 그렇다 보니 기계식 센서로는 완벽히 감지하기 어렵고, 결국 카메라로 보고 판단해야 해요. 비전 AI 가 필요하단 걸 발견했어요. 그 외에도 하드웨어적인 한계를 극복하기 위해 여러 버전의 시제품을 만들었어요.

그렇게 지켜보다가, 쓸만한 제품이 아직 없으니까 직접 같이 만들자는 대표님의 말을 듣고, 결국 CTO 로 합류했습니다. 혼자서 아래 영역을 전부 개발해보기로 했어요.

영역 스택
MCU 펌웨어 — 모터·펌프·청소 제어 ESP32-S3, ESP-IDF, C
NPU 펌웨어 — 카메라·추론·통신 Rockchip, C
Vision AI 학습 파이프라인 TensorFlow, RKNN
모바일 앱 React Native, Expo
서버 NestJS, MQTT, Supabase
인프라 EC2, Docker, 스트리밍 서버
랜딩 페이지 Next.js

MCU, NPU, AI 는 전부 처음 해보는 것들이었어요. 아마 Opus 4.5 와 함께한 경험이 없었다면 시도조차 하지 못했을 거예요.

자비스 도와줘! 를 외치며 x20 플랜을 결제했습니다. 설렘 반 두려움 반을 안고 개발을 시작했어요. 그때는 이게 자비스에게 시키는 일이라고 생각했어요. 8개월 뒤에는 다르게 생각하게 되었지만요.

다음 편은 제일 잘 안다고 믿었던 앱과 서버 이야기예요. 익숙한 영역이라 하던 대로 시작했고, 거기서 첫 번째 규칙을 배웠습니다.