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.