90-minute hands-on jam: plug in a Coralboard, open Control Center, and build a robot that hears, sees waves, and reacts with vibes (beeps + rainbow / red / blue).
Stack: Python on the board (greeter.py, hat.py); Windows PowerShell + browser UI (windows/hub/) for the Code Jam lab; macOS monitor/control UI in mac/ (no board overwrite by default). Speech uses Moonshine STT; moods use keyword rules first, optional Gemma 3 270M assist — not Gemma 4 (too large for this board).
Demo video: Watch Gemy on Coralboard (Google Photos) — public shared album: LED and buzzer reactions, laughing, yes/no answers, and greetings.
New to the board? Open the jam guide (rounds, scorecard, pass/fail checks):
| Track | Who | Time |
|---|---|---|
| Code Jam rounds | Everyone | ~90 min |
| AI prompts (no coding) | Vibe coders + Cursor | ai-prompt-walkthrough |
| Deep dive | Engineers | 01-STUDENT-LAB.md |
git clone https://github.com/DeveloperMattC/gemy.git
cd gemy
winget install Google.PlatformTools
powershell -ExecutionPolicy Bypass -File make-shortcut.ps1Plug in USB-C → open Gemy Control Center → Start Gemy — voice → wait for [ears] listening → say "Gemy".
| You… | Gemy… |
|---|---|
| Say "Gemy" | Name beep + mini rainbow |
| Say hello / wave | Friendly greet |
| Joke / haha | Silly beeps + rainbow |
| Something nice | Happy beeps + sparkle |
| Something mean | Red blinks |
| Something sad | Blue cries |
| Yes / no / math quiz | 1 green / 2 red beeps / yes-no for plus & times |
| "Gemy turn off" | Goodbye |
Details: docs/lab/08-GEMY-MOODS-AND-REACTIONS.md
board/python/ greeter.py, hat.py, gemma_mood*.py, gemy_stability.py
windows/hub/ Control Center (browser UI, PowerShell server) — lab default
windows/demos/ greet-demo.ps1, hat-gui.ps1
mac/ macOS Control Center + helpers (monitor; no adb push by default)
docs/lab/ CODE-JAM.md + lab docs
Mac users — pick your path (plain steps): mac/README.md
| Board | What to do |
|---|---|
| New / wants this lab’s Gemy | Open Mac Control Center → Update board from this repo → Start Gemy |
| Advanced Gemy (ahead of this repo) | Open Mac Control Center → do not Update → only Start / monitor |
Windows + advanced board? Don’t use default hub Refresh/Start sync. Use .\greet-demo.ps1 -NoPush or $env:GEMY_NO_PUSH = "1" before the hub.
Operator cheat sheet: docs/CORALBOARD-GUIDE.md
Educational use. Follow Synaptics / upstream example licenses when redistributing. docs/PRIVACY.md