ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
An agentic tutor that writes, checks, and remembers your lessons.
EducationTypeScript · CSSGitHub @mariashamimOnlineOwner 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 ↗An agentic tutor, in the spirit of Brilliant. Name any topic and a tutor agent plans a course in levels of short modules, writes each 5-10 minute module (checked by a separate evaluator before you see it), grades your quizzes, and picks up where you left off when you come back.
Requires Node.js 20+.
npm install
cp .env.example .env.local # then fill in the values
npm run dev
Database: run supabase/migrations/001_courses.sql
once in Supabase (Dashboard → SQL Editor → paste → Run). It adds the
courses and attempts tables and three columns on lessons. It is safe to
run again.
Open http://localhost:3000.
| Variable | Purpose |
|---|---|
OPENROUTER_API_KEY | Model calls via OpenRouter |
OPENROUTER_MODEL | Model id (default deepseek/deepseek-v4.1-flash) |
SUPABASE_URL | Supabase project URL |
SUPABASE_ANON_KEY | Supabase key used by the server |
All four are read only on the server; none reach the browser.
Before deploying, check that it builds and lints:
npm run lint
npm run build
/api/learn declares maxDuration = 300 because one lesson can
take several model calls; this fits Vercel's default function limit./api/learn, and set a spending limit
on your OpenRouter key.lessons and progress allow only what the app needs
(insert/select on lessons; insert/update/select on progress).