ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Brain Snacks · חטיפים למוח — learning games and hands-on interactive lessons for kids, in Hebrew. Less scrolling, more growing.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗פחות גלילה, יותר גדילה. Less scrolling, more growing.
Brain Snacks is a small, growing collection of learning games and interactive lessons for kids: short, hands-on, and built to actually teach something, as an alternative to games that just eat time. Everything runs in the browser, in Hebrew first, with no accounts, ads or tracking.
Play it: https://brainsnacks.pages.dev
| Name | Ages | Language | What you learn | Docs | |
|---|---|---|---|---|---|
| 🎮 Game | Rotem's Sky Letters | 4–7 | עברית + English | Reading aloud: English syllables (BA, DE…) and Hebrew words with nikud | docs |
| 🎮 Game | דגי המספרים · Number Fish | 4–7 | עברית | Numbers to 20, counting, adding and subtracting within 10 | docs |
| 🧪 Lesson | מעבדת הנייר המעופף · The Flying Paper Lab | 8–12 | עברית | Air pressure, Bernoulli, lift and drag, fair experiments | docs |
| 🧪 Lesson | מעבדת הצליל · The Sound Lab | 9–13 | עברית | Waves, frequency, inverse proportion, musical ratios, speed of sound | docs |
| 🧪 Lesson | כמה ארוכה שנה? · How Long Is a Year? | 10–14 | עברית | The solar year vs. the lunar month; leap years in the Gregorian, Hebrew and Islamic calendars, calculated by hand | docs |
The same list, machine-readable, is in site/catalog.json (ages,
languages, skills, microphone use). Keep it in step with the catalogue page.
site/ published as-is to Cloudflare Pages (no build step)
index.html the catalogue page (Hebrew, right to left)
catalog.json the list of games and lessons, machine-readable
games/rotem-sky/index.html Rotem's Sky Letters (one self-contained file)
games/number-fish/index.html Number Fish
lessons/flying-paper-lab/index.html The Flying Paper Lab
lessons/sound-lab/index.html The Sound Lab
lessons/calendars/index.html How Long Is a Year?
favicon.svg, favicon.ico, … the Brain Snacks icon
_redirects keeps old addresses working
docs/
games/ lessons/ how each game or lesson works, and why
tools/
play-local.command double-click to run the site locally in Chrome
voice-lines.json, generate-voice.mjs every spoken line, and the script that records them
deploy-local.sh publish by hand (personal account only)
testclips/ recorded syllables and words for testing speech recognition
.github/workflows/deploy.yml publishes site/ on every push to main
wrangler.toml Cloudflare Pages project settings
Each game and lesson is a single static page in its own folder: plain HTML, CSS and
JavaScript, no framework and no build. They never share state, so one can't break another.
Shared code (fonts, sounds, a speech helper) can move into site/shared/ once two items
need it.
site/games/<id>/index.html or site/lessons/<id>/index.html.→ כל המשחקים והשיעורים,
linking to ../../, at the top right. Add the icon links (../../favicon.svg).site/index.html (copy an existing card), with
data-age-min / data-age-max and a matching גילאי X–Y tag.site/catalog.json, and a short doc in docs/games/ or docs/lessons/.main. It's live about a minute later.Games never use the browser's own speech voice. Every line a game says is written in
tools/voice-lines.json and recorded once into mp3 files with a good
Hebrew voice:
node tools/generate-voice.mjs
The clips are recorded with Cartesia (model sonic-3, Hebrew voice Ayala). Put
CARTESIA_API_KEY=... (or ELEVENLABS_API_KEY=...) in the git-ignored .env.local; the key is
only used on your computer to record, never by the site. VOICE_ID picks another voice;
VOICE_PROVIDER=edge uses Microsoft's free neural voices through
edge-tts instead. Only new or changed lines are generated
(FORCE=1 redoes all); commit the files it writes under site/games/<game>/voice/.
Double-click tools/play-local.command. It serves the repo on http://localhost:8799 and opens
Rotem's game in Chrome (the catalogue is at http://localhost:8799/site/). Chrome remembers the
microphone permission for localhost.
While it runs, whatever the game hears is written to heard.log at the repo root. That log is
how the speech recognition was tuned to a real child's voice; it is git-ignored, because it
holds a child's speech.
Every push to main publishes site/ to the personal Cloudflare account
(c3a723351b598ee5ab014b6f5514b8aa, Pages project brainsnacks) through
.github/workflows/deploy.yml. It needs one repository secret,
CLOUDFLARE_API_TOKEN: a token from that account with Account → Cloudflare Pages → Edit.
Don't use wrangler login for this project: wrangler keeps one login for the whole computer,
and this computer is also used with a work Cloudflare account. To publish by hand, put the
personal token in a git-ignored .env.local (CLOUDFLARE_API_TOKEN=...) and run
tools/deploy-local.sh, which pins the personal account ID.