ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
작업을 이어받는다면 docs/인수인계.md 부터 읽어라. 폰에서 열고 "홈 화면에 추가" 를 누르면 앱처럼 씁니다. 아이폰: 공유 버튼 → 홈 화면에 추가 · 안드로이드: 메뉴 → 홈 화면에 추가 동기끼리 매일 15분. 단어 10개 + 문형 틀 2개 + 대화 미션 1개. 신규는 다 같이, 복습은 각자. 지금 상태 일상 기초 한 트랙. 완전 초보(베트남어를 전혀 모르는 사람) 기준. • 대화 문장은 그날 배운 단어로만 만든다 — 자동 검증, 위반 0건 • 서버 없음. 진도는 브라우저에 저장 (백업 버튼 있음) 나중에 (선배 자료 받은 뒤) 하루 2세트로 늘린다 — 일상 기초 + 직업(생산제조). 직업 트랙용 현장 어휘 100개는 data/보관/v2-현장어휘-보관.json 에 넣어뒀다. 브라우저에서 http://localhost:8899 열기. 8899 여야 한다. Cloudflare 워커(AI·동아리)가 허용하는 개발용 주소가 이것뿐이라, 다른 번호로 띄우면 AI·로그인 기능이 403 으로 막힌다. main 에 push 하면 GitHub Pages 가 1분 안에 반영한다.查看完整 README ↗
작업을 이어받는다면 docs/인수인계.md 부터 읽어라.
폰에서 열고 "홈 화면에 추가" 를 누르면 앱처럼 씁니다. 아이폰: 공유 버튼 → 홈 화면에 추가 · 안드로이드: 메뉴 → 홈 화면에 추가
동기끼리 매일 15분. 단어 10개 + 문형 틀 2개 + 대화 미션 1개. 신규는 다 같이, 복습은 각자.
일상 기초 한 트랙. 완전 초보(베트남어를 전혀 모르는 사람) 기준.
| 준비 3일 | 글자·모음 / 성조 6개 / 헷갈리는 자음 |
| 20일 | 단어 100개 (하루 5개), 대화 20개 (하루 주고받는 2문장) |
| 하루 분량 | 단어 10 + 대화 1개(2문장) — 약 15분 |
| 성조 | 글자에서 자동으로 뽑아 모든 단어·문장에 표시 (tools/tone.py) |
| 음성 | MP3 774개 / 12MB (남·여 × 보통·느린) |
| 그림 | 구체어 64개에만 (추상어 36개는 일부러 없음) |
| 노래 | audio/song/dayNN.mp3 를 넣으면 자동으로 버튼이 생김 — docs/노래-만들기.md |
준비 P1 글자와 모음 · P2 성조 6개 · P3 헷갈리는 자음
1~5 인사 / 이름 / 반갑습니다 / 감사·대답 / 안부
6~10 나라 / 사는 곳 / 못 알아들었을 때 / 알아요·몰라요 / 작별
11~15 개수 / 숫자 4~8 / 나이 / 시간 / 하루 일과
16~20 요일 / 음식 / 값 / 도움 요청 / 약속
단어 10장 → 대화 1장
[ 오늘의 대화 · 이름 묻고 답하기 ]
▶ 대화 전체 듣기
┌────────────────────────────┐
│ Ⓐ 🔊 🐢 │
│ Tên của anh là gì? │
│ 형 이름이 뭐예요? │
│ \huyền /sắc —ngang │ ← 성조 자동 표시
│ [Tên|이름][của|~의][là|이다]│ ← 단어별 풀이
│ 한글 발음 보기 │
└────────────────────────────┘
┌────────────────────────────┐
│ Ⓑ 🔊 🐢 │
│ Tên tôi là Nam. │
│ 제 이름은 남이에요. │
└────────────────────────────┘
하루 2세트로 늘린다 — 일상 기초 + 직업(생산제조).
직업 트랙용 현장 어휘 100개는 data/보관/v2-현장어휘-보관.json 에 넣어뒀다.
python3 -m http.server 8899
브라우저에서 http://localhost:8899 열기.
8899 여야 한다. Cloudflare 워커(AI·동아리)가 허용하는 개발용 주소가 이것뿐이라, 다른 번호로 띄우면 AI·로그인 기능이 403 으로 막힌다.
python3 tools/stamp.py # ← 반드시 먼저. 안 하면 옛 화면이 계속 보인다
git add -A && git commit -m "..." && git push
main 에 push 하면 GitHub Pages 가 1분 안에 반영한다.
왜 stamp.py 가 필요한가: GitHub Pages 는 CSS/JS 에
max-age=600을 붙여 브라우저가 10분간 옛 파일을 쓴다.stamp.py가style.css?v=<내용해시>처럼 주소를 바꿔서 강제로 다시 받게 한다. 내용이 안 바뀌면 해시도 그대로라 헛되이 안 받는다.
커리큘럼 원본은 tools/build_*.py 다. data/days.json 을 직접 고치지 말 것.
sh tools/build_all.sh # 전부 — 차례가 중요하다(아래 참고)
python3 tools/assemble.py # 검증만 하고 싶을 때
build_all.sh 가 도는 차례. 이 차례를 지켜야 한다 — 뒤 도구가 앞 도구 결과를
쓰고, 순서를 어기면 조용히 사라지는 것이 생긴다(실제로 8.5강이 통째로 되돌아갔다).
| 차례 | 도구 | 하는 일 |
|---|---|---|
| 1 | b9.py 등 b*.py·w*.py | 커리큘럼 원본 → data/_b*.json |
| 2 | assemble.py --write | 합치고 검증하고 days.json 기록 |
| 3 | fix10.py | 한 강 = 낱말 10개로 맞춤 (넘치면 ②강으로 쪼갬) |
| 4 | img_relink.py | 이미 구운 그림을 다시 이어 붙임 |
| 5 | new_dialogs.py | 쪼개진 강에 대화문 + 강 번호 다시 매김 |
| 6 | fill_missions.py | 빈 미션 채움 |
| 7 | apply_patches.py | 맨 마지막 — days.json 에만 살아 있던 사용자 지시 수정 되돌림 |
| 8 | hanja_attach.py → gen_covers.py → gen_audio.py → stamp.py | 한자·표지·음성·판번호 |
점수와 크레딧 값은 tools/pricing.py 가 계산한다 → docs/scoring-basis.md.
손으로 고치지 말고 그 파일을 고쳐라.
assemble.py 가 막아주는 것: 단어 중복, 아직 안 배운 낱말이 문장에 섞이는 것.
둘 중 하나라도 걸리면 days.json 을 쓰지 않는다.
edge-tts 필요: pip install edge-tts (무료·계정 불필요)
index.html / app.js / style.css 화면과 로직
tools/build_days.py 준비 3일 + Day 1~5 ← 커리큘럼 원본
tools/build_p2.py Day 6~12 ← 커리큘럼 원본
tools/build_p3.py Day 13~20 ← 커리큘럼 원본
tools/assemble.py 합치기 + 검증
tools/gen_audio.py 음성 생성기
data/days.json (자동 생성) 커리큘럼 전부
data/audio_index.json (자동 생성) 텍스트 → 파일명 대조표
audio/{f,m}/{n,slow}/*.mp3 (자동 생성) 음성
docs/plan.md 기획서
docs/research-textbooks.md 교재·교육기관 조사
| 기능 | 근거 | 강도 |
|---|---|---|
| 확인 문제(인출) | 1주 뒤 회상 61% vs 다시읽기 40%. fMRI로 해마 앞·뒤 동시 강화 | 매우 강함 |
| 간격 반복 1·3·7·14·30·60일 | Cepeda 외(317개 실험) — 최적 간격은 목표 기간의 비율. 1주 목표면 20 | 매우 강함 |
| 틀린 건 그 자리에서 다시 | 틀린 채로 끝내면 그 기억이 남는다. 성공한 인출로 마무리해야 한다 | 강함 |
| 🎤 따라 말하기 + 녹음 비교 | 산출 효과 — 소리 내면 기억이 크게 좋아진다. 남이 읽어주는 것보다 내가 말한 게 더 남는다 | 매우 강함 |
| ✋ 단어마다 지정된 손짓 | 몸짓 단어는 14개월 뒤까지 차이가 남았다. 단 뜻에 맞는 손짓일 때만 — 안 맞는 손짓은 아무것도 안 한 것보다 나빴다 | 강함 |
| 회상형 문제 | 4지선다는 실력을 20% 부풀려 보인다. 익숙해진 단어(2단계↑)는 보기 없이 떠올리게 한다 | 강함 |
| 🌙 저녁에 성조 훈련 | 성조 변별 훈련: 아침 학습 집단은 하루 뒤 정확도가 떨어졌고, 저녁 집단은 수면 뒤 개선 | 강함 |
| 그림(64/100 단어) | 그림 우위 — 단 구체적인 것에만. 추상어 36개엔 일부러 안 붙였다(인지부하) | 중간 |
| 그림은 단순하게 | 사실적일수록 낫지 않다. 세밀한 그림은 '유혹적 세부'로 작동해 오히려 방해한다 | 중간 |
| 🎵 노래 자리 | 노래 조건이 말하기보다 우수(p<.05). 리듬만으론 안 되고 멜로디여야 한다 | 중간·구절 단위 |
| ✍️ 주 1회 손으로 쓰기 | 산출 효과에 쓰기도 포함. 성조 부호는 그려봐야 눈에 들어온다 | 중간 |
새 단어 → 1일 → 3일 → 7일 → 14일 → 30일 → 60일
맞히면 다음 칸으로. 틀리면 두 칸 뒤로 (처음으로 되돌리지 않는다)
그리고 틀린 문제는 그 판 안에서 한 번 더 물어본다
점수·배지가 학습을 만든다는 증거는 약하다. 올리는 건 참여다. 그런데 간격 반복은 돌아와야 돌아간다 — 그래서 목표를 '돌아오는 것'에만 걸었다.
일부러 안 넣은 것
tools/gestures.py 에 단어별로 지정했고, 자연스러운 손짓이 없는 36개는 일부러 비워뒀다지금은 이모지로 자리만 잡아뒀다. 바꿔 끼우려면:
| 용도 | 추천 | 라이선스 |
|---|---|---|
| 명사 그림 | ARASAAC 픽토그램 (약 5,000개, 언어 지원용으로 만들어진 단순 선화) | CC BY-NC-SA — 출처 표시 필요, 상업 이용 불가 |
| 명사 그림 (직접 생성) | Microsoft Copilot Designer, Ideogram(하루 10장), Leonardo AI(하루 150토큰) | 상업 이용 가능 |
| 동사 영상 (19개) | Seedance 2.0, Luma Dream Machine, Google Veo 3(월 10회) | 도구별 확인 필요 |
tools/visuals.py 의 vkind 가 'action' 인 19개만 영상으로 바꾸면 된다.
나머지는 정지 그림이 낫다 — 영상은 흘러가 버려서 작업기억에 부담을 준다.