ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A cloud-based spaced repetition vocabulary trainer built with vanilla HTML/JS, Supabase, and Vercel. Supports multiple user profiles, Dutch TTS pronunciation, Excel import, and AI-generated example sentences.README 전문 보기 ↗A cloud-based spaced repetition vocabulary trainer built with vanilla HTML/JS, Supabase, and Vercel. Supports multiple user profiles, Dutch TTS pronunciation, Excel import, and AI-generated example sentences.
.xlsx files using a simple template| Layer | Technology |
|---|---|
| Frontend | Vanilla HTML, CSS, JavaScript |
| Database | Supabase (PostgreSQL) |
| Hosting | Vercel |
| Sentence AI | Anthropic API (Claude Haiku) via Vercel serverless function |
| Pronunciation | Web Speech API (built-in browser TTS) |
| Excel parsing | SheetJS (xlsx) |
├── index.html # Main app (entire frontend)
├── vercel.json # Vercel function configuration
├── api/
│ └── sentence.js # Serverless function — calls Anthropic API securely
└── README.md
-- Profiles table
create table profiles (
id uuid primary key default gen_random_uuid(),
username text unique not null,
pin text not null,
created_at timestamp default now()
);
-- Words table
create table words (
id uuid primary key default gen_random_uuid(),
profile_id uuid references profiles(id) on delete cascade,
word text not null,
meaning text not null,
section integer default 1,
done boolean default false,
pronunciation text,
language text default 'nl-NL',
next_review date default current_date,
created_at timestamp default now()
);
-- Row Level Security policies
create policy "allow insert profiles" on profiles for insert with check (true);
create policy "allow select profiles" on profiles for select using (true);
create policy "allow insert words" on words for insert with check (true);
create policy "allow select words" on words for select using (true);
create policy "allow update words" on words for update using (true) with check (true);
create policy "allow delete words" on words for delete using (true);
Go to Project Settings → API and copy:
Paste both into index.html:
const SUPABASE_URL = 'https://your-project.supabase.co';
const SUPABASE_KEY = 'your-anon-key';
ANTHROPIC_KEYsk-ant-api03-...your key...Your app will be live at your-project.vercel.app.
Words move through 6 boxes based on your performance. Each box has a longer review interval:
| Box | Sections | Review interval |
|---|---|---|
| Box 1 | §1–2 | 1 day |
| Box 2 | §3–6 | 2 days |
| Box 3 | §7–14 | 4 days |
| Box 4 | §15–29 | 8 days |
| Box 5 | §30–45 | 16 days |
| Box 6 | §46–76 | Retired ✓ |
Download the template from the app, or create a .xlsx file with these columns:
| word | meaning | language | pronunciation |
|---|---|---|---|
| hallo | hello | nl-NL | (optional URL) |
| wereld | world | nl-NL |
Profiles use a simple username + 4-digit PIN system. There is no email or password — this is designed for personal/classroom use, not a public-facing authentication system.
No build step required. Just open index.html in a browser.
For the serverless sentence function to work locally, use the Vercel CLI:
npm i -g vercel
vercel dev
Then open http://localhost:3000.
MIT — free to use and modify.