ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A touch-typing tutor for phones (best sideways, works upright too) and desktop. Right after it opens it offers full screen with one big button (there is also a Full screen button in the top bar and in the menu). On a phone held upright it first asks you to rotate, or you can continue in portrait.
☰ Menu → Games → Car Race.
/race#PASSWORD).Chat: the room has a chat with emoji and quick reactions (docked beside the lobby on wide
screens, 💬 in the top bar otherwise, with an unread count). Messages are encrypted with AES-GCM
using a key made from the room password, so only the players can read them; the host passes them
on still sealed. The password stays after # in the link, which browsers never send to a server,
and the game server only sees a hash of it. (On a plain-http page — like a phone opening your
computer's LAN address — browsers have no WebCrypto, so chat there is protected only by WebRTC's
own encryption.)
During a race, if nobody types for 60 seconds the race ends by itself.
Races run browser-to-browser over WebRTC (PeerJS); PeerJS's free public server only connects the players, so there's no account, key or backend. Notes:
localhost link only works on your own computer.npm install
npm run dev # http://localhost:3000
npm run build
npm start
Built with Next.js 16 and React 19.
components/ — TypingApp (menu, Typing Practice and Games pages, results), TypingSession
(typing screen), Keyboard, RaceApp (car race screens), Chat, Car, Shell (full screen,
launch and rotate prompts).lib/ — lessons.ts (lessons and random text), cPrograms.ts, progress.ts (best scores),
sound.ts (sounds and settings), race.ts (race rooms), cars.ts (cars and painting),
secure.ts (room password, chat encryption).app/page.tsx is the tutor, app/race/page.tsx the race.Add a lesson by adding an entry to SECTIONS in lib/lessons.ts; add a C program to
C_PROGRAMS in lib/cPrograms.ts.
Add a car by putting a 480×180 transparent <id>.webp (car facing right, tyres on the bottom
edge) and a <id>-paint.png mask (white where the body paint is) in public/cars/, then adding
it with its tier (wpm) to CAR_MODELS in lib/cars.ts. The cars there now are stand-ins until
the full set arrives.