ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Diálogos com áudio em cada frase e palavra, e desafios a cada poucas falas. 🎧💬
Translation pending
EducationJavaScript · CSSGitHub @renanbezerra2970OnlineOwner 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
Loading the full README. The saved excerpt is shown below.
App de histórias em inglês para estudar com diálogos: um diálogo longo, com uma pergunta a cada 4–5 falas, todas as frases e palavras com áudio em inglês. Como funciona (sem banco de dados, sem servidor) • ABRIR_LOCAL.bat: abre o app no seu PC para testar antes de publicar. • GERAR_AUDIO.bat: gera os MP3 das frases/palavras novas (só gera o que falta). • PUBLICAR.bat: gera os áudios, faz commit e push → a Vercel atualiza o site em ~30 s.Read the full README ↗
App de histórias em inglês para estudar com diálogos: um diálogo longo, com uma pergunta a cada 4–5 falas, todas as frases e palavras com áudio em inglês.
| Peça | Onde fica | Papel |
|---|---|---|
| Lições | data/unitN.json (nesta pasta, no seu PC) | O "banco de dados" é a própria pasta — arquivos JSON versionados no Git |
| Áudios | audio/*.mp3 + audio/manifest.json | Gerados uma vez com vozes neurais grátis (edge-tts) |
| Progresso (XP, sequência, lições feitas) | localStorage do navegador | Fica salvo em cada aparelho |
| Site | Vercel (projeto prolingo, https://prolingo101.vercel.app) | Publica sozinho a cada git push |
{
"id": "u5l1", "title": "At the Hotel", "titlePt": "No hotel", "emoji": "🏨",
"steps": [
["nar", "Anna is at a hotel.", "A Anna está em um hotel."],
["anna", "Hello! My name is Anna.", "Olá! Meu nome é Anna."],
{ "q": "Onde a Anna está?", "o": ["Em um hotel.", "Em um café."], "a": 0 },
{ "q": "O que ela diz?", "lang": "en", "o": ["Hello!", "Goodbye!"], "a": 0 }
]
}
[personagem, inglês, português]. O personagem (voz + emoji) é definido em cast, no topo do arquivo da unidade. nar é o narrador.q = enunciado, o = opções, a = índice da certa (o app embaralha). "lang": "en" faz as opções terem áudio.data/unit6.json (e data/levels/u6-2..5.json), registre em data/units.json (com as frases do guia) e adicione palavras novas em data/glossary.json.Cada história existe em 5 versões: mesmo enredo, língua cada vez mais difícil. Descrições e velocidade do áudio ficam em data/levels.json.
| Nível | Onde fica | Perguntas |
|---|---|---|
| 1 Básico (A1) | data/unitN.json | em português |
| 2 Elementar (A2) | data/levels/uN-2.json | em português (algumas opções em inglês com "lang": "en") |
| 3 Intermediário (B1) | data/levels/uN-3.json | em inglês, com áudio |
| 4 Avançado (B2–C1) | data/levels/uN-4.json | em inglês: expressões idiomáticas |
| 5 Nativo (C2) | data/levels/uN-5.json | em inglês: gírias, ironia, subentendidos |
Formato de data/levels/uN-L.json: { "unit": N, "level": L, "cast": { ...personagens extras... }, "lessons": { "u1l1": [ ...falas e perguntas... ] } }.
O glossário aceita só a forma base da palavra: o app acha sozinho plurais, passado, "-ing" e possessivos.
Trilhas profissionais no mesmo formato (5 histórias × 5 níveis), listadas em data/units.json na chave "pro":
| Trilha | Arquivo nível 1 | Níveis 2–5 |
|---|---|---|
| Enfermagem | data/pro/enf.json | data/levels/uenf-2..5.json |
| Serviço Social | data/pro/soc.json | data/levels/usoc-2..5.json |
| Medicina | data/pro/med.json | data/levels/umed-2..5.json |
| Psicologia | data/pro/psi.json | data/levels/upsi-2..5.json |
Nova área: crie data/pro/<id>.json + data/levels/u<id>-2..5.json e registre em "pro" com as frases-chave do guia.
Cada lição (em cada nível) tem um círculo em 4 partes: 📖 Leitura · 🎧 Escuta · 🎤 Fala · ✍️ Escrita.
🎤): cada fala do diálogo é repetida em voz alta; o navegador transcreve (Web Speech API), o usuário vê o texto e confirma. Conta com ≥ 80% das falas aceitas.✍️): a cada 2–3 falas, um exercício: lacuna de 1 palavra → 2 palavras → frase inteira (copiar, ditado ou tradução), conforme o nível (WRITE_PLAN em app.js). Conta com ≥ 80% de acertos.match.js (números, contrações, grafia britânica/americana, erros de digitação).Cada história apresenta poucas palavras novas por vez (4 no nível 1, até 6 nos níveis 3–5):
Quem escolhe: palavras do glossário que o usuário ainda não conhece (não foram ensinadas e não apareceram em 3 histórias concluídas), com prioridade para as frases do guia da unidade e as que mais se repetem. Nos níveis 3–5, palavras muito frequentes no conjunto das histórias (data/wordfreq.json, gerado por tools/frequencia.py, chamado pelo gerar_audio.py) ficam de fora. O registro fica em progress.words no navegador.
Para quem acha o nível 1 difícil. Não é história: são 10 lições de 20 telas por unidade (e por área Pro), no ciclo de repetição: apresentar a palavra, escolher o significado, ouvir e escolher, combinar pares, montar a frase com blocos, completar, falar e escrever. Errou? A tela volta no fim da lição.
tools/nivel0.py a partir do nível 1 da própria unidade (palavras mais frequentes + frases do guia), em data/level0/u<id>.json. O gerar_audio.py roda o gerador antes de gerar os áudios.Falas com várias orações são capturadas uma oração por vez (splitClauses em app.js): o reconhecimento do navegador para numa pausa, e frases longas eram cortadas. Orações muito longas também são divididas em vírgulas; pedaços curtos ("Hi!") se juntam ao vizinho.
#/practice): Prática focada (pontos fracos), Fala, Escuta, Erros e Palavras. As sessões usam o mesmo motor do nível 0 (renderDrill com uma sessão montada por buildPractice), com palavras aprendidas e frases curtas das lições concluídas (níveis 0 e 1).progress.mistakes; acertar de primeira no Praticar tira o item da lista.#/missions): meta diária de XP + 2 missões sorteadas pela data (+10 XP cada), e conquistas em 4 níveis (sequência, lições, palavras, XP, círculos completos, nível 5). O dia vira à meia-noite local.#/profile): nome, avatar, cor, meta diária, estatísticas e cópia do progresso (baixar/restaurar JSON).