스마트워치를 만드는 방법: 칩 선정
(ericmigi.com)- 2025년에 괜찮은 스마트워치를 만들려면 먼저 목표 경험을 정하고, 이를 MCU·디스플레이·배터리·소프트웨어 제약 안에서 맞춰야 함
- 칩 선택은 단순 성능 비교가 아니라 소프트웨어 호환성, 전력 소비, 부품 단가가 동시에 걸린 제품 설계 결정임
- Core 2 Duo는 익숙한 Nordic nRF52840으로 빠른 PebbleOS 포팅을 노렸지만, Core Time 2는 더 큰 컬러 디스플레이 때문에 더 많은 RAM과 처리 성능이 필요했음
- SiFli SF32LB52x 계열은 512KB 이상 SRAM, 16MB PSRAM, MIP 디스플레이 주변장치, 약 50µA BLE 연결 전력, 2달러 미만 가격, 오픈소스 SDK를 제공함
- Core Time 2에는 SF32LB527의 1.8V 변형인 SF32LB52J가 쓰일 예정이며, 오픈소스 PebbleOS를 유지하면서 전력·비용·디스플레이 요구를 맞추는 선택임
스마트워치 설계는 제약을 맞추는 일
- 스마트워치는 크게 세 부분으로 나뉨
- 실제 시계인 워치 하드웨어
- 펌웨어 또는 운영체제로 불리는 워치 소프트웨어
- 알림 전송, 워치페이스 다운로드 등을 맡는 iOS·Android 모바일 동반 앱
- 스마트워치는 하나의 형태가 모두에게 맞는 기기가 아니며, PebbleOS의 오픈소스화가 각자 필요에 맞는 스마트워치 제작으로 이어지기를 기대함
- 소비자 전자제품 설계는 목표 경험을 정한 뒤, 이를 구현 가능한 사양과 부품으로 분해하는 과정임
- 예: “항상 켜져 있고 햇빛 아래서 읽히며 30일 지속되는 스마트워치”
- 사양 예: e-paper 디스플레이, Bluetooth LE, 방수, 150달러 소매가
- 부품 예: Sharp Memory LCD, 150mAh 리튬폴리머 배터리, FreeRTOS
워치 하드웨어를 이루는 다섯 시스템
- 워치 하드웨어는 다섯 가지 핵심 시스템으로 나뉨
- Bluetooth 라디오를 보통 포함하는 마이크로컨트롤러 칩
- 디스플레이
- 택트 스위치, 터치, 마이크, 가속도계, 스피커 같은 센서와 출력 장치
- 칩, 수동소자, PCB, 배터리 같은 기타 전자부품
- 케이스, 유리, 버튼, 스트랩, 충전 케이블 같은 기구 구조
- 센서, 배터리, 스트랩, 케이스, 마이크 등 뒤의 세 시스템은 요즘 다양한 가격대의 좋은 선택지가 많아 비교적 고르기 쉬움
- 스마트워치 설계에서 가장 까다로운 부품 결정은 MCU/Bluetooth 라디오와 디스플레이 선택임
Pebble 시절 MCU와 Bluetooth 제약
- 첫 Pebble 시절에는 STM32F2 MCU를 사용함
- Pebble 이전 제품인 inPulse는 8KB RAM의 LPC2103을 썼음
- 과거 Pebble MCU 사양은 64~144MHz, 128~256KB RAM 수준이었음
- 당시 MCU에는 Bluetooth 라디오가 통합되지 않아 TI CC2564 같은 별도 칩을 함께 붙여야 했음
- MCU는 CPU, RAM, 보통의 플래시 저장소, 입출력 주변장치, 때로는 라디오까지 하나의 작은 집적회로에 담은 스마트워치의 핵심 칩임
MCU 선택이 제품 전체를 흔드는 이유
- MCU는 스마트워치의 가장 빡빡한 조건인 소프트웨어 호환성, 전력 소비, 비용의 중심에 있음
- 임베디드 소프트웨어는 컴퓨터 운영체제보다 더 파편화되어 있고, 하드웨어 요구사항에 강하게 묶임
- Linux는 하드디스크 공간 제약이 작아 17,000개가 넘는 디바이스 드라이버를 포함할 수 있음
- PebbleOS는 사실상 STM 계열 MCU만 지원하도록 하드코딩되어 있었음
- 다른 브랜드 MCU로 바꾸려면 I2C, SPI, DMA 같은 주변장치 드라이버를 새로 쓰고, 다른 SDK를 채택하며, 경우에 따라 빌드 시스템도 바꿔야 함
- 이런 변경은 위험한 작업은 아니지만 구현과 테스트 시간이 필요함
- 일부 MCU는 FreeRTOS를 쉽게 지원하지 않음
- 수십만~수백만 대 규모로 생산하지 않으면 소프트웨어 엔지니어링 비용을 대량 판매로 분산하기 어렵고, 시계 한 대당 총비용에 큰 영향을 줌
- 스마트워치는 24시간 내내 Bluetooth로 휴대폰에 연결되어야 하므로, 연결 상태의 평균 전력 소비가 디스플레이와 함께 가장 큰 전력 소모 요인이 됨
Core 2 Duo와 Core Time 2의 칩 후보
- Core 2 Duo에는 Nordic nRF52840을 쓰기로 결정함
- 오래된 칩이지만 이미 익숙했고 PebbleOS를 비교적 빠르게 올릴 수 있다고 판단함
- 처음에는 Nordic SoftDevice BLE 스택을 쓸 계획이었지만, 이후 오픈소스 BLE 스택인 nimBLE로 전환함
- Core Time 2에는 nRF52840보다 더 많은 RAM과 처리 성능이 필요했음
- 더 큰 컬러 디스플레이가 더 많은 RAM을 요구함
- 새 기능을 위한 여유도 원했음
- Nordic을 계속 쓰고 싶었지만 BLE MCU 로드맵이 요구에 잘 맞지 않았음
- nRF54L15는 RAM이 256KB뿐이고 최근에야 양산에 들어가 사용 후기가 많지 않았음
- 1MB RAM의 54H 시리즈는 가격이 4~5달러 이상으로 두 배 수준이며, 512KB RAM 선택지가 없었음
- Core Time 2의 64색 MIP 디스플레이에는 특수 인터페이스가 필요했고, 2015년식 Pebble은 이를 위해 별도 FPGA를 사용했음
SiFli SF32LB52J를 고른 이유
- Apollo, BES, Dialog 등 여러 후보를 살펴봤지만 요구에 정확히 맞는 칩을 찾기 어려웠음
- 큰 걸림돌 중 하나는 오픈소스 SDK 부재였음
- BES의 한 칩은 좋아 보였지만 SDK와 예제 코드가 공개되어 있지 않았고, 모든 것이 NDA 뒤에 있었음
- PebbleOS가 오픈소스여야 하므로 이 방식은 맞지 않았음
- SiFli는 스마트워치의 주 칩으로 쓰이도록 만든 Bluetooth 칩을 제공함
- Redmi, Oppo, Noise 등 여러 브랜드의 수천만 대 스마트워치에 이미 사용되고 있음
- 가장 작은 칩인 SF32LB52x도 512KB 이상 SRAM과 16MB PSRAM을 제공함
- 전용 MIP 주변장치가 있어 별도 FPGA나 Epson 같은 비싼 전용 디스플레이 인터페이스 칩이 필요 없음
- BLE 연결 상태 전력 소비는 약 50µA이며 가격은 2달러 미만임
- 필요하면 1~2MB SRAM 옵션의 다른 SiFli 칩으로 전환할 수도 있음
- SiFli SDK는 GitHub의 OpenSiFli에 오픈소스로 공개되어 있으며, SiFli는 PebbleOS 포팅 지원도 제안함
- Core Time 2에는 SF32LB527의 1.8V 변형인 SF32LB52J가 사용될 예정임
관련 SiFli 링크
- SF32LB52x reference guide: SF32LB52x 참조 가이드
- OpenSiFli: SiFli 오픈소스 SDK GitHub
- Buy Devkit on Taobao: Taobao 개발 키트 구매 링크, Aliexpress는 추후 제공 예정
댓글과 토론
Hacker News 의견들
-
PebbleOS만 이 분야에 있는 건 아니고, https://www.espruino.com/도 있으며 https://banglejs.com/를 구동함
마이크로컨트롤러용 초소형 JavaScript 구현체라서 기기를 실시간으로 해킹하기 쉬움
Fallout Pip-Boy와 The Wand Company의 다른 제품에도 쓰이는 듯함: https://www.thewandcompany.com/fallout-pip-boy/
참고: https://github.com/orgs/espruino/discussions/7577- Bangle.js는 처음 들어봤는데, 이미 아는 언어로 만져볼 수 있다는 발상이 마음에 듦
사각형 디자인을 좋아하지 않아서 1세대 모델을 사고 싶지만, 더 이상 판매하지 않는 것 같음 - 덜 알려진 경쟁자들의 좋은 작업도 같이 알려주는 게 좋음
Pebble도 훌륭하지만 이런 프로젝트들도 관심을 받을 만함
그리고 기회가 있으면 Amazon의 Fallout 드라마도 볼 만함 - PineTime도 참고할 만함
- Bangle.js는 처음 들어봤는데, 이미 아는 언어로 만져볼 수 있다는 발상이 마음에 듦
-
“SDK가 오픈소스”라고 했지만, BLE 마이크로컨트롤러에 오픈소스 코드 SDK가 있다는 뜻은 아닌 듯함
보기에는 BLE 코드는 바이너리 블롭으로 제공됨
https://github.com/OpenSiFli/SiFli-SDK/tree/6c82a9b15db49871...
그 자체가 문제는 아니지만, “오픈소스”라고 부른다면 소스 코드를 읽을 수 있으면 좋겠음- BLE 무선 장치 펌웨어는 지식재산권과 규제 문제 때문에 항상 바이너리 블롭으로 제공될 가능성이 큼
-
이 스마트워치는 요즘 기준으로 보면 그다지 스마트하지는 않음
현재 쓰는 스마트워치의 NFC 결제, 듀얼 밴드 GPS 추적, 4G LTE 연결 같은 편의 기능이 많이 그리울 것 같음
Pebble과 rePebble은 그 대신 몇 주 가는 배터리를 택했지만, Galaxy Watch를 이틀에 한 번 충전하는 정도의 사소한 불편 때문에 이런 강력한 기능들을 포기하고 싶지는 않음- 반대로 그런 기능들은 전혀 중요하지 않고, 긴 배터리 수명은 중요함
서로 다른 사용자를 겨냥한 기기들이 존재하는 건 좋은 일임
대상 사용자가 다르다고 해서 “스마트하지 않다”기보다는, 내 용도에 맞지 않는 기기일 뿐임 - 내게는 충분히 스마트함
그런 기능들은 별로 필요 없고, 조금 커스터마이즈할 수 있고 알림을 받고 기본적인 심박수 측정만 되는 시계면 됨
일주일에 한 번 이상 충전해야 한다면 착용하지 않을 것 같음 - Garmin은 이미 이런 기능 대부분과 더 많은 기능을 갖추면서도 몇 주 가는 배터리를 제공한다는 점도 빠졌음
아직 4G는 없지만, 내년 기기에는 들어간다는 보도가 있었던 것으로 앎 - GPS는 나도 아쉽겠지만, 여전히 Pebble이 남긴 빈자리를 제대로 채우는 제품은 못 찾았음
Garmin은 배터리, 위젯, 캘린더, 화면 가독성 같은 다른 부분에서 타협이 있음
결국 모든 건 트레이드오프임 - 배터리 수명만 봐도 그렇지 않다고 봄
- 반대로 그런 기능들은 전혀 중요하지 않고, 긴 배터리 수명은 중요함
-
칩에 대한 추가 정보는 여기 있음:
https://www.cnx-software.com/2025/05/14/sifli-sf32lb52j-big-... -
메인 애플리케이션용 1개, BLE용 1개로 나누는 2칩 설계를 택하지 않은 게 흥미로움
고성능 마이크로컨트롤러에는 보통 RF가 없어서 가끔은 그런 설계가 말이 됨- 요즘 “고급” 마이크로컨트롤러는 꽤 훌륭함
NRF 계열도 있고, ESP32처럼 Bluetooth와 Wi-Fi를 한 패키지에 넣은 제품도 있음
개인적으로는 요즘 ESP32 쪽으로 기울 것 같고, 계속 잘 개선되고 있으며 커뮤니티 지원도 좋음
지금 MicroPython 기반 스마트워치 플랫폼을 개발 중임 - 칩이 많아질수록 프로젝트는 더 복잡해짐
부품표도 문제지만, 칩마다 보조 수동소자와 발진기가 필요하고, 칩 사이 통신을 조율해야 하며, 펌웨어 업데이트와 디버깅 접근 방식도 양쪽 모두에 대해 설계해야 함
배터리 수명을 조금 희생해서라도 단순하게 가는 편이 나을 수 있음 - SiFli 칩의 Cortex-M33 코어는 출시된 Pebble 중 가장 빠른 모델이 쓰던 M4 코어보다 훨씬 빠를 것이라서, 이보다 빠른 마이크로컨트롤러가 필요하지는 않음
대신 배터리 수명 증가는 매우 반갑고, 이번에 통합 Bluetooth 마이크로컨트롤러를 쓰는 것이 약 1주일 배터리에서 약 1개월 배터리로 개선된 큰 이유로 보임 - 그냥 시계일 뿐임
시간 표시, 심박수 기록, AWS에 신호 보내기 같은 일에 완전한 UNIX 컴퓨터가 필요하지는 않음
- 요즘 “고급” 마이크로컨트롤러는 꽤 훌륭함
-
저전력 칩 업계에서 드디어 오픈소스 방향으로 가는 시도가 보여 반가움
rePebble 발표를 보자마자 바로 신청했지만, 나중에 깨달은 건 사실 스마트워치가 아니라 진동 알림이 있는 단순한 시계를 원한다는 점임
소수 취향인 건 알지만, 꽤 열성적인 사람들이 있는 틈새임 [0] [1] [2]
지난 2년 동안 Casio F105를 차고 나니, 이보다 크거나 무겁거나 두꺼운 제품으로는 돌아가기 어려움
Bluetooth 기능이 조금 생긴다면 주 1회 충전은 받아들일 수 있음
요즘은 작은 진동 모터를 구동하고 iPhone의 모든 알림을 받을 수 있는 초소형 Bluetooth 칩을 찾고 있음
테스트해보니 F105의 양쪽 스트랩 사이에 칩, 모터, 작은 리튬 배터리를 붙여도 그 위치에 약간의 무게가 더해지는 건 잘 느껴지지 않았음
예전에 처음 쓴 Mi Band 1도 아직 기억남
화면 없이 RGB LED 3개만 있던 잊힌 피트니스 밴드였고, 알림을 보낸 앱에 따라 특정 색을 표시할 수 있어서 파란색 Messenger 채팅은 바로 답해야 한다거나, 노란색 Google Keep 알림은 컴퓨터로 돌아갈 때까지 무시해도 된다는 걸 즉시 알 수 있었음
[0] https://www.reddit.com/r/pebble/comments/9xw2j2/im_looking_f...
[1] https://www.reddit.com/r/smartwatch/comments/174hq9x/need_a_...
[2] https://tildes.net/~tech/18nf/smartwatch_primarily_for_notif...- 범위를 벗어날 수도 있지만 Citizen의 W770이 있음
최근에 상태 좋은 중고를 200달러 미만에 샀는데, 꽤 괜찮은 크로노그래프이고 BLE, 알람, 진동 모터가 있으며 약간 방치된 듯한 이상한 스크립트 가능 알림 생태계도 있음
시계로서는 다양한 인터페이스 방식을 이해하려면 설명서를 끝까지 읽어야 하지만, 디스플레이 없이 바늘만으로 모든 정보를 보여줘야 한다는 점을 생각하면 합리적임
처음 설정할 때 바늘 동기화가 필요할 수도 있는데 처음엔 꽤 당황스러웠음
슈퍼커패시터를 쓰는 효율적인 태양광 구동 방식이라 어둠 속에 둬도 몇 달 가고, 착용한다면 배터리 걱정은 사실상 없음
슈퍼커패시터는 닳으면 교체 가능하고, 다른 Citizen 시계 사례를 보면 대략 15~20년은 안정적으로 가는 듯함
잘 만들어진 실제 시계라서 꽤 마음에 들고, 원한다면 차고 잊어버려도 해마다 제 할 일을 함
Citizen에 BLE가 있는 다른 선택지도 있을 수 있음
누군가 알림과 BLE 통신 프로토콜을 역공학해서 오픈소스 동반 앱을 만들면 해커 성향의 사람들에게 꽤 재미있는 가능성이 열릴 것 같음 - 아직도 OG Pebble을 쓰고 있고, 돌아온다는 소식은 반갑지만 업그레이드할 계획은 없음
나도 요구사항은 단순함
진동 알람, 알림, 그리고 핵심적으로 강한 햇빛 아래에서도 읽히고 원시안인 눈에도 편한 디스플레이가 필요함
OG Pebble의 eInk 디스플레이가 딱 맞음
휴대폰을 꺼내지 않고 문자를 읽을 수 있는 것도 좋음
게다가 eBay에서 약 30달러에 구할 수 있고 새 배터리도 약 15달러라 부담이 크지 않음
Rebble.io 커뮤니티의 작업도 내 용도에는 아직 충분히 잘 동작함 - 동의함
빈티지 Seiko 시계에 쓸 수 있는 “스마트” 시계줄이나 버클을 찾고 있었음
휴대폰에서 아주 특정한 일이 일어날 때, 예를 들어 아내가 전화할 때만 진동 알림이 오면 됨
일반 스마트워치의 모든 기능이나 화면은 필요 없고, 너무 산만함 - 같은 상황임
Apple Watch는 UX가 끔찍함
2cm 화면에 1cm 손가락 끝이라니, 너무 많은 걸 하려 하고 내 취향도 아님
Pebble은 휴대폰에서 떨어져 있어도 문자나 전화 알림을 받고, 반응할지 판단할 만큼은 볼 수 있게 해줌
Pebble은 꽤 가볍고, 이 워치페이스를 올리면 익숙한 느낌이 날 것임:
https://store-beta.rebble.io/app/52f0939b1ac7948708001fc9 - “진동 알림이 있는 단순한 시계”를 원한다는 데 동의함
알림은 대개 시간에 민감하지 않음
몇 년 전 휴대폰이 별 의미 없는 알림을 계속 울려서 주의를 빼앗는다는 걸 깨닫고, 모든 알림을 꺼버렸음
몇 시간에 한 번씩만 확인해서 들어온 메시지에 답함
일반 스마트워치는 내게 거의 쓸모가 없고, 손목에 메시지 알림이 오는 건 큰 역기능에 가까움
다만 알람을 편하게 설정하고 시간이 되면 손목에서 진동하는 기능은 있으면 좋겠음
“버스 타려면 지금 나가라”거나 “이제 쉬어라” 같은 알림이면 충분함
그 이상은 필요 없고 화려한 센서도 필요 없음
- 범위를 벗어날 수도 있지만 Citizen의 W770이 있음
-
저렴한 중국산 Freqchip SoC를 만지기 시작했음:
https://github.com/zoobab/FR801xH
Ali에서 이 칩을 쓴 스마트워치를 3유로에 살 수 있었음- 와, 이 칩들 중 일부는 3천 개 최소 주문 수량에서 2.6위안, 즉 0.36달러인데 Arm Cortex-M3와 BLE, sig-mesh까지 지원함
정말 말이 안 될 정도로 싸다
SDK는 얼마나 쓸 만한가? - 그 시계 중 하나 링크를 줄 수 있나?
두 번 빠르게 검색해봤는데 찾지 못했음
- 와, 이 칩들 중 일부는 3천 개 최소 주문 수량에서 2.6위안, 즉 0.36달러인데 Arm Cortex-M3와 BLE, sig-mesh까지 지원함
-
글 잘 봤고, 어느 정도 오픈소스 하드웨어에서 PebbleOS가 돌아가는 걸 보니 멋짐
다만 2025년에도 왼쪽 정렬 블로그를 계속 봐야 하나?
와이드 화면은 오래전부터 있었고, 괜히 읽기 어렵게 만듦 -
“가장 흥미롭고 어려운 제약은 사실 소프트웨어 호환성”이라고 했지만, 아마 가장 우회하기 쉬운 제약일 것 같음
목록에서는 더 뒤쪽에 둘 것 같음- 이 제품에서 소프트웨어 호환성이 특히 중요한 큰 이유가 두 가지 있음
첫째, 지금 팀은 예전 Pebble 팀에 비해 확실히 작아서 소프트웨어 작업이 적을수록 좋음
둘째, 원래 Pebble용 앱과 워치페이스는 컴파일된 ARM 바이너리로 배포됐기 때문에, 완전히 다른 명령어 집합의 마이크로컨트롤러를 고르면 하위 호환성을 잃게 됨
예를 들어 ESP32가 그 범주에 들어감, 애초에 좋은 선택지도 아니었겠지만 - 전혀 그렇지 않음
모든 것이 독점이면 막다른 길을 많이 만나게 됨
표준 PC 하드웨어 같은 경우와는 완전히 다름
- 이 제품에서 소프트웨어 호환성이 특히 중요한 큰 이유가 두 가지 있음
-
이 글이 마음에 듦
nimBLE는 훌륭한 Bluetooth 스택이고, 앞으로 Core Devices에 흥미로운 기회를 열어줄 것 같음