ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
EchidnaBlack2 보드와 EchidnaML 환경, 자유 자료로 교실에 컴퓨팅 사고를 도입
La placa EchidnaBlack2, el entorno EchidnaML y materiales libres, creados por docentes para llevar el pensamiento computacional al aula.
교육Astro · JavaScriptGitHub @EchidnaEducacion온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Web de Echidna Educación (echidna.es)
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Web de echidna.es (Echidna Educación): una web estática escrita en Markdown, generada con Astro y alojada en GitHub Pages, que sustituye a la anterior en WordPress.
La web está en web/ y se publica en https://echidna.es/ con cada push a main que toque web/. Para verla en local:
cd web
bun install
bun run dev # http://localhost:4321/
Cómo está organizado el proyecto, cómo migrar una página y cómo funciona el buscador: web/README.md.
| Documento | Contenido |
|---|---|
estructura.md | Árbol de páginas, URL, plantillas, criterios de navegación y puntos pendientes de la estructura |
modelo-contenido.md | Colecciones de contenido y sus campos (paginas, hardware, recursos, blog) |
escribir-blog.md | Cómo escribir y publicar una entrada nueva del blog |
diseno.md | Hoja de ruta para personalizar el diseño de la web y cómo proponer cambios de diseño |
publicaciones.md | Listado de trabajo de publicaciones sobre Echidna (página Publicaciones) |
redirecciones.md | Correspondencia entre las URL de WordPress y las de la nueva web |
web/README.md | Proyecto Astro: cómo ejecutarlo, cómo está organizado y cómo migrar una página |
AGENTS.md | Contexto y normas de trabajo para asistentes y personas que colaboren en el repo (CLAUDE.md lo importa) |
| Necesidad | Solución |
|---|---|
| Generador | Astro con Bun; content collections validadas con Zod |
| Alojamiento | GitHub Pages, con el dominio echidna.es (fichero CNAME + DNS) |
| Despliegue | GitHub Actions: deploy.yml compila y publica con cada push a main; comprobar.yml compila cada pull request |
| Buscador | Pagefind |
| Formulario de contacto | Web3Forms (servicio externo que envía los mensajes por correo), con hCaptcha contra el spam |
| Analítica | GoatCounter, sin cookies |
| Imágenes | Procesado de imágenes de Astro (redimensionado, WebP) |
| Manual y guías de inicio | Repos propios en GitHub Pages, enlazados desde echidna.es con redirecciones |
Las alternativas valoradas y los motivos de la elección están en analisis-previo.md.
Proyecto
AnalisisWeb, porque empezó como estudio de viabilidad) pasó a llamarse EchidnaEducacion.github.io, y la web, en web/, se sirve en la raíz sin base. La prueba de concepto que ocupaba ese nombre está archivada como web-prueba-concepto. Así se conservan el historial y los ajustes de Pages; el plan está en traslado-repo.md.echidna.es/manual/.translation, selector de idioma, rutas /en/…, menús y textos de interfaz traducibles).redirecciones.md) redirigen a las nuevas con redirects en web/astro.config.mjs (la lista está en web/redirecciones.mjs), para que funcionen desde el primer momento.web/public/imagen-redes.png (1200 × 630, el logo sobre el fondo de la web), que genera . Por ahora es la misma imagen para todas las páginas.Diseño y contenido
/maquetas/panel/), y usa Figma solo para maquetar disposiciones nuevas e ilustraciones. Se descartan los editores visuales de HTML, porque generan un HTML que no encaja con las plantillas de Astro. La hoja de ruta está en diseno.md./quienes-somos/), Publicaciones y Contacta, en ese orden. Antes el desplegable se llamaba «Quiénes somos» y su primera página «Sobre el proyecto», cruzado con la URL; además, Publicaciones y Contacta encajan mejor en «Sobre el proyecto». Las URL no cambian y la clave interna de la sección sigue siendo nosotros.recursos y las de las páginas (campo cards) que enlazan fuera de la web (situaciones de aprendizaje, guías, manual, PDF…), los enlaces externos del texto en Markdown y los del pie (redes sociales, manual y guía de inicio) se abren con target="_blank", para no perder la página de la web; los que enlazan a páginas propias se abren en la misma pestaña.Blog
/AAAA/).main que toque web/ se publica. Los cambios pequeños siguen yendo directamente a main; los cambios de infraestructura importantes (rutas, plantillas, configuración de Astro, versión en inglés…) se hacen en una rama propia y se publican al fusionar su pull request, después de que comprobar.yml construya la web.bun run nueva-entrada (en borrador, que solo se ve en el servidor de desarrollo), y se publica al fusionar la PR después de que otra persona del equipo la revise. El workflow comprobar.yml construye la web en cada PR para detectar errores de validación. Sin publicación programada por ahora. Excepción: las entradas de Jose Pujol, que crea el contenido de la web, van directamente a main (en borrador hasta que estén listas). El flujo está en escribir-blog.md.modelo-contenido.md.echidna.es en los buscadores (lo demás del SEO está hecho; ver Decisiones tomadas): Google Search Console (#24) y Bing Webmaster Tools (#25), enviar el sitemap y vigilar que las redirecciones de las URL antiguas se reconozcan.rea.echidna.es del alojamiento de OVH (#26). El subdominio ya está apagado (ver redirecciones.md). El alojamiento de OVH se mantiene, porque de él dependen el correo y algunas redirecciones. No tocar los registros MX.redirecciones.md./docentes/), material a material: terminar las diapositivas (PDF) y la programación didáctica de Proyectos de inicio con EchidnaML (hoy «Próximamente»; al terminarlas, poner su url en recursos.yaml) y añadir los demás materiales: situaciones de aprendizaje, Snap! y Otros recursos. Al añadirlos, montar las rutas intermedias de /docentes/ que faltan en las redirecciones (pendiente).S4A-EchidnaBlack2C) y una guía para el aula.image de cada página.recursos.Alhambra2.sb3, que no existe; hay que conseguir el fichero o quitar el enlace en el .elp y volver a exportar..sb3.Icono_Scratch-1024x948.png (EchidnaScratch, el erizo y el gato se hacen amigos): no está en la caché de la importación (herramientas/wp-import/.cache/) ni ya en WordPress; queda el backup de . Al importar se quitó de la entrada; si aparece, volver a ponerla.diseno.md. Lo primero, por parte del equipo: darle acceso a GitHub con la etiqueta diseño, y preparar la guía de estilo (/maquetas/guia-estilo/) y el panel de estilo (/maquetas/panel/) (fase 1).recursos) están detalladas en estructura.md.echidna-sensor-test habla de «Arduino Uno» (la placa es compatible con Arduino Nano) y el de echidnablack2-arduino-test de la placa «FAB Echidna»; conviene unificarlos con el nombre EchidnaBlack2. El manual (9.2) llama CH340 al chip y CH341 al controlador, que es correcto pero confunde: la página Comprobar la placa lo explica.programa-*.png): vienen con zooms distintos y los bloques salen más grandes en unas páginas que en otras. Idea: elegir un programa cuyo tamaño en pantalla nos parezca adecuado, medir en él el ancho del bloque «al hacer clic en bandera verde» y mostrar las demás a esa misma escala, midiendo el mismo bloque en cada una (con un script que lo busque, mejor que a mano).
en/ y el campo translation, pero faltan las rutas /en/…, el selector de idioma, los menús y textos de interfaz traducidos y decidir qué páginas se traducen (y en qué orden).Los puntos pendientes de la estructura están en estructura.md.
| Histórico: plan con el que la web pasó a servirse en la raíz desde este repositorio |
analisis-previo.md | Histórico: estudio de viabilidad inicial (situación de partida, tecnologías, inventario y prueba de concepto anterior) |
bun run imagen-redesfonts en web/astro.config.mjs), así que las visitas no se conectan a Google ni le envían su IP, y la política de privacidad no tiene que mencionarlo.echidna.es siga en WordPress, la web en echidnaeducacion.github.io no se prepara para buscadores, para no competir con la antigua por el mismo contenido ni hacer que Google guarde URL de un dominio que se abandonará. Se hace todo junto al pasar echidna.es a GitHub Pages (ver Próximos pasos).echidna.es ya en GitHub Pages y por HTTPS, la web lleva canonical y Open Graph con el dominio, sitemap, robots.txt (las maquetas, fuera y con noindex), las entradas del blog como artículos con su portada al compartir y datos estructurados (JSON-LD): Organization en la portada y BlogPosting en las entradas. Validado con schema.org y con la prueba de resultados enriquecidos de Google (las entradas salen como artículo válido; la portada no muestra elementos, porque Organization no es un resultado enriquecido). Los enlaces a los otros sitios de la organización usan echidna.es. El funcionamiento está en el apartado «SEO» de web/README.md.Base solo si existe la variable del repositorio PUBLIC_GOATCOUNTER_CODE (el código del sitio, la parte xxx de xxx.goatcounter.com), y no cuenta las visitas desde localhost. En los ajustes de GoatCounter, el dominio del sitio es echidna.es: solo afecta a los enlaces del panel, porque las visitas se cuentan por ruta.PUBLIC_WEB3FORMS_KEY (Settings → Secrets and variables → Actions → Variables). Como cualquiera podría usarla y la restricción por dominio es de pago, el formulario lleva hCaptcha (gratuito en Web3Forms), activado como protección antispam en el panel de Web3Forms: sin él resuelto, Web3Forms rechaza el envío. Si se cambia la clave o el formulario de Web3Forms, hay que mantener hCaptcha activado allí.rea.echidna.es no pasa a GitHub (octubre de 2026): se apagó el 26 de octubre de 2026, al borrar su registro en el DNS de OVH, sin redirecciones: sus direcciones antiguas ya no funcionan. Las situaciones de aprendizaje siguen en el repo situaciones-aprendizaje, publicadas en echidnaeducacion.github.io/situaciones-aprendizaje/ (con el dominio, echidna.es/situaciones-aprendizaje/).web/README.md.publicaciones.md./contacta/./rss.xml y una copia en /feed/ (la dirección de WordPress), enlazado desde el pie, el lateral del blog y el <head>. Generado en web/src/lib/rss.ts, sin dependencias.wp-content/uploads