ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
חטיפים למוח: משחקים ושיעורים קצרים לילדים שמלמדים באמת. קוראים בקול, עפים, אוספים כוכבים ועושים ניסויים בבית.
Translation pending
EducationHTML · JavaScriptGitHub @rennencOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Brain Snacks · חטיפים למוח — learning games and hands-on interactive lessons for kids, in Hebrew. Less scrolling, more growing.
Translation pending
Taken from the repository README
Loading the full README.
Read the full 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.