ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗บทเรียนคอมพิวเตอร์เชิงโต้ตอบภาษาไทย มีเสียงอ่านทุกข้อความ ทำงานบนเว็บเบราว์เซอร์ทุกอุปกรณ์ ไม่ต้องดาวน์โหลด
Interactive Thai computer-literacy lessons with read-aloud on every line. Runs in any browser — no download. Mapped to the EU DigComp 3.0 framework (JRC, 2025) at the Basic proficiency level, plus a separate AI-literacy course.
There are no student or teacher accounts. Progress lives in the browser session only. The one thing the server stores is a certification record (name, grade level, score) when a student passes the final boss fight.
A Next.js (App Router) site. The lessons themselves are self-contained HTML games in public/games/, opened inside the site in an iframe. The catalog (which lesson belongs to which area) is lib/content.ts.
| Area | Lessons | Files in public/games/ |
|---|---|---|
| 0 · พื้นฐานคอมพิวเตอร์ | Computer Explorer, Click Trainer, Keyboard Master | unit1-computer-explorer, unit2-click-accuracy-trainer, unit3-keyboard-master |
| 1 · การค้นหา ประเมิน และจัดการข้อมูล | Browser Quest | unit4-browser-quest |
| 2 · การสื่อสารและการทำงานร่วมกัน | Email, Digital Citizen | unit7-message-master, unit6-digital-citizen |
| 3 · การสร้างเนื้อหาและดูแลบัญชีดิจิทัล | Google Account, Creator Rights | unit3-google-account, unit8-creator-rights |
| 4 · ความปลอดภัย ความเป็นอยู่ที่ดี | Cyber Safety Shield | unit5-safety-shield |
| 5 · การระบุปัญหาและการแก้ปัญหา | IT Doctor | unit9-it-doctor |
| 6 · ทักษะ AI เพื่ออนาคต (3 modules, 9 lessons) | AI foundations, model trainer, bias detective, AI around us; prompting, discernment, diligence; assistant design, learning with AI | ai01 … ai12 |
Also on the site:
final-bossfight.html) — the capstone test. Passing it opens the certificate form (components/CertificateModal.tsx → POST /api/certify). It tests the basic-skills areas (hardware, mouse, keyboard, browser, cyber safety), not every lesson./compete) — live head-to-head races between students (typing, drag-and-drop, file sorting, scam quiz)./guide) and admin dashboard (/admin, password-protected) for seeing who passed./audio-check) — lets a teacher confirm sound works on a classroom machine.Each lesson is a single HTML file; the shared engines are in public/games/_lib/:
dlf-unit-engine.js, dlf-ai-engine.js — lesson engines (results reporting, speaker UI, confetti/applause).dlf-bossfight-engine.js — final boss fight engine.theme-base.css — shared colour tokens.try-real.js — the "try it for real" card used by the AI lessons.Every spoken line calls dlf.speak(text). Each lesson embeds a map (<script id="dlfAudioData">) from md5(text)[:12] to a pre-recorded MP3 in public/games/audio/<lesson>/. On a page that has recordings, a line with no clip is silent (and logs a warning to the console) — the browser's own voice is deliberately not used, because it reads Thai badly on machines without a Thai voice.
To record missing clips:
node scripts/gen-audio-edge.mjs --dry # report what is missing, synthesize nothing
node scripts/gen-audio-edge.mjs # record the missing clips (Edge TTS)
npm install
npm run dev # http://localhost:3000
npm run build # production build
npm run lint
npm run check # health check: every lesson file in lib/content.ts exists, has teacher-guide notes, etc.
Copy .env.example to .env.local. With none set the app still runs; certifications just aren't saved and /admin stays locked.
| Variable | Purpose |
|---|---|
DATABASE_URL | Neon Postgres (pooled connection string). Stores certification records only. |
SESSION_SECRET | Signs the admin session cookie (32+ random characters). |
ADMIN_PASSWORD | Password for /admin. |
The database schema is db/schema.sql and is safe to re-run (no DROP statements). db/reset.sql is the separate, explicit wipe script.
พัฒนาโดย / Developed by PaoPao Punyasataporn · อ้างอิง DigComp 3.0 (European Commission, JRC, 2025)
© 2026 PaoPao Punyasataporn. All rights reserved.