
Pairing ESP32 C3FH4X V21 BATTERY 1000 2000 FIX8 CLEAN
windmoondreamer/pairing-voice-cube
아이가 목소리를 녹음하고, 부모가 버튼을 눌러 재생하는 장치의 회로기판 프로젝트. 80mm 큐브 케이스 · 최대 45초 녹음 · 내장 플래시 · 배터리 구동.

아이가 목소리를 녹음하고, 부모가 버튼을 눌러 재생하는 장치의 회로기판 프로젝트. 80mm 큐브 케이스 · 최대 45초 녹음 · 내장 플래시 · 배터리 구동.
Pairing ESP32 C3FH4 V29 OPTIMIZED is an open-source printed circuit board by windmoondreamer, from the windmoondreamer/pairing-voice-cube repository on GitHub. It is a 4-layer board of 62 × 60 mm with 78 parts on 70 nets, routed with 335 tracks and 103 vias.
It is built around the ESP32-C3FH4, MAX98357AETE+T and BQ24074RGTR, with the LTC2954ITS8-1#TRMPBF, MIC5504-1.8YM5-TR and MMICT5848-00-012 among its other parts. Its parts include 29 capacitors, 18 resistors, 9 ICs, 3 connectors and 2 diodes. It belongs with the ESP32 and RISC-V boards of this library.
아이가 목소리를 녹음하고, 부모가 버튼을 눌러 재생하는 장치의 회로기판 프로젝트. 80mm 큐브 케이스 · 최대 45초 녹음 · 내장 플래시 · 배터리 구동.
v13은 개당 4,912원 적자였다. 원가를 실제로 뽑아보니 돈은 MCU가 아니라 전원부 두 IC에 묶여 있었다. → V14로 전면 간소화. 기판 부품비 48% 절감, 딥슬립 90µA→31µA, 전 부품 손납땜 가능.
| 총원가 | 판매가 28,000 기준 | |
|---|---|---|
| v13 (현행 KiCad) | 32,912원 | −4,912원 적자 |
| v14 (설계 확정, 보드 미착수) | 22,982원 | +5,018원 흑자 |
docs/V14_간소화_결정안.mddocs/V14_설계사양.mddocs/PCB_설계사양서_V14.htmldocs/BOM_검토서.html — 채택 5 · 조건부 3 · 기각 4docs/베어칩안_부품표_버튼구성.html — 메인 39개 + 외부 7종docs/prompt_v14.txtdocs/CASE_VENDORS_방향A.md마지막 동작하는 KiCad 보드는 versions/v13_bottom_face/ (4층, ESP32-S3, DRC 0/0/0).
v14 보드는 아직 안 그렸다 — 아래 "V14 요약" 참조.
| 항목 | v13 | v14 |
|---|---|---|
| MCU | ESP32-S3-WROOM-1-N8 (4,242원) | ESP32-C3-WROOM-02D-N4 (2,458원) — KiCad 공식 풋프린트 |
| 충전 | BQ25185 (2,520원) | TP4056 (92원) |
| 레귤레이터 | TPS63031 벅부스트 (2,800원 + 인덕터) | HT7333 LDO (150원) — 효율 동일, 정지전류 35µA→4µA |
| USB | USB-C 16핀 온보드 + USBLC6 ESD | 충전 전용, 기판에서 분리 → 후면 1.5cm 높이 브레이크아웃 |
| 버튼 | REC + PLAY + RESET + BOOT + 슬라이드 | 다기능 1개(온보드) + 재생(윗면) |
| 층수 | 4층 | 2층 |
| 조립 | 열패드 IC → 핫에어/PCBA 필수 | 인두로 40개 직접 조립 가능 |
| 버전 | 폴더 | 구조 | 핵심 | 상태 |
|---|---|---|---|---|
| V7 | versions/v7_baseline/ | 2층 | ESP32-S3 개발보드 헤더 + 모듈들. 시작점 | 보관 |
| V8 | versions/v8_wroom_2layer/ | 2층 | ESP32-S3-WROOM 직접실장. LED저항·6핀마이크 온보드. 내가 생성 | 보관(학습·수동조립용) |
| V9 fix18 | versions/v9_fix18_archived/ | 4층 | USB-C 충전+벅부스트+ESD. 단 73×85mm라 80큐브 미수납 | 아카이브 |
| V9 fix23 | versions/v9_fix23_current/ | 4층 | fix18과 회로 동일 + 축소(큐브 수납) + 스텁 제거 | 보관 |
| V10 AA | versions/v10_aa_battery/ | 4층 | AA 건전지안. 폐기 (C타입 충전식으로 방향 확정) | 폐기 |
| V11 | versions/v11_usbc_mood/ | 4층 | USB-C 충전 + 정면 무드등 PWM + 앰프 셧다운(AMP_SD) | 보관 |
| V12 | versions/v12_rec_onboard/ | 4층 | REC 버튼 온보드(측면작동 택트) — 후면 배치안 | 보관 |
| V13 | versions/v13_bottom_face/ | 4층 | PCB 뒤집어 실장 → 아랫면 REC(수직 택트)·마이크 | 현재 |
세대 흐름: V7(개발보드) → V8(WROOM 직접실장, 2층) → V9 fix18(4층 제품화) → V9 fix23(크기 축소) → V10 AA(건전지, 폐기) → V11(USB-C + 무드등) → V12(REC 온보드) → V13(아랫면 REC·마이크, 발주 후보).
project_folder/
├── README.md ← 이 파일 (인덱스)
├── CLAUDE.md ← 프로젝트 규칙·목표·DRC 루프
├── docs/
│ └── prompt_v8.txt ← V8 작업 지시서(스펙)
└── versions/
├── v7_baseline/ ← V7 KiCad + 생성 스크립트
├── v8_wroom_2layer/ ← V8 KiCad + 생성기 + DRC 검사기 + 풋프린트 라이브러리 + DRC 리포트
├── v9_fix18_archived/ ← V9 fix18 (73×85, 큐브 미수납. 대체됨)
├── v9_fix23_current/ ← V9 fix23 (v11의 베이스)
├── v10_aa_battery/ ← V10 AA 건전지안 (폐기)
├── v11_usbc_mood/ ← V11 (무드등·AMP_SD 추가. v12의 베이스)
├── v12_rec_onboard/ ← V12 (후면 REC 배치안. v13의 베이스)
└── v13_bottom_face/ ← V13 KiCad + 라이브러리 + 정식 DRC 리포트 (현재)docs/에 스펙(prompt_v8.txt)과 fix23 검토·문제점 문서(REVIEW_v9_fix23.md).
참고:
versions/v9_fix18_current.zip은 사용자가 만든 fix18 백업. 불필요하면 삭제 가능.
각 버전 폴더는 자기완결(KiCad 프로젝트 + 풋프린트 라이브러리 + fp-lib-table 동봉).
해당 폴더의 .kicad_pro를 KiCad로 열면 됨.
| 항목 | V8 (2층) | V9 (4층, 현재) |
|---|---|---|
| 전원 | 외부 레귤레이터 모듈 (3.7→3.3V 강하 여유 걱정) | TPS63031 벅-부스트 (저전압서도 3.3V 유지) |
| 충전 | 없음 | BQ25185 USB 리튬 충전 |
| 프로그래밍 | USB-시리얼 어댑터 필요 | USB-C 네이티브 + 백업 UART 헤더 |
| ESD 보호 | 없음 | USBLC6-2SC6 |
| 버튼 | 프로그래밍 헤더만 | RESET / BOOT 온보드 |
| 조립 난이도 | 쉬움 (모듈+스루홀) | 어려움 (전 SMD, 핫에어/PCBA 대행 권장) |
수동 조립·학습은 V8, 제품 발주는 V9.
versions/v9_fix18_current/에서
kicad-cli pcb drc --schematic-parity --exit-code-violations pairing_voice_pcb_v9_fix18.kicad_pcbversions/v8_wroom_2layer/에서 python3 make_pairing_voice_pcb_v8_wroom_direct_mcu.py로 재생성,
python3 check_v8_drc.py(자체 기하 검사) 또는 kicad-cli로 검증.| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 1.5uF force-off delay | PairingV22:C30_V22 | C30 |
| 1 | 1.8k | PairingV22:R12_V22 | R12 |
| 1 | 100k | PairingV22:R9_V22 | R9 |
| 1 | 100k AMP_EN pulldown | PairingV22:R26_V22 | R26 |
| 1 | 100k EN pullup | PairingV22:R30_V22 | R30 |
| 1 | 100nF | PairingV22:C21_V22 | C21 |
| 1 | 100nF | PairingV22:C3_V22 | C3 |
| 1 | 100nF | PairingV22:C25_V22 | C25 |
| 1 | 100nF | PairingV22:C7_V22 | C7 |
| 1 | 100nF | PairingV22:C16_V22 | C16 |
| 1 | 100nF | PairingV22:C5_V22 | C5 |
| 1 | 100nF | PairingV22:C20_V22 | C20 |
| 1 | 100nF | PairingV22:C6_V22 | C6 |
| 1 | 100nF | PairingV22:C12_V22 | C12 |
| 1 | 10k | PairingV22:R7_V22 | R7 |
| 1 | 10k | PairingV22:R6_V22 | R6 |
| 1 | 10k | PairingV22:R5_V22 | R5 |
| 1 | 10k CHG pullup | PairingV22:R27_V22 | R27 |
| 1 | 10k INT pullup | PairingV22:R29_V22 | R29 |
| 1 | 10k KILL pullup | PairingV22:R28_V22 | R28 |
| 1 | 10uF | PairingV22:C15_V22 | C15 |
| 1 | 10uF | PairingV22:C1_V22 | C1 |
| 1 | 10uF | PairingV22:C27_V22 | C27 |
| 1 | 10uF | PairingV22:C24_V22 | C24 |
| 1 | 10uF | PairingV22:C4_V22 | C4 |
| 1 | 10uF | PairingV22:C23_V22 | C23 |
| 1 | 10uF 25V X5R | PairingV22:C17_V22 | C17 |
| 1 | 12pF | PairingV22:C11_V22 | C11 |
| 1 | 12pF | PairingV22:C10_V22 | C10 |
| 1 | 1M | PairingV22:R4_V22 | R4 |
| 1 | 1V8 | PairingV22:TP3_V22 | TP3 |
| 1 | 1k | PairingV22:R8_V22 | R8 |
| 1 | 1nF slew control | PairingV22:C32_V22 | C32 |
| 1 | 1uF 25V X5R | PairingV22:C9_V22 | C9 |
| 1 | 1uF 25V X5R | PairingV22:C8_V22 | C8 |
| 1 | 1uF 25V X7R | PairingV22:C19_V22 | C19 |
| 1 | 1uF 25V X7R | PairingV22:C18_V22 | C18 |
| 1 | 1uF 25V X7R | PairingV22:C13_V22 | C13 |
| 1 | 1uH WPN252012E1R0MT | PairingV22:L1_V22 | L1 |
| 1 | 2A PTC 6V | PairingV22:F1_V22 | F1 |
| 1 | 3.3k ILIM ~0.49A | PairingV22:R13_V22 | R13 |
| 1 | 330k | PairingV22:R11_V22 | R11 |
| 1 | 3V3 | PairingV22:TP2_V22 | TP2 |
| 1 | 40MHz 8pF | PairingV22:Y1_V22 | Y1 |
| 1 | 47nF ON delay ~0.33s | PairingV22:C29_V22 | C29 |
| 1 | 47uF 10V X7R | PairingV22:C14_V22 | C14 |
| 1 | 47uF 10V X7R | PairingV22:C26_V22 | C26 |
| 1 | 47uF 10V X7R | PairingV22:C2_V22 | C2 |
| 1 | 5.1k CC1 Rd | PairingV22:R18_V22 | R18 |
| 1 | 5.1k CC2 Rd | PairingV22:R19_V22 | R19 |
| 1 | 511k | PairingV22:R16_V22 | R16 |
| 1 | 91k | PairingV22:R17_V22 | R17 |
| 1 | B3B-PH-K-S(LF)(SN) | PairingV22:J2_V22 | J2 |
| 1 | BOOT | PairingV22:TP8_V22 | TP8 |
| 1 | BQ24074RGTR | PairingV22:U3_V22 | U3 |
| 1 | EN | PairingV22:TP5_V22 | TP5 |
| 1 | ESP32-C3FH4 | PairingV22:U1_V22 | U1 |
| 1 | EVQPLHA15 low-profile REC | PairingV22:SW1_V22 | SW1 |
| 1 | GND | PairingV22:TP4_V22 | TP4 |
| 1 | LTC2954ITS8-1#TRMPBF | PairingV22:U8_V22 | U8 |
| 1 | M2 | PairingV22:H2_V22 | H2 |
| 1 | M2 | PairingV22:H1_V22 | H1 |
| 1 | M2 | PairingV22:H4_V22 | H4 |
| 1 | M2 | PairingV22:H3_V22 | H3 |
| 1 | MAX98357AETE+T | PairingV22:U5_V22 | U5 |
| 1 | MIC5504-1.8YM5-TR | PairingV22:U6_V22 | U6 |
| 1 | MMICT5848-00-012 | PairingV22:U4_V22 | U4 |
| 1 | SKPMAME010 | PairingV22:SW2_V22 | SW2 |
| 1 | SMF5.0A-TP | PairingV22:D2_V22 | D2 |
| 1 | SPK_OUT_2X32MM_8R_2W_PARALLEL | PairingV22:J3_V22 | J3 |
| 1 | TPS22965NDSGR | PairingV22:U9_V22 | U9 |
| 1 | TPS631000DRLR | PairingV22:U2_V22 | U2 |
| 1 | TXU0204PWR | PairingV22:U7_V22 | U7 |
| 1 | UART_RX | PairingV22:TP6_V22 | TP6 |
| 1 | UART_TX | PairingV22:TP7_V22 | TP7 |
| 1 | USB Type-C USB2.0 | PairingV22:J1_V22 | J1 |
| 1 | VBUS | PairingV22:TP1_V22 | TP1 |
| 1 | XL-1608WWC-06 warm white 0603 top-emitting | PairingV22:D1_V22 | D1 |

windmoondreamer/pairing-voice-cube
아이가 목소리를 녹음하고, 부모가 버튼을 눌러 재생하는 장치의 회로기판 프로젝트. 80mm 큐브 케이스 · 최대 45초 녹음 · 내장 플래시 · 배터리 구동.

windmoondreamer/pairing-voice-cube
아이가 목소리를 녹음하고, 부모가 버튼을 눌러 재생하는 장치의 회로기판 프로젝트. 80mm 큐브 케이스 · 최대 45초 녹음 · 내장 플래시 · 배터리 구동.

windmoondreamer/pairing-voice-cube
아이가 목소리를 녹음하고, 부모가 버튼을 눌러 재생하는 장치의 회로기판 프로젝트. 80mm 큐브 케이스 · 최대 45초 녹음 · 내장 플래시 · 배터리 구동.

windmoondreamer/pairing-voice-cube
아이가 목소리를 녹음하고, 부모가 버튼을 눌러 재생하는 장치의 회로기판 프로젝트. 80mm 큐브 케이스 · 최대 45초 녹음 · 내장 플래시 · 배터리 구동.

windmoondreamer/pairing-voice-cube
아이가 목소리를 녹음하고, 부모가 버튼을 눌러 재생하는 장치의 회로기판 프로젝트. 80mm 큐브 케이스 · 최대 45초 녹음 · 내장 플래시 · 배터리 구동.

Nautilus-UUV/nautilus-mainboard-PCB
Additionally the mainboard provides two IMUs (BMI088) that can be accessed over I^2C by the STM32. Those components house accelerometers and gyroscopes for orientation and movement detection and listen to the following…

RubisCatty/Serre-Connecte
Projet final du programme de Génie Électrique par Sonia Michaud

EdmundLimBoEn/gps-maidenhead-device
Open-source portable GNSS Maidenhead grid locator with a 16x2 LCD





sage-fieldassistant/NASA-Geological-Field-Assistant
NASA Geological Field Assistant - 2025 Computer Engineering Capstone
It measures 62 × 60 mm and has 4 copper layers, 1.2 mm thick.
78 parts, built around the ESP32-C3FH4, MAX98357AETE+T, BQ24074RGTR and LTC2954ITS8-1#TRMPBF. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the windmoondreamer/pairing-voice-cube repository on GitHub, at the commit this page was made from: the board is 최신버전/Pairing_ESP32_C3FH4_V29_OPTIMIZED_FINAL_20260720/01_KiCad_Source/Pairing_ESP32_C3FH4_V29_OPTIMIZED.kicad_pcb and its schematic versions/Pairing_ESP32_C3FH4X_V21_BATTERY_1000_2000_FIX8_CLEAN/Pairing_ESP32_C3FH4X_V21_BATTERY_1000_2000_FIX8_CLEAN.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask windmoondreamer before reusing the design.