ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Learn touch typing on your phone in landscape. Lessons, finger hints, stars — plus a C code typing section.
Translation pending
EducationTypeScript · CSSGitHub @pankajkumar100701-ossOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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.