diff --git a/docs/git/git-guide-en.md b/docs/git/git-guide-en.md index a578569..78a602d 100644 --- a/docs/git/git-guide-en.md +++ b/docs/git/git-guide-en.md @@ -75,7 +75,33 @@ KiCad's `.kicad_sch` and `.kicad_pcb` are single large text files. Concurrent ed 4. **Do not run** "Update PCB from Schematic", global re-annotation, or library/format migrations unless that is the agreed task — they generate huge diffs that bury real changes. 5. Keep commits small and single-purpose. -## 6. Contribution workflow +## 6. When `git pull` reports CONFLICT on a KiCad file + +It happens when you and someone else both saved the same `.kicad_pcb` or `.kicad_sch` starting from the same commit. Git **cannot** combine two boards: if it leaves `<<<<<<<`, `=======` or `>>>>>>>` inside the file, KiCad can no longer open it ("Failed to load board"). That is what broke V5.6 and V5.7 in merge `40decf8` (19-Oct-2026). + +Since 19-Oct-2026 the repository carries a `.gitattributes`: on a conflict in a KiCad file, git keeps **your** whole version (it opens fine in KiCad) and flags the file as conflicted, without writing markers. The other side's changes are still **not** included. So: + +1. **Do not commit or push** with a conflict pending. `git status` lists those files as `both modified`. +2. If unsure which version to keep: `git merge --abort` (puts everything back as it was before the pull) and tell Leo. +3. Once you have agreed which version stays, pick **one whole side** per file: + + ```bash + git checkout --ours hbox-watchdog-v57.kicad_pcb # your version + git checkout --theirs hbox-watchdog-v57.kicad_pcb # the server's version + git add hbox-watchdog-v57.kicad_pcb + git commit + ``` + + Whatever was left out is redone by hand in KiCad. Careful: during a `git rebase` they swap — `--ours` is the server's and `--theirs` is yours. +4. Before pushing, confirm no markers are left (this must print nothing) and that the project opens in KiCad: + + ```bash + git grep -n -E '^(<<<<<<<|>>>>>>>)' -- '*.kicad_*' + ``` + +To avoid it: `git pull` when you **start** each session and `git push` when you **finish** — don't leave work unpushed overnight. + +## 7. Contribution workflow Never commit to `main` directly. @@ -108,11 +134,11 @@ git rebase origin/main Helgen reviews and merges. Never force-push to `main`. -## 7. Review-only feedback (no file edits) +## 8. Review-only feedback (no file edits) If your role is review rather than editing, do not modify files at all: open an **Issue** in the web interface. Reference parts by their reference designator (`U25`, `C149`, `J12`…) and, where relevant, the Copper Plan section number (e.g. "§8, U25 group"). Screenshots of the KiCad view are welcome. -## 8. Questions +## 9. Questions Anything unclear — ask before pushing. A five-minute question is cheaper than untangling a bad merge of a 1.5 MB board file. @@ -123,3 +149,4 @@ Anything unclear — ask before pushing. A five-minute question is cheaper than | Versión | Fecha | Autor | Cambios | |---|---|---|---| | 1.0 | 2026-09-15 | Helgen Technologies | Guide for external collaborators (English). | +| 1.1 | 2026-10-19 | Helgen Technologies | New §6: what to do when `git pull` reports CONFLICT on a KiCad file; `.gitattributes` with `merge=binary`. | diff --git a/docs/git/guia-git-es.md b/docs/git/guia-git-es.md index c0cbdcd..8ba99f3 100644 --- a/docs/git/guia-git-es.md +++ b/docs/git/guia-git-es.md @@ -72,7 +72,33 @@ Los `.kicad_sch` y `.kicad_pcb` de KiCad son archivos de texto únicos y grandes 4. **No ejecutes** "Update PCB from Schematic", re-anotación global, ni migraciones de biblioteca/formato salvo que esa sea la tarea acordada — generan diffs enormes que entierran los cambios reales. 5. Haz commits pequeños y de propósito único. -## 6. Flujo de contribución +## 6. Si `git pull` marca CONFLICT en un archivo de KiCad + +Pasa cuando tú y alguien más guardaron el mismo `.kicad_pcb` o `.kicad_sch` partiendo del mismo commit. Git **no puede** combinar dos tarjetas: si deja `<<<<<<<`, `=======` o `>>>>>>>` dentro del archivo, KiCad ya no lo abre ("Failed to load board"). Así quedaron V5.6 y V5.7 en el merge `40decf8` (19-oct-2026). + +Desde el 19-oct-2026 el repositorio trae un `.gitattributes`: ante un conflicto en un archivo de KiCad, git deja **tu** versión completa (abre bien en KiCad) y marca el archivo como en conflicto, sin escribir marcadores. Aun así, los cambios del otro lado **no** quedan incluidos. Entonces: + +1. **No hagas commit ni push** con un conflicto pendiente. `git status` muestra esos archivos como `both modified`. +2. Si tienes duda de con qué versión quedarte: `git merge --abort` (deja todo como estaba antes del pull) y avísale a Leo. +3. Si ya acordaron qué versión se queda, elige **un lado completo** por archivo: + + ```bash + git checkout --ours hbox-watchdog-v57.kicad_pcb # tu versión + git checkout --theirs hbox-watchdog-v57.kicad_pcb # la del servidor + git add hbox-watchdog-v57.kicad_pcb + git commit + ``` + + Lo que se quedó fuera se rehace a mano en KiCad. Ojo: durante un `git rebase` se invierten — `--ours` es la del servidor y `--theirs` la tuya. +4. Antes de hacer push, confirma que no quedaron marcadores (este comando no debe imprimir nada) y que el proyecto abre en KiCad: + + ```bash + git grep -n -E '^(<<<<<<<|>>>>>>>)' -- '*.kicad_*' + ``` + +Para evitarlo: `git pull` al **empezar** cada sesión y `git push` al **terminar** — no dejes trabajo sin subir de un día para otro. + +## 7. Flujo de contribución Nunca hagas commit directo a `main`. @@ -105,11 +131,11 @@ git rebase origin/main Helgen revisa y hace el merge. Nunca hagas force-push a `main`. -## 7. Retroalimentación de solo revisión (sin editar archivos) +## 8. Retroalimentación de solo revisión (sin editar archivos) Si tu papel es revisar en lugar de editar, no modifiques archivos: abre un Issue en la interfaz web. Refiérete a los componentes por su designador de referencia (`U25`, `C149`, `J12`…) y, cuando aplique, por el número de sección del Plan de Cobre (p. ej. "§8, grupo U25"). Las capturas de pantalla de KiCad son bienvenidas. -## 8. Dudas +## 9. Dudas Cualquier cosa que no esté clara — pregunta antes de hacer push. Una pregunta de cinco minutos cuesta menos que desenredar un mal merge de un archivo de tarjeta de 1.5 MB. @@ -118,3 +144,4 @@ Cualquier cosa que no esté clara — pregunta antes de hacer push. Una pregunta | Versión | Fecha | Cambios | |---|---|---| | 1.0 | 2026-09-15 | Guía para colaboradores externos. | +| 1.1 | 2026-10-19 | §6 nueva: qué hacer cuando `git pull` marca CONFLICT en un archivo de KiCad; `.gitattributes` con `merge=binary`. | diff --git a/docs/hardware/auditoria-produccion-16oct.md b/docs/hardware/auditoria-produccion-16oct.md index e43450d..4d8fc3d 100644 --- a/docs/hardware/auditoria-produccion-16oct.md +++ b/docs/hardware/auditoria-produccion-16oct.md @@ -5,12 +5,15 @@ project: Project Drogheda author: Helgen Technologies (auditoría: Claude; revisión: Leo) date: 2026-10-16 version: 1.1 -status: ACTIVO — rev. C (16-oct, 14:00): MH11 se quita; pasos 1 y 2 con el script T27 · sustituye a la auditoría del 13-oct (V5.6) y a la guía de colocación V5.7 del 14-oct +status: SUPERADA para V5.6 y V5.7 por la re-auditoría del 19-oct (lo de §4, §5, §9 y §10 sigue vigente) · la v6 tiene su propia auditoría del 16-oct audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM) --- # Auditoría de producción — EinarBoard V5.6, V5.7 y v6 · 16-oct-2026 +!!! tip "19-oct: hay una re-auditoría más nueva" + La pasada 3 de Michelle y el script T30 cerraron casi todo lo de §6 y §7. Estado de hoy, punto por punto: [**▶ Re-auditoría del 19-oct**](re-auditoria-19oct.md); lo que queda a mano: [**▶ Pasada 4**](v56-v57-layout-pasada-4.md). Siguen vigentes aquí: el sensado de RS1 y la prueba con TP1 (§4), el rango de entrada de la V5.7 (§5), el ciclo de 10 s (§9) y los puertos (§10). + **La pregunta (Leo, 16-oct 9:25):** las tres tarjetas están terminadas; ¿están listas para producción? Requisitos: 1. Todas deben poder **apagarse o dormir 10 s estando en batería y regresar**. @@ -261,6 +264,9 @@ Dos cambios recomendados y una advertencia: ## 8. v6 — qué falta +!!! tip "Auditoría detallada de la v6 (16-oct, 17:30)" + Sobre el ruteo terminado por Michelle (`2612891`): [**▶ Auditoría de producción v6**](v6-auditoria-produccion-16oct.md) y [**▶ Plan de fines de semana**](v6-plan-fines-de-semana.md). Esta sección queda como registro de la mañana. + !!! note "Actualización 16-oct, 11:35" Leo ya corrió «Actualizar PCB desde esquemático» (commit `ff5a8ed`). La paridad quedó limpia salvo los PF*, así que lo de la tabla 8.1 quedó resuelto **en huellas, valores y redes**. Ahora el PCB tiene lo esperado tras la actualización: 14 cortos y 28 conexiones sin rutear (huellas nuevas de L2/L6/L8/L20, puertos U14/U15/U32/D39/R147, J10, ETH_PWR_EN). Eso es el layout de §8.2. Además, la actualización borró los barrenos (§3). La identificación de tarjeta (§8.4) y el firmware (§8.3) siguen igual. @@ -367,7 +373,7 @@ Estado del acelerómetro en hardware: V5.6 ✅; V5.7 ✅ con INT1 por In1 y C128 | 10 | Pasada 3 en V5.7 | Michelle | ≈ 2–3 días | 4 | | 11 | Re-auditoría V5.7 + 5 prototipos (validación ECO §6) | Claude / Leo | 2 h + fabricación | 10 | | 12 | Banco V5.7: 9 / 12 / 24 / 32 V con carga, polaridad invertida, temperatura de U25, + lo de la fila 8 | Jesús | 2 días | 7, 11 | -| 13 | v6: Actualizar PCB (**hecho el 16-oct**, `ff5a8ed`) → reponer barrenos con `--set v6` y liberar MH4 → L-1…L-67 | Leo / Michelle | ≈ 3.5 días | después de V5.7 | +| 13 | v6: Actualizar PCB (**hecho el 16-oct**, `ff5a8ed`) → ruteo (**hecho**, `2612891`) → T25 + T28 → bloques A–H del [plan de fines de semana](v6-plan-fines-de-semana.md) | Leo / Michelle | 2 fines de semana (17–25 oct) | en paralelo a V5.6/V5.7 (fines de semana) | | 14 | v6: firmware 0.7.x (AT del A7670SA, cliente NTRIP, UDP, reconexión, configuración) | Leo + Claude | varias semanas (sin estimar a detalle) | — | | 15 | v6: homologación IFT; piloto de 20 antes de las 130 | Leo / Adriana | — | 13, 14 | diff --git a/docs/hardware/img/2026-10-16_Drogheda_v6-Barrenos_v1.0.png b/docs/hardware/img/2026-10-16_Drogheda_v6-Barrenos_v1.0.png new file mode 100644 index 0000000..090d4cb Binary files /dev/null and b/docs/hardware/img/2026-10-16_Drogheda_v6-Barrenos_v1.0.png differ diff --git a/docs/hardware/img/2026-10-16_Drogheda_v6-Mapa-Pendientes_v1.0.png b/docs/hardware/img/2026-10-16_Drogheda_v6-Mapa-Pendientes_v1.0.png new file mode 100644 index 0000000..f63ec77 Binary files /dev/null and b/docs/hardware/img/2026-10-16_Drogheda_v6-Mapa-Pendientes_v1.0.png differ diff --git a/docs/hardware/img/2026-10-16_Drogheda_v6-Potencia_v1.0.png b/docs/hardware/img/2026-10-16_Drogheda_v6-Potencia_v1.0.png new file mode 100644 index 0000000..fb81cfb Binary files /dev/null and b/docs/hardware/img/2026-10-16_Drogheda_v6-Potencia_v1.0.png differ diff --git a/docs/hardware/img/2026-10-16_Drogheda_v6-RF-LTE_v1.0.png b/docs/hardware/img/2026-10-16_Drogheda_v6-RF-LTE_v1.0.png new file mode 100644 index 0000000..5322f22 Binary files /dev/null and b/docs/hardware/img/2026-10-16_Drogheda_v6-RF-LTE_v1.0.png differ diff --git a/docs/hardware/img/2026-10-16_Drogheda_v6-Tierras_v1.0.png b/docs/hardware/img/2026-10-16_Drogheda_v6-Tierras_v1.0.png new file mode 100644 index 0000000..aad27c1 Binary files /dev/null and b/docs/hardware/img/2026-10-16_Drogheda_v6-Tierras_v1.0.png differ diff --git a/docs/hardware/img/2026-10-19_Drogheda_T30-Vias-en-paralelo_v1.0.png b/docs/hardware/img/2026-10-19_Drogheda_T30-Vias-en-paralelo_v1.0.png new file mode 100644 index 0000000..0582b71 Binary files /dev/null and b/docs/hardware/img/2026-10-19_Drogheda_T30-Vias-en-paralelo_v1.0.png differ diff --git a/docs/hardware/img/2026-10-19_Drogheda_V5.6-Pendientes-tras-T30_v1.0.png b/docs/hardware/img/2026-10-19_Drogheda_V5.6-Pendientes-tras-T30_v1.0.png new file mode 100644 index 0000000..341c37c Binary files /dev/null and b/docs/hardware/img/2026-10-19_Drogheda_V5.6-Pendientes-tras-T30_v1.0.png differ diff --git a/docs/hardware/img/2026-10-19_Drogheda_V5.7-Pendientes-tras-T30_v1.0.png b/docs/hardware/img/2026-10-19_Drogheda_V5.7-Pendientes-tras-T30_v1.0.png new file mode 100644 index 0000000..bc56647 Binary files /dev/null and b/docs/hardware/img/2026-10-19_Drogheda_V5.7-Pendientes-tras-T30_v1.0.png differ diff --git a/docs/hardware/img/2026-10-19_Drogheda_V56-V57-Detalle-Pendientes_v1.0.png b/docs/hardware/img/2026-10-19_Drogheda_V56-V57-Detalle-Pendientes_v1.0.png new file mode 100644 index 0000000..95814b3 Binary files /dev/null and b/docs/hardware/img/2026-10-19_Drogheda_V56-V57-Detalle-Pendientes_v1.0.png differ diff --git a/docs/hardware/re-auditoria-19oct.md b/docs/hardware/re-auditoria-19oct.md new file mode 100644 index 0000000..9098ea2 --- /dev/null +++ b/docs/hardware/re-auditoria-19oct.md @@ -0,0 +1,313 @@ +--- +title: "Re-auditoría de producción — V5.6, V5.7 y v6 (19-oct-2026)" +tags: [project-drogheda, hardware, hbox, einarboard, v5.6, v5.7, v6, auditoria, produccion, pedido, layout, t30] +project: Project Drogheda +author: Helgen Technologies (auditoría: Claude; revisión: Leo) +date: 2026-10-19 +version: 1.0 +status: ACTIVO — re-auditoría sobre HBox_PCB 4f4681f (pasada 3 de Michelle + arreglo del merge) · para V5.6 y V5.7 sustituye el veredicto del 16-oct; la v6 sigue con su auditoría del 16-oct y el plan de fines de semana (rev. 1.1) +audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM) +--- + +# Re-auditoría de producción — V5.6, V5.7 y v6 · 19-oct-2026 + +**La pregunta (Leo, 19-oct 13:59):** «Los cambios ya están; hagamos la auditoría de todas las tarjetas.» + +**Archivos auditados.** Todos de HBox_PCB `4f4681f` (19-oct, 12:06). Se trabajó sobre copias en `kicad/_to_delete/audit-20261019/`; los archivos de trabajo no se tocaron. + +| Tarjeta | Proyecto KiCad | Último cambio | `.kicad_pcb` | +|---|---|---|---| +| V5.6 | `hbox-watchdog-v5` | `240e2c3` (arreglo del merge, sobre la pasada 3 de Michelle `be30764` → `00a9af4` → `13af8f3`) | `96b41eb4…` | +| V5.7 | `hbox-watchdog-v57` | `f3f35f4` (pasada 3 de Michelle, 17-oct) | `94b50fc6…` | +| v6 | `hbox-watchdog-v6` | `00a9af4` (Michelle, 17-oct) | `6b4d1512…` | + +!!! danger "Veredicto: todavía no se manda a fabricar ninguna, pero a la V5.6 le falta una hora" + - **V5.6 — casi lista.** La pasada 3 cerró lo grande: + - `/BAT_PLUS` ya no va por In2; + - `/3V3_MODEM` va a 1.0 mm; + - el EP de U7 tiene 4 vías; + - no quedan cobres sueltos; + - el sensado Kelvin de RS1 sigue intacto. + + Con el script **T30** (5 min, Leo) y **≈ 1 h de Michelle** queda lista para Gerber/BOM/CPL y el **piloto de 5**. + - **V5.7 — avanzó mucho, todavía no.** Ya replica la pasada 2 de la V5.6, y el EP y el FB de U25 quedaron bien. Falta: + - **bloqueante:** `/SYS5V` sigue 10.9 mm por **In2 a 0.5 mm** bajo K1, en serie con el buck del módem; + - **importante:** la fuente U25 todavía tiene el lazo de entrada de 52 mm² y el nodo SW de 48 mm². + + ≈ **½ día de Michelle** después de T30, y luego los **5 prototipos**. + - **v6 — sin avance en los bloqueantes.** El commit del sábado solo agregó 15 vías de tierra. Los 8 bloqueantes del 16-oct siguen abiertos. T25 y T28 siguen aplicando sin cambios (probado hoy en una copia). El plan de fines de semana se recorre una semana: **24–25 oct y 31 oct–1 nov; pedido del piloto ≈ 2-nov** ([plan rev. 1.1](v6-plan-fines-de-semana.md)). + +!!! success "T30 — script listo y probado (V5.6 y V5.7)" + `kicad/tools/t30_v56_v57_mecanicos.py` hace todo lo mecánico que quedaba: + + - **Vías en paralelo:** 1–2 vías en cada cambio de capa de potencia que tenía una sola. V5.6: 18 vías en 10 lugares; V5.7: 21 en 11. + - **V5.7, tierras:** 11 vías GND en la entrada y salida de U25. + - **Vías «micro»:** las 4 se vuelven vías normales; la de 0.1 mm pasa a 0.5/0.3. + - **V5.7, limpieza:** borra 12 cobres sueltos. + - **Conexión sólida** en los EP. + - **BOM y CPL:** JP/TP/MOD1 fuera, en el PCB y en el esquemático. + - **Cajetín y stackup.** + + **Probado en copias en la Mac** (Python 3.14, DRC de KiCad 10.0.4 con zonas rellenadas y paridad): + + - **V5.6:** el mismo DRC de hoy, infracción por infracción. + - **V5.7:** desaparecen las 6 de cobre suelto. + - **Las dos:** 0 errores nuevos, 0 sin conectar y el ERC igual. + + Comandos en la [pasada 4](v56-v57-layout-pasada-4.md#0-antes-de-empezar-leo-10-min). + +## 1. Resumen + +| | V5.6 → 113 pzas | V5.7 → 327 pzas | v6 → 130 + reemplazos | +|---|---|---|---| +| Qué cambió desde el 16-oct | Pasada 3 de Michelle (17 y 19-oct) + limpieza de Leo (viernes, `2889ba2`) | Pasada 3 de Michelle (17-oct) | 15 vías GND (17-oct) | +| DRC hoy (KiCad 10.0.4, zonas rellenadas, paridad) | 3 errores (MH7/MH9/MH10 dentro de MOD1: por diseño), 0 sin conectar, paridad solo PF* | igual + 6 cobres sueltos | 0 errores, 0 sin conectar, 149 avisos de ancho | +| Con T30 | sin infracciones nuevas | −6 (el cobre suelto) | — (T25 + T28: solo los 14 errores esperados de MH4) | +| Bloqueantes | — | `/SYS5V` por In2 bajo K1 | los 8 del 16-oct | +| Importantes que quedan a mano | L7/nodo SW, salida VSYS de U6, 3 vías sencillas | lo mismo que V5.6 + fuente U25 (lazo, nodo SW) + 1 vía más | toda la lista L-1…L-67 | +| Para quedar lista | T30 + ≈ 1 h | T30 + ≈ ½ día | 2 fines de semana + firmware + IFT | +| Siguiente paso | Gerber/BOM/CPL → piloto de 5 | 5 prototipos (ECO §6) | fin de semana 1: sáb 24-oct | + +![V5.6 después de T30: lo que queda a mano](img/2026-10-19_Drogheda_V5.6-Pendientes-tras-T30_v1.0.png) + +## 2. El merge del lunes: qué pasó y cómo evitarlo + +**Qué pasó.** El lunes a las 11:14 el commit `40decf8` (merge de Michelle) guardó marcadores de conflicto de git dentro de los dos PCB: 33 bloques en V5.6 y 93 en V5.7, y KiCad ya no los abría. + +- **El origen.** La rama de Michelle salió de `f65c830` (T27). Mientras tanto, el auto-sync de las 18:00 del viernes (`2889ba2`) subió otros cambios de esos mismos dos archivos, guardados en la Mac de Leo. +- **El arreglo.** Leo lo resolvió en `240e2c3` y el mismo día agregó `.gitattributes` con `merge=binary` (`4f4681f`). Con eso git ya no mezcla archivos de KiCad línea por línea. + +**Verificación de este arreglo (hoy, por objeto/UUID).** + +- **V5.6** = el PCB de Michelle (`13af8f3`) menos exactamente 4 pistas y 2 vías sueltas: `/SYS5V` ×2, `/3V3_ETH` y `/BAT_PLUS`, y las vías `/BAT_PLUS` (165.85, 55.25) y `/NTC` (161.01, 93.30). Son los 6 de A10. Ninguna huella, pista o vía más cambió. +- **V5.7** = el PCB de Michelle (`f3f35f4`) idéntico byte por byte. +- **Lo que se descartó:** los cambios del viernes en la V5.7 (`2889ba2`: R121, `/BAT_PLUS`, `/MAIN5V` y `/FB_PWRIN` por otra ruta). Michelle hizo ese mismo trabajo de otra forma. Quedan en el historial. + +**Para que no se repita:** + +1. **El auto-sync de las 18:00 no debe subir archivos de KiCad.** Fue el que creó la rama paralela. Opciones: excluir `03-Architecture-Hardware/kicad/` (el submódulo) del auto-sync, o que solo suba `*.md`, imágenes y `hbox-docs/`. +2. **Una persona por tarjeta a la vez.** Antes de abrir un PCB: `git pull --ff-only`. Al terminar: commit y push de inmediato, y avisar en Mattermost («suelto V5.7»). +3. **Scripts (T25…T30) solo con KiCad cerrado y el árbol limpio** (`git status` sin cambios). Los corre Leo; Michelle hace `git pull` después. +4. **El mensaje del commit debe decir lo que se hizo de verdad.** `be30764` y `13af8f3` copian el mensaje sugerido en las instrucciones («vías MAIN5V/U7…»), pero las vías de `/MAIN5V` (A4) no se hicieron. Claude audita el cobre, no el mensaje; aun así, el mensaje es lo que lee quien busca en el historial. + +## 3. V5.6 punto por punto + +Columnas: estado al 16-oct (después de T27), hoy (`240e2c3`) y con T30. Las medidas son del cobre, con zonas rellenadas. + +| Punto | 16-oct | 19-oct (hoy) | Con T30 | Falta | +|---|---|---|---|---| +| A1 barrenos | ✅ | ✅ (MH4: `/I2C_SCL` en In1 a 2.7 mm del centro, aceptado) | ✅ | — | +| A2 sensado Kelvin de RS1 | ✅ (T27) | ✅ VIN y CLN | ✅ | no tocar | +| A3 `/BAT_PLUS` P4 → L6 | 8.5 mm por In2; 2 vías sencillas | **0 mm en capas internas**; 1 vía sencilla junto a L6 | ✅ 3 vías | — | +| A4 `/MAIN5V` → P11 | 103 mm de B.Cu a 1.0 mm, 1 vía sencilla; 131 mV a 2.5 A | F.Cu/B.Cu de 1.0–1.5 mm; **6 vías sencillas** en serie; 109 mV | ✅ 0 vías sencillas | salida VSYS de U6 (→ pasada 4, A-2) | +| A5 `/3V3_MODEM` | 0.5 mm, 101 mV a 2 A | **1.0 mm, 51 mV** | ✅ | — | +| A6 L7 junto a U7 | L7.1 a 8.8 mm de U7.8 | 7.1 mm; nodo SW 13 mm a 0.7 mm **+ 18 mm hasta Dbk2** | — | **≤ 5 mm** (→ A-1) | +| A7 EP de U7 | 0 vías | **4 vías** | ✅ (conexión sólida) | — | +| A8 vías de 0.1 mm | 2 | 1 (y era «micro», ver §5.1) | ✅ 0.5/0.3 | — | +| A9 `/VEH5V` P2 → RS1 | 9.9 mm a 0.5 mm; 3 vías sencillas; 166 mV | **≥ 0.8 mm**; 3 vías sencillas; 150 mV | 2 vías sencillas | (162.6, 113.0) y la de RS1 (→ A-4, A-5) | +| A10 cobre suelto | 6 | **0** | ✅ | — | +| A11 cajetín, stackup, BOM | Rev 3.0, stackup genérico, JP/TP/MOD1 en el BOM | igual | ✅ Rev 5.6, JLC04161H-7628, fuera de BOM/CPL | — | +| A12 puertos | decisión de Leo | sin decidir | — | **decisión** (§7) | +| A13 cierre | — | 3 errores de MOD1 sin excluir | igual | excluirlos (→ A-6) | +| `/SYS5V` a U7 y U12 | — | 3 vías sencillas en serie (P11.2 → U7.2: 55 mΩ) | 1 vía sencilla (141.2, 108.6) | → A-3 | + +**Total para la V5.6 después de T30:** + +- L7 y Dbk2; +- la salida VSYS de U6; +- 3 vías; +- las exclusiones del DRC. + +Instrucciones con coordenadas: [pasada 4, parte A](v56-v57-layout-pasada-4.md#parte-a-v56-hbox-watchdog-v5-1-h). + +## 4. V5.7 punto por punto + +![V5.7 después de T30: lo que queda a mano](img/2026-10-19_Drogheda_V5.7-Pendientes-tras-T30_v1.0.png) + +| Punto | 16-oct | 19-oct (hoy) | Con T30 | Falta | +|---|---|---|---|---| +| B1 barrenos | ✅ | ✅ | ✅ | — | +| A2 sensado Kelvin de RS1 | ✅ (T27) | ✅ | ✅ | no tocar | +| B2 `/BAT_PLUS` | 58 mm por In1/In2; 3 vías sencillas; 219 mV a 3 A | **B.Cu de 1.5 mm**; 1.9 mm de restos en In1/In2; 1 vía sencilla; 104 mV | ✅ sin restos, 3 vías | — | +| B2 `/MAIN5V` | 15 mm por In1 | **0 en capas internas**; 6 vías sencillas en serie hacia P11 | ✅ 0 vías sencillas | salida VSYS de U6 (→ B-4) | +| B2 `/SYS5V` bajo K1 | 10.9 mm por In2 a 0.5 mm | **igual**: 81 mΩ en serie con U7 y U12 (≈ 120 mV a 1.5 A) | — | **bloqueante** (→ B-1) | +| B2 `/SW3_NODE` | 12.8 mm por In1 | **0 en capas internas**; L7.1 a 7.0 mm de U7.8; 17 mm hasta Dbk2 | — | ≤ 5 mm (→ B-3) | +| B2 `/ACC_INT1`, C128, vía `/3V3` suelta, «Rig1» | por corregir | ✅ (C128 a 1.15 mm del borde) | ✅ | — | +| B2 serigrafía | 3 textos encimados | U7/Cbst2 todavía encimados | — | → B-8 | +| B3.1 EP de U25 | 0 vías | **6 vías** | ✅ conexión sólida | — | +| B3.2 divisor de FB | R121 a 19 mm; nodo FB de 35 mm | **R121/R122 a 0.6 mm; nodo FB de 3 mm** | ✅ | — | +| B3.3 lazo de entrada | 55 mm² | 52 mm²; 0 vías GND junto a C149/C150 | 2 vías GND por capacitor | **< 30 mm²** (→ B-2) | +| B3.4 nodo SW | L22.1 a 10 mm de D34.1 (centros); 47 mm² | igual (48 mm²) | — | **≤ 25 mm²** (→ B-2) | +| B3.5 GND junto a D34 | 1 vía | 1 | ✅ 4 vías | — | +| B3.6 `/VEH5V` L22 → RS1 | 4 vías sencillas; 116 mV | 6 vías sencillas; 116 mV | 3 vías sencillas | (168.0, 110.6), (162.9, 113.2) y la de RS1 (→ B-6, B-7) | +| A5 `/3V3_MODEM` | 0.5 mm, 106 mV | **1.0 mm, 51 mV** | ✅ | — | +| A7 EP de U7 | 0 vías | **4 vías** (1 adentro y 3 en la orilla del pad) | ✅ conexión sólida | — | +| A8 vía de 0.1 mm | 2 | 1 («micro») | ✅ | — | +| A11 cajetín, stackup, BOM | Rev 5.7; stackup genérico; JP/TP/MOD1 en el BOM | igual | ✅ | — | +| B5 cobre suelto | 1 vía | **6** (3 vías `/BAT_PLUS`, 1 vía `/NTC`, 2 tramos) | ✅ 0 | — | + +**Total para la V5.7 después de T30:** + +- `/SYS5V` fuera de In2; +- el reacomodo de C149/C150 y L22; +- lo mismo que la V5.6 (L7/Dbk2, VSYS de U6, vías); +- la serigrafía de U7/Cbst2. + +Instrucciones: [pasada 4, parte B](v56-v57-layout-pasada-4.md#parte-b-v57-hbox-watchdog-v57-medio-dia). + +## 5. Hallazgos nuevos de esta revisión + +### 5.1 Cuatro vías declaradas «micro» (V5.6 y V5.7) + +**Qué pasa.** Cuatro vías vienen de la V5.5 con el tipo «microvía»: + +- `/3V3` (158.715, 75.05); +- GND (137.375, 71.8) y (130.555, 54.43); +- la de `/NTC`, la de 0.3/0.1 mm. + +**Por qué importa.** JLC no hace microvías en una tarjeta estándar de 4 capas. Además, el DRC las revisa con las reglas de microvía (mínimo 0.2/0.1 mm) y no con las de vía normal (0.5/0.3): por eso nunca marcó el barreno de 0.1 mm. + +**Corrección.** T30 las convierte en vías normales: las tres de 0.8/0.3 se quedan del mismo tamaño y la de `/NTC` pasa a **0.5/0.3**. Para 0.6/0.3 no hay lugar sin acercarse a otras redes. Con eso el DRC de la copia no cambió. + +Las cuatro se quedan donde estaban, con la separación que ya tenían. La GND (130.555, 54.43) está a 0.15 mm de `/IGN_IN` y `/5V_SENSE` en F.Cu y en In1: cumple el mínimo de la tarjeta (0.15 mm), pero no la regla de HV24 (§5.4). + +### 5.2 El nodo SW del buck del módem llega hasta Dbk2 (V5.6 y V5.7) + +**Qué pasa.** Dbk2 (SS34, sin montar: U7 es síncrono) cuelga del nodo SW con **17–18 mm de pista** desde L7.1. Es una antena de conmutación sin terminar, a un lado del ArduSimple. + +**Corrección.** Al acercar L7 (A6), poner Dbk2 junto a L7.1 / U7.8 con ≤ 3 mm de cobre. La otra opción es quitarlo del esquemático (decisión de Leo, §7). + +### 5.3 La salida VSYS de U6 sale por dos pistas de 0.3 mm (V5.6 y V5.7) + +**Qué pasa.** Los pines 1 y 24 de U6 (VSYS) llegan a la vía (153.19, 110.88) con pistas de 0.3 mm de 1.6 y 2.3 mm (en V5.7, de 0.25–0.3 mm). Por ahí pasa todo el 5 V cuando la tarjeta va en batería, y la entrada del cargador cuando hay 24 V. + +**Corrección.** Polígono de ≥ 1 mm desde los pines hasta la vía y 2 vías más junto a ella (→ A-2 / B-4). + +### 5.4 La clase HV24 no se aplica (V5.6 y V5.7) + +**Qué pasa.** Los patrones de la clase son `/24V_IN`, `24V`, `IGN_IN` y `Q10_GATE`. Solo el primero lleva la `/` inicial que KiCad pone en los nombres de red. Así, `/24V`, `/IGN_IN` y `/Q10_GATE` quedan en *Default* y la regla de 0.5 mm del `.kicad_dru` nunca se revisa: + +- el relleno de GND queda a 0.15 mm de esas redes; +- hay 46 (V5.6) y 48 (V5.7) pares de pista, pad o vía a menos de 0.5 mm. + +**Qué tan grave es.** + +- **Cobre cubierto por máscara o en capas internas:** 0.15 mm cumple IPC-2221 (B4 y B1: ≤ 0.13 mm hasta 100 V). +- **Pads expuestos:** no cumple. Para terminales sin recubrimiento IPC-2221 (A6) pide 0.25 mm hasta 30 V y 0.4 mm hasta 50 V. Hay **12 pads** de esas redes a 0.15 mm del relleno de GND en V5.6 y **11** en V5.7: P1.3, Rig1.1, Q10.1/.3, DzG1.1/.3, Rrp1.1, C10.1 y C22.1 en las dos; además C11.1, Ren1.1 y U2.7 en V5.6, y C149.1, C150.1 y U25.2 en V5.7. +- Es un riesgo de confiabilidad a largo plazo (humedad, salinidad, migración), no de arco. La V5.5 en campo tiene lo mismo. + +**Recomendación.** + +- **Piloto (5 + 5):** dejarlo así. +- **Antes del pedido grande (113 / 327):** corregir los tres patrones y dejar la regla de HV24 en **0.4 mm solo en F.Cu y B.Cu** (A6 hasta 50 V: cubre los 32 V máximos de la V5.7). En capas internas basta el mínimo de 0.15 mm. +- **Qué implica:** el relleno de GND se aparta solo al rellenar; el DRC marca el resto: 19 lugares en V5.6 y 14 en V5.7. Casi todos están en la entrada de ignición (131.0, 54.4) y, en V5.6, en el buck del ventilador U2 (180–187, 65–74); en V5.7, en el divisor de EN de U25 (182, 70–72). Es ≈ 1 h por tarjeta. + +### 5.5 Otros, menores + +- **BOM:** el 10 nF 0603 sigue con dos códigos (C1589 y C57112). Unificarlo con el del BOM básico de JLC. +- **V5.7 `/24V`:** 2 vías sencillas en serie hacia U25: (182.68, 65.8) y (184.0, 121.8). Con 24 V llevan ≤ 0.8 A, así que se aceptan. Con 9 V serían ≈ 1.9 A: agregar una vía en cada una si sobra tiempo. +- **Cobre interno que se acepta:** `/SW_IN` (F1 → Q1, la alimentación del ArduSimple) va 86 mm (V5.6) y 95 mm (V5.7) por In2 a 1.0 mm. Son ≈ 85–95 mΩ con 0.5 oz: a 0.3 A, ≈ 27 mV y < 5 °C de calentamiento. `/IGN_IN` (≈ 116 mm por In1) solo lleva la corriente del divisor de ignición. + +## 6. Qué hace T30 + +![T30: vías en paralelo y tierras (ejemplos)](img/2026-10-19_Drogheda_T30-Vias-en-paralelo_v1.0.png) + +| # | Qué | V5.6 | V5.7 | +|---|---|---|---| +| 1 | Vías 0.6/0.3 en paralelo a cada vía sencilla de `/BAT_PLUS`, `/MAIN5V`, `/SYS5V` y `/VEH5V` | 18 vías, 10 lugares | 21 vías, 11 lugares | +| 2 | Vías GND junto a la tierra de C149/C150/C153/C154 y al ánodo de D34, cada una con su tramo de 0.5 mm al pad | — | 11 vías | +| 3 | Vías «micro» → normales; `/NTC` 0.3/0.1 → 0.5/0.3 | 4 | 4 | +| 4 | Borra cobre suelto (3 vías `/BAT_PLUS`, 1 vía `/NTC`, restos de `/BAT_PLUS` en In1/In2, tramo de `/3V3_MODEM`) | — | 12 elementos | +| 5 | Conexión sólida a la zona: EP de U7 (y en V5.7: EP de U25, D34.2, C149.2, C150.2, C153.2, C154.2) | 1 pad | 7 pads | +| 6 | JP1–JP6, TP1–TP7 y MOD1: «Excluir de BOM» y «Excluir de posiciones» en el PCB y en el esquemático | 14 | 14 | +| 7 | Cajetín (PCB y esquemático); stackup JLC04161H-7628 con internas de 0.5 oz (antes, el genérico de KiCad con internas de 1 oz) | Rev 5.6 | fecha | + +**Cómo se eligieron las vías.** + +- **Ubicación:** cada vía nueva va sobre una pista existente de la red o junto a ella, y se une a la vía original en F.Cu y B.Cu con tramos cortos de 0.8–1.0 mm. +- **Tamaño:** 0.6/0.3, menor que el 0.8/0.4 que la clase PWR_HI trae por omisión (el DRC no lo exige), porque 0.8 no cabía sin acercarse a otras redes. Cada vía de 0.3 mm lleva ≈ 1 A (cálculo conservador), y en cada cambio de capa quedan 2–3 en paralelo. +- **Separación:** ≥ 0.23 mm de cualquier red ajena en las 4 capas (la regla de la tarjeta es 0.15 mm). +- **Lo que se evita:** + - hilos de sensado y derivaciones delgadas de la misma red; + - pads (sin vía en pad); + - el espacio entre los pads de una pieza (sin vías debajo de piezas). +- **Comprobación:** con T30 aplicado, ningún tramo de esos caminos depende ya de una sola vía. V5.6: `/BAT_PLUS` P4 → L6 y `/MAIN5V` → P11. V5.7: lo mismo y 3 de las 6 de `/VEH5V`. +- **Dónde no hay lugar seguro**, T30 no pone nada y queda para Michelle: la vía de entrada de RS1 (zona de T27), las que están entre U6 y Q7, y la de U7.2. + +**Seguridad del script.** + +- Prueba en seco por defecto. +- Respaldos `.T30bak`. +- Aborta si cualquier vía o pista de referencia ya no está donde se auditó. +- Correrlo dos veces no hace nada la segunda. +- Cada vía GND nueva lleva su tramo propio al pad: sin eso, KiCad le cambiaba la red a `/3V3` al abrir el archivo, por el relleno viejo de In2 (se vio en la primera prueba y ya está corregido). + +## 7. Decisiones para Leo + +| # | Decisión | Recomendación | +|---|---|---| +| D-19-1 | **Puertos en V5.6/V5.7** (A12, pendiente desde el 16-oct): U32, D39, R147, CTS a GND, J10.8 a GND, LED de actividad. | Decidir **hoy**: si van, que entren al piloto (≈ 2–3 h de esquemático + ½ día de layout por tarjeta). Si no, el piloto se prueba con las mitigaciones de firmware y el RS-485 no se usa en buses compartidos. | +| D-19-2 | **Dbk2** (SS34 sin montar, del buck del módem). | Moverlo junto a L7.1 (5 min, sin tocar el esquemático). Quitarlo solo si nunca se va a montar. | +| D-19-3 | **Auto-sync de las 18:00.** | Excluir el submódulo `kicad/` (§2). | +| D-19-4 | **Clase HV24** (§5.4). | Dejarla como está para el piloto. Antes de las 113/327: corregir los patrones y poner HV24 en 0.4 mm en capas externas (≈ 1 h de layout por tarjeta). | + +## 8. v6 + +**Qué cambió el sábado** (`00a9af4`, comparado objeto por objeto contra `2612891`): solo **15 vías GND nuevas**, nada más. + +| Medida | 16-oct | 19-oct | +|---|---|---| +| Vías GND | 81 | 96 (meta ≥ 400) | +| Cobertura de In1 bajo la RF LTE de F.Cu | 26 % / 42 % | 56 % / 80 % | +| Vías GND junto a D34 | 0 | 1 (meta ≥ 4) | +| Celdas de 20 mm sin vía | 6 de 35 | 3 de 35 | +| Distancia de la tierra de F.Cu a la vía más cercana (mediana / máx.) | 7.7 / 28.8 mm | 6.2 / 24.2 mm | +| DRC | 253 avisos, 0 errores | igual | + +**Los 8 bloqueantes siguen abiertos** ([auditoría v6 del 16-oct](v6-auditoria-produccion-16oct.md)): + +1. U25 con el código del AP64350. +2. Sin barrenos. +3. 5 V por In1/In2 a 0.5 mm. +4. Cargador U6. +5. Fuente U25. +6. RF del módem por In1. +7. Vías de tierra. +8. Stackup. + +**T25 + T28 siguen aplicando.** Se corrieron hoy sobre una copia de `00a9af4`: + +- **T25:** 5 barrenos. +- **T28:** 131 cambios, sin UUIDs perdidos. +- **DRC de la copia:** los únicos errores nuevos son los 14 de MH4 (3 de separación al barreno, 2 de NPTH dentro del courtyard de D23/D24 y 9 de máscara), más avisos de huella modificada. + +**Calendario.** El plan sigue igual, recorrido una semana: fines de semana **24–25 oct** y **31 oct–1 nov**, pedido del piloto el **lun 2-nov**, G2 ≈ **22-nov** ([plan rev. 1.1](v6-plan-fines-de-semana.md)). Lo que no se puede atrasar: **las pre-órdenes en JLC** (THVD1410DR, TPS7A2033PDBVR, J14) y la decisión D-v6-1 (strap de PA9). + +## 9. Siguientes pasos + +| Cuándo | Quién | Qué | +|---|---|---| +| **Lun 19-oct** | Leo | Correr T30 en V5.6 y V5.7, DRC, subir ([comandos](v56-v57-layout-pasada-4.md#0-antes-de-empezar-leo-10-min)); decidir D-19-1…4 | +| Lun 19 – mar 20 | Adriana / Leo | Pre-órdenes de la v6 en JLC | +| **Mar 20-oct** | Michelle | Pasada 4, parte A (V5.6, ≈ 1 h) → push | +| Mar 20 | Claude | Re-auditoría de la V5.6 + **Gerber/BOM/CPL** del piloto de 5 | +| Mar 20 – mié 21 | Michelle | Pasada 4, parte B (V5.7, ≈ ½ día) → push | +| Mié 21 | Claude | Re-auditoría de la V5.7 + archivos de los 5 prototipos | +| Mié 21 – jue 22 | Leo / Aldair | Pedido: 5 V5.6 + 5 V5.7 (vías del EP de U6 *Epoxy Filled & Capped*, rayos X en U6) | +| En paralelo | Leo + Claude | Firmware 0.7.0 (`board_v56.h`): sin él, el piloto no puede probar el ciclo de 10 s, Ethernet de campo ni los puertos | +| **Sáb 24 – dom 25** | Michelle / Leo | v6, fin de semana 1 ([plan rev. 1.1](v6-plan-fines-de-semana.md)) | + +## 10. Cómo se hizo + +- **DRC y ERC:** KiCad 10.0.4 (`kicad-cli pcb drc --schematic-parity --refill-zones --severity-all`; `sch erc`) en copias con las tablas de librerías del proyecto, para comparar infracción por infracción antes y después de T30. +- **Historial:** los PCB de `f65c830`, `2889ba2`, `be30764`, `00a9af4` y `13af8f3` se extrajeron de git (solo lectura). Se compararon por UUID con un script propio (huellas, pistas, vías, zonas y textos, sin los rellenos). +- **Medidas:** script propio sobre el cobre rellenado: + - cobre en serie entre dos pads (cada tramo y vía cuya falta desconectaría la ruta), con resistencia y calentamiento por IPC-2221; + - vías de corte (las que, si se quitan, separan la red); + - topología Kelvin de RS1 cortando el pad; + - distancias de pad a pad; + - lazo caliente por centros de pad. +- **Resistencias:** 1 oz en F.Cu/B.Cu y 0.5 oz en In1/In2, el cobre del JLC04161H-7628 (el stackup que deja T30). Al pedir, confirmar ese stackup. +- **T30:** las posiciones de las vías se calcularon con separación a todo el cobre ajeno en las 4 capas. Se probó en la Mac sobre copias de los archivos de trabajo y se comparó el DRC infracción por infracción. Después, en la copia, se volvieron a medir las series de cobre y las vías de corte. +- **v6:** comparación por UUID contra el commit del 16-oct; T25 + T28 en una copia con DRC. +- **Verificación independiente:** un segundo revisor, con su propio lector del PCB, volvió a medir 14 afirmaciones de este documento. Confirmó 12; las otras 2 quedaron corregidas aquí: la separación de las vías «micro» convertidas (§5.1) y los patrones de HV24 (§5.4). diff --git a/docs/hardware/v56-v57-layout-pasada-3.md b/docs/hardware/v56-v57-layout-pasada-3.md index de352aa..88f9e49 100644 --- a/docs/hardware/v56-v57-layout-pasada-3.md +++ b/docs/hardware/v56-v57-layout-pasada-3.md @@ -5,12 +5,15 @@ project: Project Drogheda author: Helgen Technologies date: 2026-10-16 version: 1.2 -status: ACTIVO — rev. C (16-oct, 14:00): MH11 se quita; pasos 1 y 2 hechos con el script T27 (f65c830) · sustituye a la pasada 2 de V5.6 (13-oct) y a la guía de colocación y ruteo de V5.7 (14-oct) +status: CERRADA (19-oct) — lo que quedó pendiente pasó a la pasada 4 (19-oct) y al script T30 audience: Michelle (layout), Leo --- # Instrucciones para Michelle — V5.6 y V5.7, pasada 3: barrenos, sensado de RS1 y lo que falta · 16-oct-2026 +!!! success "19-oct: pasada 3 entregada y auditada" + Michelle la entregó el 17 y 19-oct (`be30764`, `f3f35f4`, `00a9af4`, `13af8f3`). Lo mecánico que faltaba lo hace el script T30, y lo que necesita mover cobre o piezas está en la [**▶ Pasada 4 (cierre)**](v56-v57-layout-pasada-4.md). Estado punto por punto: [re-auditoría del 19-oct](re-auditoria-19oct.md). Esta página queda como referencia. + Base: **V5.6** = `hbox-watchdog-v5.kicad_pcb`, tu commit `5a93232`; **V5.7** = `hbox-watchdog-v57.kicad_pcb`, commit `a7c0116`. El porqué y los números de cada punto están en la [auditoría de producción del 16-oct](auditoria-produccion-16oct.md). Lo que quedó pendiente de la [pasada 2](v56-layout-pasada-2.md) y de la [guía de V5.7 del 14-oct](v57-colocacion-ruteo.md) está aquí; ya no hace falta abrir esas dos. **Orden: V5.6 completa → commit y push → V5.7.** La V5.7 repite casi todo lo de la V5.6 con las mismas coordenadas, más su fuente. diff --git a/docs/hardware/v56-v57-layout-pasada-4.md b/docs/hardware/v56-v57-layout-pasada-4.md new file mode 100644 index 0000000..704b2df --- /dev/null +++ b/docs/hardware/v56-v57-layout-pasada-4.md @@ -0,0 +1,210 @@ +--- +title: "Instrucciones para Michelle — V5.6 y V5.7, pasada 4: cierre (19-oct-2026)" +tags: [project-drogheda, hardware, hbox, einarboard, v5.6, v5.7, layout, pcb, michelle, t30] +project: Project Drogheda +author: Helgen Technologies +date: 2026-10-19 +version: 1.0 +status: ACTIVO — sustituye lo pendiente de la pasada 3 (16-oct) · empieza después de que Leo suba T30 +audience: Michelle (layout), Leo +--- + +# Instrucciones para Michelle — V5.6 y V5.7, pasada 4 (cierre) · 19-oct-2026 + +**Primero, gracias:** la pasada 3 cerró casi todo lo grande en las dos tarjetas (el detalle está en la [re-auditoría del 19-oct](re-auditoria-19oct.md)). Esta pasada es corta: lo mecánico ya lo hace el script **T30** y aquí queda solo lo que necesita mover cobre o piezas. + +Base: **V5.6** = `hbox-watchdog-v5.kicad_pcb` y **V5.7** = `hbox-watchdog-v57.kicad_pcb`, los dos **después de T30**. Orden: **V5.6 completa → commit y push → V5.7.** + +Reglas de siempre: + +- Corriente solo por F.Cu/B.Cu (In1 e In2 son de 0.5 oz). Cada cambio de capa de una red de potencia lleva **2–3 vías** 0.6/0.3 (u 0.8/0.3), nunca una sola. +- No mover U6, U7, U16, U26, MOD1, J7/J8, RS1, C31, Q7 ni la fila de conectores. No tocar la pasta del EP de U6. +- **No tocar los hilos de sensado de RS1** (dos pistas de 0.25 mm de U6.6 y U6.7 a los pads de RS1, de T27) ni unirles cobre de potencia. +- No mover ni borrar las vías que agregó T30 (las 0.6/0.3 nuevas junto a las vías de potencia y junto a C149/C150/D34). Si estorban para algo de esta lista, avísale a Leo. +- Las coordenadas (x, y) en mm son para ubicarte rápido; manda el designator y el pin. + +![V5.6 después de T30: lo que queda a mano](img/2026-10-19_Drogheda_V5.6-Pendientes-tras-T30_v1.0.png) + +## 0. Antes de empezar (Leo, 10 min) + +Con **KiCad cerrado** (PCB y esquemático de las dos tarjetas) y el árbol limpio: + +```bash +cd ~/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad +git status # sin cambios; a lo más, tools/t30_v56_v57_mecanicos.py como archivo nuevo (??) +git pull --ff-only +# prueba en seco: no escribe nada, solo dice lo que haría +python3 tools/t30_v56_v57_mecanicos.py hbox-watchdog-v5.kicad_pcb +python3 tools/t30_v56_v57_mecanicos.py hbox-watchdog-v57.kicad_pcb +# aplicar (deja .T30bak del PCB y del esquemático) +python3 tools/t30_v56_v57_mecanicos.py hbox-watchdog-v5.kicad_pcb --apply +python3 tools/t30_v56_v57_mecanicos.py hbox-watchdog-v57.kicad_pcb --apply +``` + +Lo que debe decir: + +| V5.6 (`hbox-watchdog-v5`) | V5.7 (`hbox-watchdog-v57`) | +|---|---| +| — | `4 cobre suelto borrado: 12 elementos` | +| `3 via micro …` × 4 (la de `/NTC` pasa a 0.5/0.3) | igual | +| `1 vias en paralelo: 18 nuevas en 10 sitios, 30 tramos de union` | `1 vias en paralelo: 21 nuevas en 11 sitios …` | +| — | `2 vias GND junto a C149/C150/D34/C153/C154: 11 nuevas` | +| `5 conexion solida: 1 pads` | `5 conexion solida: 7 pads` | +| `6 JP/TP/MOD1 fuera de BOM y posiciones en el PCB: 14 huellas` | igual | +| `7 cajetin del PCB: EINARBoard HBOX V5.6, rev 5.6, 2026-10-19` | `… V5.7, rev 5.7, 2026-10-19` | +| `6 esquematico: 14 simbolos …; cajetin actualizado` | igual | + +Si dice **ABORTAR**, el archivo ya no es el que se auditó (alguien lo cambió): no escribió nada; avísale a Claude. + +Después, en KiCad, cada tarjeta: **B** (rellenar zonas) → **Inspeccionar → DRC** con «Rellenar zonas» y «Comprobar paridad». + +- **V5.6:** debe dar lo mismo que antes de T30: 3 errores (MH7/MH9/MH10 dentro de MOD1, por diseño), 0 sin conectar, paridad solo con los PF*. +- **V5.7:** lo mismo, y sin los 6 avisos de cobre suelto. + +Guarda (Ctrl+S) y sube: + +```bash +mv hbox-watchdog-v5.kicad_pcb.T30bak hbox-watchdog-v5.kicad_sch.T30bak hbox-watchdog-v57.kicad_pcb.T30bak hbox-watchdog-v57.kicad_sch.T30bak _to_delete/ +git add tools/t30_v56_v57_mecanicos.py hbox-watchdog-v5.kicad_pcb hbox-watchdog-v5.kicad_sch hbox-watchdog-v57.kicad_pcb hbox-watchdog-v57.kicad_sch +git commit -m "T30: V5.6/V5.7 vias en paralelo, vias micro a normales, cobre suelto V5.7, cajetin, stackup 7628, JP/TP/MOD1 fuera de BOM/CPL" --trailer "Co-Authored-By: Claude Opus 5.5 " --trailer "Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx" +git push +cd ../.. +git add 03-Architecture-Hardware/kicad +git -c diff.ignoreSubmodules=none commit -m "kicad: T30 (V5.6/V5.7)" --trailer "Co-Authored-By: Claude Opus 5.5 " --trailer "Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx" +git push +``` + +Michelle, después del aviso de Leo: `git pull --ff-only` y empiezas con la parte A. **No abras V5.6 ni V5.7 antes de ese aviso**: así no se repite el conflicto del lunes. + +![Lo que queda a mano, de cerca](img/2026-10-19_Drogheda_V56-V57-Detalle-Pendientes_v1.0.png) + +## Parte A — V5.6 (`hbox-watchdog-v5`, ≈ 1 h) + +### A-1. L7 junto a U7, y Dbk2 + +Hoy **L7.1** (139.0, 107.1) está a 7.1 mm de **U7.8** (141.87, 115.89) y el nodo SW corre 13 mm a 0.7 mm. Además, de L7.1 sale una rama de **18 mm** hasta **Dbk2** (141.8, 93.4), que no se monta (U7 es síncrono): es una antena de conmutación. + +1. Acerca **L7** para que L7.1 quede a **≤ 5 mm de U7.8**. U7 no se mueve. +2. Pon **Dbk2** junto a L7.1 / U7.8, con **≤ 3 mm** de cobre de SW hasta su pad 1. Borra la rama larga. +3. Nodo SW (U7.8 → L7.1, Cbst2.2, Dbk2.1) solo en F.Cu, **≥ 1.0 mm**, sin vías y sin pistas de otras redes debajo en In1. +4. Reajusta `/3V3_MODEM` (L7.2 → J7.1) a 1.0 mm, como quedó en la pasada 3. + +### A-2. Salida VSYS de U6 + +Los pines **U6.1** y **U6.24** (VSYS) llegan a la vía **(153.19, 110.88)** con dos pistas de **0.3 mm** (1.6 y 2.3 mm). Por ahí pasa todo el 5 V cuando la tarjeta va en batería. + +- Haz un polígono (o pistas) de **≥ 1.0 mm** desde los dos pines hasta la vía. Entra al pad con el ancho del pad y ensancha en cuanto salgas. +- Pon **2 vías más** junto a esa vía, unidas en F.Cu y B.Cu. +- Cuidado con los pines vecinos de U6 y con C35 (arriba a la izquierda). + +### A-3. `/SYS5V` hacia U7.2 + +La vía **(141.2, 108.6)**, junto a U7.2 (VIN del buck del módem), es la única que une ese tramo de B.Cu con F.Cu. Pon **2 vías más** a su lado, o llega a U7.2 por F.Cu sin cambiar de capa. + +### A-4. `/VEH5V` en (162.6, 113.0) + +Vía sencilla en el camino de P2 a RS1, entre U6 y L6. **2 vías más**, unidas a la pista de 1.0 mm en F.Cu y en B.Cu. Ojo: ahí mismo llega la pista de 0.5 mm de U6.16 (OVSNS) por B.Cu: no la ensanches ni la muevas. + +### A-5. Entrada de RS1 (zona de T27) + +La vía **(151.0, 115.54)** lleva toda la entrada de 5 V a RS1.1. No la muevas: pon **una vía más** en otro punto del mismo camino. La mejor opción es junto a **C31.1** (149.46, 120.11): una vía de B.Cu a F.Cu pegada al pad, unida al B.Cu de `/VEH5V` y al pad de C31.1. Desde ahí la corriente entra a RS1.1 por la pista de 1.0 mm de T27. + +**Condición:** a ≥ 0.25 mm de los dos hilos de sensado de 0.25 mm (morados en la figura). Si no cabe sin acercarte, déjalo y avísale a Leo. + +### A-6. DRC: excluir MH7/MH9/MH10 + +El DRC marca **MH7, MH9 y MH10 «dentro del courtyard de MOD1»**: son los barrenos del ArduSimple y es por diseño. Clic derecho en cada uno → *Excluir esta infracción*. + +### A-7. Cierre de V5.6 + +1. **B** (rellenar zonas). +2. **DRC** con «Rellenar zonas» y «Comprobar paridad»: + - **0 errores** (con las 3 exclusiones de A-6); + - 0 sin conectar; + - paridad solo con los PF*; + - 0 colgantes. + + Los ~85 avisos de «huella no coincide con la librería» son ruido; no los toques. +3. Commit y push. Escribe en el mensaje lo que hiciste de verdad: + +```bash +git add hbox-watchdog-v5.kicad_pcb hbox-watchdog-v5.kicad_pro +git commit -m "V5.6 pasada 4: L7 y Dbk2 junto a U7, VSYS de U6 a 1 mm + 2 vias, vias en SYS5V/U7.2 y VEH5V, exclusiones MOD1" +git push +``` + +Avísale a Leo con el hash. Claude revisa pad a pad y genera Gerber/BOM/CPL del piloto. + +## Parte B — V5.7 (`hbox-watchdog-v57`, ≈ medio día) + +![V5.7 después de T30: lo que queda a mano](img/2026-10-19_Drogheda_V5.7-Pendientes-tras-T30_v1.0.png) + +### B-1. `/SYS5V` bajo K1: fuera de In2 — BLOQUEANTE + +Hoy va **10.9 mm por In2 a 0.5 mm** entre las vías **(156.56, 64.44)** y **(158.6, 57.92)**, rodeando bajo K1 (por (155.41, 64.28) → (154.19, 63.06) → (154.19, 60.23) → (156.47, 57.95)). Ese tramo está en serie con todo lo que alimenta a U7 (buck del módem) y U12 (3.3 V de Ethernet): 81 mΩ, y aguanta ≈ 0.44 A cuando por ahí pasan picos de 1.5 A. + +- Rutea esa unión por **F.Cu o B.Cu a ≥ 1.0 mm**. Si cambias de capa, con 2–3 vías. +- **Borra los tramos de 0.5 mm de In2** y las dos vías que queden sueltas. +- La rama de **1.5 mm** de `/SYS5V` que va por In2 hacia **R2** (de la vía (165.4, 47.08) a (155.74, 54.64)) se queda: es el pull-up de 10 k de la compuerta de Q1 y casi no lleva corriente. + +### B-2. Fuente U25: lazo de entrada y nodo SW + +Hoy el lazo C150 → U25.2 → U25.8 → D34 → C150 mide **52 mm²** (meta **< 30**), y el nodo SW (U25.8 → D34.1 → L22.1) mide **48 mm²** (meta **≤ 25**). L22.1 (191.8, 51.0) está a 10 mm de D34.1 (191.8, 61.0), entre centros. T30 ya puso 2 vías GND junto a la tierra de cada capacitor y 4 junto a D34.2; eso acorta el regreso, pero el área la define dónde están las piezas. + +1. **C149/C150** (181.2, 63.8 / 67.8): gíralos 180° para que su pad de tierra mire hacia D34/EP de U25, y acércalos al pin 2 de U25 (184.7, 67.97): **pad de `/24V` a ≤ 2 mm del pin 2**. Su tierra debe quedar sobre la misma isla de F.Cu que D34.2 y el EP, sin cuellos de menos de 1 mm. +2. **L22**: que **L22.1 quede a ≤ 5 mm de D34.1**. Puedes girarla 90° o bajarla hacia D34; L22.2 sigue saliendo a C153/C154. +3. Nodo SW solo en F.Cu, compacto, **sin nada en In1 debajo**. +4. **Conserva las vías de T30.** Si al mover C149/C150 una queda dentro de un pad o choca, muévela junto al pad nuevo; deben quedar 2 por capacitor. +5. No muevas U25, R121/R122 ni C152: el FB ya quedó bien (0.6 mm). + +### B-3. L7 junto a U7, y Dbk2 + +Igual que A-1: hoy L7.1 a 7.0 mm de U7.8; rama de 17 mm hasta Dbk2 (142.0, 93.2). + +### B-4. Salida VSYS de U6 + +Igual que A-2. Aquí las pistas son de 0.25–0.3 mm. + +### B-5. `/SYS5V` hacia U7.2 + +Igual que A-3: vía (141.2, 108.6). + +### B-6. `/VEH5V`: dos vías sencillas entre U6 y L6 + +- **(168.0, 110.6)** y **(162.85, 113.19)**: 2 vías más en cada una, unidas a la pista de 1.0 mm en las dos capas. +- La de (162.85, 113.19) recibe la pista de 0.5 mm de U6.16 por B.Cu: no la toques. + +### B-7. Entrada de RS1 + +Igual que A-5. + +### B-8. Serigrafía + +El texto «Cbst2» se encima con el contorno de U7 (142.5, 114.9). Muévelo. + +### B-9. DRC: excluir MH7/MH9/MH10 + +Igual que A-6. + +### B-10. Cierre de V5.7 + +Igual que A-7. Además, resalta `/24V`, `/SW_PWRIN`, `/VEH5V`, `/SYS5V` y `/FB_PWRIN` con F.Cu y B.Cu apagadas: **no debe quedar nada visible en In1 ni In2**, salvo la rama de 1.5 mm de `/SYS5V` hacia R2. + +```bash +git add hbox-watchdog-v57.kicad_pcb hbox-watchdog-v57.kicad_pro +git commit -m "V5.7 pasada 4: SYS5V fuera de In2, C149/C150 y L22 junto a U25/D34, L7 y Dbk2, VSYS de U6, vias, serigrafia, exclusiones MOD1" +git push +``` + +Después: re-auditoría pad a pad, Gerber/BOM/CPL y los **5 prototipos**. + +## Lo que NO hay que hacer + +- No mover RS1, C31, la vía de entrada (151.0, 115.54) ni los hilos de sensado de 0.25 mm. +- No borrar las vías que agregó T30. +- No mover ni borrar MH4, MH5, MH6, MH7, MH9 ni MH10; no quitarles «No en el esquemático». +- No mover U6, U7, U16, U26, MOD1, J7/J8, Q7, P1–P11 ni la fila de conectores. +- No cambiar la pasta del EP de U6 (6 ventanas, 50 %, intencional). +- No poner piezas en la cara inferior. +- No cambiar valores ni huellas, ni correr *Actualizar PCB* (si Leo aprueba los puertos, él te avisa). +- No editar la V5.7 hasta que la V5.6 esté en el servidor. diff --git a/docs/hardware/v6-auditoria-produccion-16oct.md b/docs/hardware/v6-auditoria-produccion-16oct.md new file mode 100644 index 0000000..917d24b --- /dev/null +++ b/docs/hardware/v6-auditoria-produccion-16oct.md @@ -0,0 +1,326 @@ +--- +title: "Auditoría de producción — EinarBoard v6 (16-oct-2026)" +tags: [project-drogheda, hardware, hbox, einarboard, v6, auditoria, produccion, pedido, layout] +project: Project Drogheda +author: Helgen Technologies (auditoría: Claude; revisión: Leo) +date: 2026-10-16 +version: 1.0 +status: ACTIVO — auditoría de la v6 sobre el commit 2612891 (Michelle, 16-oct 13:56) · el plan de trabajo está en «Plan de fines de semana v6» +audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM) +--- + +# Auditoría de producción — EinarBoard v6 · 16-oct-2026 + +**La pregunta (Leo, 16-oct 16:30):** «¿Y la v6? Haz la auditoría y agrega instrucciones: vamos a trabajar los fines de semana para dejar la tarjeta lista para producción.» + +**Archivo auditado:** proyecto `hbox-watchdog-v6` en HBox_PCB, commit `2612891` (Michelle, 16-oct 13:56, después de `57e480d` «changes complet v6»). PCB `87df1036…`, esquemático `d58a89ba…` (el verificado del 28-sep; no cambió). Se trabajó sobre copias en `kicad/_to_delete/audit-20261016/v6d/`; el archivo de trabajo no se tocó. + +!!! note "19-oct: sin cambios en los bloqueantes" + El commit del sábado 17 (`00a9af4`) solo agregó 15 vías de tierra (81 → 96) y mejoró la cobertura de In1 bajo la RF LTE. Todo lo de esta auditoría sigue vigente; T25 y T28 se volvieron a probar sobre `00a9af4` y aplican igual. El plan de fines de semana se recorrió una semana: [**rev. 1.1**](v6-plan-fines-de-semana.md) (24–25 oct y 31 oct–1 nov). Detalle: [re-auditoría del 19-oct, §8](re-auditoria-19oct.md#8-v6). + +**El plan para cerrarla** está en un documento aparte: [**▶ Plan de fines de semana — v6 lista para producción**](v6-plan-fines-de-semana.md). + +!!! danger "Veredicto: la v6 todavía no se puede mandar a fabricar" + **Lo que ya está.** El ruteo está completo: DRC con **0 errores y 0 sin conectar**, y la paridad con el esquemático está limpia (solo los 19 PWR_FLAG, que no llevan huella). Las piezas nuevas de la pasada de esquemático del 28-sep ya están en la tarjeta, F2 va primero, el 24 V y la ignición cruda ya no van por capas internas, JP2 quedó en LFP, J10 tiene sus LEDs y su pin 8 bien, y el módem y el GNSS quedaron en extremos opuestos (109 mm). + + **Lo que falta.** Casi toda la lista L-1…L-67 del 28-sep sigue abierta. Los bloqueantes: + + 1. **U25 todavía trae el código del chip equivocado** (`LCSC Part` = AP64350 de 40 V): JLC lo montaría detrás de un TVS de 53 V. + 2. **No hay barrenos de montaje** (la actualización del 16-oct los borró) y MH4 cae encima de D23/D24. + 3. **El 5 V de toda la tarjeta pasa por capas internas de 0.5 mm** (L22 → RS1 → Q7), con una sola vía en cada cambio de capa. + 4. **Cargador U6:** `/SW_BAT` y `/BAT_PLUS` de 0.5 mm y **una sola vía en el EP** (meta 9). + 5. **Fuente U25:** L22 a 13 mm del pin SW y **cero vías en el EP**. + 6. **La RF del módem va 22 mm por In1** —la capa que debería ser tierra sólida— con 2 vías. + 7. **81 vías de GND** (meta ≥ 400): 1 bajo el módem y 0 bajo el GNSS; In1 cortado por 1 681 mm de pistas. + 8. **Stackup genérico** (sin 7628, sin ENIG, sin control de impedancia): las líneas de RF no son de 50 Ω. + + **Cuánto falta.** ≈ 4 días de layout de Michelle (dos fines de semana), un script mecánico que ya está listo y probado (T28), el firmware de la v6 —que no existe— y la homologación IFT. + +!!! success "Lo que se arregla el sábado a primera hora con scripts (ya probados en una copia)" + - **T25 `--set v6`** regresa los 5 barrenos (MH4, MH5 y MH6 de la placa base de la V5.5, más MH7 y MH8 en las esquinas de la v6). + - **T28** hace todos los cambios mecánicos: + - borra el código equivocado de U25; + - baja la pasta del EP de U6 al 50 % (regla DFM del 8-oct); + - deja con conexión sólida 114 pads de tierra de potencia y RF; + - pone el stackup JLC04161H-7628 con ENIG y control de impedancia; + - ajusta la clase RF a 0.35 mm; + - corrige cajetín y textos de serigrafía. + - **Resultado del DRC en la copia** (con las zonas rellenadas): los únicos errores nuevos son los 16 de MH4 (D23/D24 dentro del barreno y `/NTC` por In2), que Michelle libera el mismo sábado. + +![Mapa de la v6: dónde está el trabajo que falta](img/2026-10-16_Drogheda_v6-Mapa-Pendientes_v1.0.png) + +## 1. Resumen por bloque + +Las letras son los bloques del [plan de fines de semana](v6-plan-fines-de-semana.md). «Meta» = la lista del 28-sep ([plan de corrección](v6-plan-correccion.md)). + +| Bloque | Hoy (medido en el cobre) | Meta | Gravedad | +|---|---|---|---| +| **A · Fuente U25 y entrada** | `LCSC Part` = C2071691 (AP64350, 40 V) junto a `LCSC` = C524806 | solo C524806 | **Bloqueante** → T28 | +| | L22 a 13.2 mm del pin SW; D34 a 3.8 mm; C149 a 6.8 mm del pin VIN (C150 a 2.9) | L22 ≤ 5 · D34 2–3 · Cin ≤ 2 | **Bloqueante** | +| | EP de U25 sin vías; 0 vías GND junto a D34 y a la tierra de C149/C150 | 6 en el EP · ≥ 4 en D34 · ≥ 2 por Cin | **Bloqueante** | +| | nodo SW de 44 mm² | ≤ 25 mm² | Importante | +| | FB: R121/R122 a 0.9 mm del pin 5 | ≤ 3 mm | ✅ (mejor que la V5.7) | +| | D35 a 14 mm de P1.3; Rig1 a 8.4 mm | D35 en P1.3 · Rig1 ≤ 3 mm | Menor (la ignición cruda ya va solo por F.Cu) | +| | cobre de la rama sin montar: `/24V` 30 mm (12.8 mm por In1), `/SW_FAN` 27 mm | nada en In1 | Menor | +| **B · Cargador y camino de 5 V** | `/VEH5V` L22 → RS1: **12 mm por In1 a 0.5 mm**, 2 vías | ≥ 2 mm en F.Cu | **Bloqueante** | +| | `/VIN_SW` RS1 → Q7: **22 mm por In2 a 0.5–0.8 mm**; Q7 a 10.6 mm de RS1 y 18.8 mm de U6 | ≥ 2 mm F.Cu · Q7 ≤ 5 mm | **Bloqueante** | +| | RS1: VIN llega al pad 1 y CLN a la vía pegada al pad 2 → casi Kelvin (error de pocos %) | conservarlo al rehacer `/VIN_SW` | ✅ (cuidarlo) | +| | `/SW_BAT` 0.5 mm × 13 mm con cuello de 0.3 | polígono ≥ 2 mm | **Bloqueante** | +| | `/BAT_PLUS` P3 → L6 0.5 mm × 15 mm | ≥ 1.5 mm | **Bloqueante** | +| | EP de U6: 1 vía | 9 | **Bloqueante** | +| | C32/C33/C161/C162 a 5–8 mm de VSYS; C34 a 3.2 | ≤ 2 mm | Importante | +| | R53/R54 (BSTFB) a 20–22 mm; `/VFB_BST` 26 mm y `/IGATE` 36 mm por In1 | ≤ 3 mm · F.Cu · IGATE ≤ 8 mm | Importante | +| | `/MAIN5V` U6 → U20: cuellos de 0.5 mm (15 mm) y 7.8 mm por In2 | ≥ 1.5 mm | Importante | +| | In1 bajo U6/L6: `/VEH5V`, `/IGATE`, `/CHRG_FAULT`, `/CHRG_STAT`, `/VFB_BST`, `/MAIN5V` | sólido ≥ 5 mm | Importante | +| | C30/C31 junto al VIN; C35 junto a L6; U29 a 3.7 mm del EP; JP2 2-3 | — | ✅ | +| **C · Módem: RF LTE, U20, VBAT** | RF LTE **21.9 mm por In1** con 2 vías; bajo la parte de F.Cu, In1 cubre solo 26–42 %; 0–1 vías de cerca; J13 sin vías GND | todo en F.Cu, CPWG sobre In1 sólido, cerca ≤ 3 mm | **Bloqueante** | +| | líneas de 0.5 mm con 0.3 de separación ≈ 43 Ω en 7628 | 0.35/0.20 ≈ 50 Ω | Importante | +| | U20: EP sin vías; sigue el cuello GND de 0.25 mm entre U20.1 y U20.2; C163/C164 a 4.6–4.8 mm, C165 a 5.8 | 6 vías · sin cuello · ≤ 3 mm | Importante | +| | VBAT_MODEM con cuellos de 0.5 mm y 6 mm por In1; C131 a 6.6 mm de los pines | polígono ≥ 3 mm · C131 ≤ 5 | Importante | +| | U31 entre U19 y U20; R148 en lugar de K1; C166 a 2.1 mm de L20 | — | ✅ | +| | TP12 a 7.6 mm de TP8 | 2.54 mm | Menor | +| **D · GNSS** | C176 a **26 mm** de U28.1 | ≤ 2 mm | Importante | +| | `/ANT_BIAS` a 0.49 mm de la línea RF | ≥ 1 mm con tierra cosida | Importante | +| | `/SW_IN` (5 V del GNSS, desde F1) **130 mm por In1**; `/SW_5V` 9.7 mm por In1 | 0 mm en In1 | Importante | +| | RF GNSS 0.5/0.3 (≈ 43 Ω); 2 vías de cerca; J12 con 1 vía | 0.35/0.20 · cerca · 2 vías por pad | Importante | +| | U28 junto a L21/J12; U27 a 3.5 mm de U18.26; Q1/Q5 ya en la isla GNSS; In1 99 % bajo la línea | — | ✅ | +| **E · Fuente de Ethernet U12** | D11 a 11.6 mm, L8 a 15.3 mm, `/ETH_FB` 28 mm por In1, EP sin vías | D11 ≤ 2 · L8 ≤ 5 · FB ≤ 5 en F.Cu · 6 vías | Importante | +| | C101 a 0.6 mm; R87/R88 a 2.5 mm; R139/R140 junto a sus pines | — | ✅ | +| **F · Pares diferenciales** | Ethernet: TXP por In1 y TXN por F.Cu (par partido); RXP/RXN juntos pero por In1 a 0.5 mm | cada par junto, en F.Cu, 100 Ω | Importante | +| | USB del módem (J9 → U19): 55 mm en F.Cu + 8–11 mm por In1, 1–2 vías | solo F.Cu, ≤ 1 par de vías | Importante | +| | USB DFU (J11) todo en F.Cu; U30 a 1.9 mm de J9; D14–D16 junto a J11 | — | ✅ | +| **G · Puertos serie** | D39 (TVS del RS-485) a 24 mm de P11; R145/R146 (sin montar) a 28 mm | ≤ 5 mm | Importante | +| | U32 a 0.6 mm de U14; C84–C89; Y2 a 4.6 mm de U10; R82/JP5 junto a P11 | — | ✅ | +| | R147 a 5.7 mm de U15.12; C175 a 3.0 mm; C81 a 2.6 mm | ≤ 3 / ≤ 2 | Menor | +| **H · Tierras, planos, fabricación** | **81 vías GND**: 1 bajo U19, 0 bajo U18; 6 de 35 celdas de 20 mm sin vías; solo 25 % de la tierra de F.Cu a ≤ 5 mm de una vía (máx. 28.8 mm) | ≥ 400 · ≥ 30 · ≥ 24 · 0 celdas | **Bloqueante** | +| | In1: 1 681 mm de pistas de 49 redes, 8 islas, 19 % vacío (el 28-sep eran 1 572 mm) | ≤ 3 islas; nada bajo RF, módulos, cristales y pares | Importante | +| | stackup genérico (dieléctricos de 0.48 mm, εr 4.5), sin acabado, sin control de impedancia | JLC04161H-7628, ENIG, control de impedancia | **Bloqueante** → T28 | +| | pasta del EP de U6 al 65 % | ≤ 50 % (regla DFM del 8-oct) | **Bloqueante** → T28 | +| | Y3 a 7.0 mm del MCU; Y1 a 5.8 mm del W5500; pistas de capa interna bajo Y1, Y2, Y3 y Y4 | ≤ 3 (aceptable ≤ 5) · nada abajo | Importante | +| | 345 de 350 referencias a 0.5 × 0.1 mm; cajetín «Rev 3.0»; «EINARBoard 4.0» y «4G NTRIP RESET» en la serigrafía | ≥ 0.8 × 0.15; v6 | Menor (los textos, con T28) | +| | sin fiduciales; pads de depuración TP3–TP9 dispersos | 3 fiduciales; fila a 2.54 mm | Menor | +| | 149 avisos de ancho de pista, todos en redes de potencia | solo los aceptados | (se van con A, B y C) | +| | vías tapadas en las dos caras; TP/JP fuera de BOM y CPL; todas las piezas montadas con código LCSC; MWSA0804S en L6/L8/L20 | — | ✅ | +| **Barrenos** | **no hay ninguno** (los borró la actualización del 16-oct) | MH4, MH5, MH6 + MH7, MH8 | **Bloqueante** → T25 | +| | MH4 cae sobre D23/D24; `/NTC` (In2) a 0.35 mm del centro; SIM_CLK/SIM_RST y una pista GND dentro del círculo de 4 mm | mover | **Bloqueante** (sábado) | +| | MH6: pista `/3V3` a 3.0 mm; H4 a 3.2 mm | ≥ 4 mm | Importante | + +## 2. Lo que ya está bien (no hay que tocarlo) + +- **Ruteo y paridad.** 0 errores, 0 sin conectar; paridad limpia. ERC del esquemático: 0 errores (135 avisos, la misma base del 28-sep). +- **Entrada.** P1.1 → F2 (3 A, en porta-fusible) → D10 ∥ Q23, como pide V1-01: con P1 al revés se funde F2 y se cambia sin soldar. `/24V_IN` solo por F.Cu (1.5 mm). `/IGN_IN` (ignición cruda) solo por F.Cu (18.5 mm); el tramo largo es `/IGN_SENSE`, ya limitado por Rig1. +- **Química LFP.** JP2 = `SolderJumper-3_Bridged23` con `/F2_SEL` a GND: flotación de 3.50 V (L-67). +- **Piezas nuevas en su lugar:** U27 a 3.5 mm de U18.26; U28 junto a L21/J12; U29 a 3.7 mm del EP de U6; U30 a 1.9 mm de J9; U31 entre U19 y U20; U32 a 0.6 mm de U14; R139/R140 junto a sus pines; D36–D38 a 2.6–3.7 mm de P6–P8; JP6 junto a P5. +- **Puertos.** J10: pin 8 a GND, pin 12 = ánodo y pin 11 = cátodo del LED amarillo (L-52, L-66). U15 en SOIC angosto con C85–C89 pegados. P11, P12 y J10 montados. +- **GNSS.** Q1/Q5/R1/R2 ya en la isla del GNSS (`/SW_5V` bajó de 181 mm a 30 mm). Línea RF solo en F.Cu, con In1 al 99 % debajo. U18 y U19 a 109 mm, J12 y J13 a 152 mm. +- **U25.** Divisor de FB a 0.9 mm del pin (en la V5.7 estaba a 22 mm). +- **Fabricación.** Vías tapadas en las dos caras; TP y JP excluidos de BOM y CPL; ninguna pieza montada sin código LCSC; inductores con la huella MWSA0804S. + +## 3. Bloqueantes, uno por uno + +### 3.1 U25 se montaría como AP64350 (H-04) + +**Qué pasa.** La huella de U25 en el PCB todavía trae el campo `LCSC Part` = C2071691 (AP64350, 40 V) además de `LCSC` = C524806 (TPS54360B, 60 V). Fabrication Toolkit lee primero `LCSC Part`. + +**Por qué importa.** Los dos chips tienen el mismo pinout: la tarjeta pasa el banco y falla en campo con el primer transitorio de más de 40 V (el TVS D32 recorta a ≈ 53 V). + +**Corrección.** T28 borra el campo. **Verificación:** en el BOM de Fabrication Toolkit, U25 = C524806. + +### 3.2 Barrenos (G-01) + +**Qué pasa.** No hay ningún barreno: «Actualizar PCB» del 16-oct borró MH5–MH8 porque no eran «solo de tarjeta». La v6 debe atornillarse en la placa base de la V5.5 (decisión D11). + +**Corrección.** + +- **T25 `--set v6`** los regresa como piezas «solo de tarjeta», que ya no se borran: MH5 (65.2, 45.3), MH6 (65.2, 135.3) y **MH4 (185.2, 90.3)** —el barreno real de la V5.5; el 193.2 del plan del 28-sep era el ancla de la huella—, más MH7 (195.2, 45.3) y MH8 (195.2, 135.3). Todos de 3.2 mm, con máscara de 6 mm. +- **MH5, MH7 y MH8** caen limpios. +- **En MH4 hay que mover** D23 y D24 (quedan dentro del barreno), D25, `/NTC` por In2 (pasa a 0.35 mm del centro), SIM_CLK, SIM_RST y una pista GND. +- **En MH6**, la pista `/3V3` está a 3.0 mm. + +Detalle en la figura de barrenos del [plan](v6-plan-fines-de-semana.md#34-barrenos-mh4-y-mh6-1-h). + +**Abrazadera del disipador del módem.** El plan del 28-sep pedía además dos barrenos para la abrazadera junto a U19. En V5.6 y V5.7 la abrazadera se quitó el 16-oct (MH11): decisión D-v6-2 abajo. + +### 3.3 Camino de 5 V por capas internas (A-07, L-19) + +**Qué pasa.** + +- **`/VEH5V`, de L22 a RS1:** 14 mm en F.Cu a 1.0 mm + **12 mm por In1 a 0.5 mm**, con 2 vías en serie. +- **`/VIN_SW`, de RS1 a Q7:** **22 mm por In2 a 0.5–0.8 mm**, con 2 vías. +- **Q7 está lejos:** 10.6 mm de RS1 y 18.8 mm de U6. +- **Sensado de RS1: está bien.** VIN (U6.6) llega por C31/C30 al centro del pad 1, donde también entra la pista de potencia. CLN (U6.7) llega a la vía de (180.00, 104.89), cuyo anillo se funde con el pad 2: la diferencia es de unas décimas de mΩ, unos pocos % del límite. No tiene el defecto de la V5.5 (≈ 1 A). + +**Por qué importa.** + +- **Corriente.** Por ese camino pasa todo el 5 V de la tarjeta: hasta 2.5 A, el límite de RS1. Un tramo interno de 0.5 mm aguanta ≈ 0.7 A con cobre interno de 1 oz (≈ 0.44 A con 0.5 oz) para +10 °C, así que a 2.5 A se calienta muy por encima de lo aceptable. +- **Caída.** A 2.5 A es de ≈ 85 mV en esos dos tramos con cobre interno de 1 oz (≈ 150 mV con 0.5 oz), y toda la corriente cambia de capa por **una sola vía** de 0.8/0.3 mm en cada extremo. +- **Ojo al rehacerlo.** Al quitar la vía de (180.00, 104.89), CLN tiene que seguir llegando al pad 2 de RS1 por su propia pista. Si se une a la pista de potencia lejos del pad, aparece el defecto de la V5.5: el LTC4040 mide también la caída del cobre y corta la entrada en ≈ 1 A (§4 de la [auditoría V5.6/V5.7/v6](auditoria-produccion-16oct.md#4-comun-a-v55-v56-y-v57-el-limite-de-entrada-del-ltc4040-quedo-en-1-a)). + +**Corrección.** + +- **Rutas:** las dos en F.Cu de ≥ 2 mm, sin vías. +- **Q7:** a ≤ 5 mm de RS1 y de U6. +- **Sensado:** conservar VIN y CLN como pistas propias de 0.25 mm que llegan a los pads de RS1, por el lado de adentro, como quedó T27 en V5.6/V5.7 ([figura](img/2026-10-16_Drogheda_RS1-Kelvin_V5.6-V5.7_v1.0.png)). + +**Verificación:** Claude revisa el sensado y las series de cobre en el commit del sábado. En banco: la prueba de TP1 (CLPROG) de la auditoría del 16-oct, §4.5 (relación ≈ 1.0). + +### 3.4 Cargador U6 (A-02, L-11…L-18) + +**Qué pasa.** + +| Punto | Hoy | Meta | +|---|---|---| +| `/SW_BAT` (pines 21/22 → L6.1) | 0.5 mm × 13 mm, cuello de 0.3 | polígono ≥ 2 mm | +| `/BAT_PLUS` (P3.1 → L6.2) | 0.5 mm × 15 mm | ≥ 1.5 mm | +| EP de U6 (2.65 × 3.65 mm) | 1 vía | 9 (3 × 3) | +| L6.1 ↔ pines 21/22 | 6.2 mm | ≤ 5 mm | +| C32 / C33 / C34 / C161 / C162 ↔ VSYS (pines 1/24) | 5.1 / 5.2 / 3.2 / 8.1 / 5.9 mm | ≤ 2 mm | +| R53/R54 (BSTFB) ↔ pines 18/10 | 20 / 22 mm; `/VFB_BST` 26 mm por In1 | ≤ 3 mm, F.Cu | +| `/IGATE` (U6.15 → Q7) | 36 mm por In1 | ≤ 8 mm en F.Cu | +| In1/In2 a ≤ 5 mm de U6/L6 | `/VEH5V`, `/IGATE`, `/CHRG_FAULT`, `/CHRG_STAT`, `/VFB_BST`, `/MAIN5V`, I²C | sólidos | + +**Por qué importa.** + +- **Corrientes.** La carga es de 1.4 A y el respaldo saca hasta 3 A de la batería. Con 0.5 mm, `/SW_BAT` y `/BAT_PLUS` suben ≈ +52 °C a 3 A (IPC-2221). +- **EP.** Con una sola vía, el chip no tiene por dónde sacar el calor. +- **Ruido.** VSYS lejos de sus capacitores hace que el respaldo caiga en los picos del módem (A-05). +- **El problema ya conocido.** Es la lección F5 de la V5.5. + +**Corrección:** bloque B del plan. **Verificación:** + +- Claude mide anchos, series y vías. +- En banco, la cámara térmica sobre U6/L6 a 1.4 A de carga y a 2.3 A de respaldo (prueba 1 del §10 del plan de corrección). + +### 3.5 Fuente U25 (F-03, L-20/L-21) + +**Qué pasa.** L22 está a 13.2 mm del pin SW. El EP de U25 no tiene vías, y tampoco hay vías GND junto al ánodo de D34 ni junto a la tierra de C149/C150. C149 está a 6.8 mm del pin VIN y el nodo SW mide 44 mm². El lazo caliente (C150 → U25 → D34 → GND) mide ≈ 47 mm² con las piezas donde están. + +**Por qué importa.** Es la única fuente de 5 V de la tarjeta, conmuta 24 V a 600 kHz y está a 30 mm del módem. Un nodo SW grande y una tierra que regresa sin vías son ruido para el GNSS y el LTE, y calor que se queda en el chip y en D34. + +**Corrección:** bloque A del plan. **Verificación:** figura y medidas de Claude; en banco, cámara térmica de U25/D34 a plena carga. + +### 3.6 RF del módem por In1 (F-06, L-30…L-32) + +**Qué pasa.** + +- **La ruta:** el pad 60 de U19 (174.25, 60.0) sube 1.75 mm, baja a In1 por una vía, corre 21.9 mm por In1 y regresa a F.Cu por otra vía antes de R118, D28 y J13. +- **Por qué se metió a In1:** para cruzar por debajo del VBAT_MODEM (2 A en ráfagas), que va de C130/C131 a los pines 55–57, al este del pad 60. +- **El plano debajo:** bajo la parte de F.Cu, In1 cubre solo 26–42 %. +- **Las tierras:** hay 0–1 vías de cerca y J13 no tiene vías en sus pads de tierra. +- **La impedancia:** 0.5 mm con 0.3 de separación da ≈ 43 Ω en el stackup real. + +**Por qué importa.** La desensibilización del GNSS por el LTE es el riesgo #1 del brief de la v6. Con la RF en una capa interna, sin plano y con dos transiciones sin blindaje, la prueba G3 probablemente falla. + +**Corrección.** RF solo en F.Cu, como guía coplanar con tierra de 0.35 mm con 0.20 mm de separación, sobre In1 sólido y con cerca de vías. Si se cruza con el VBAT_MODEM, es la potencia la que cambia de capa: polígono en B.Cu con ≥ 6 vías en cada lado. Bloque C del plan ([figura](img/2026-10-16_Drogheda_v6-RF-LTE_v1.0.png)). + +### 3.7 Tierras y planos (F-12, F-05, L-24…L-29, L-35) + +**Qué pasa.** + +- **Vías de GND:** 81, cuando la V5.5 tenía 165 y la meta es ≥ 400. Bajo U19 hay 1 (meta ≥ 30) y bajo U18 ninguna (meta ≥ 24); los EP de U20, U25 y U12 no tienen ninguna. +- **Distancia a una vía:** solo el 25 % de la tierra de F.Cu está a ≤ 5 mm de una vía; la mediana es de 7.7 mm y el máximo, 28.8 mm. +- **Islas:** de las islas de tierra de F.Cu, 21 tienen ≥ 20 mm² y menos de 2 vías. +- **In1:** lleva 1 681 mm de pistas de 49 redes, entre ellas `/I2C_SDA` (132 mm), `/SW_IN` (130), `/DOUT_4G` (95), `/KCOIL` (83, de K1 sin montar) y `/MAIN5V` (74). Tiene 8 islas y 19 % de vacío. + +**Nota sobre el stackup.** Hoy quedó F.Cu (señales + tierra), In1 tierra, In2 tierra y B.Cu con relleno de 3V3. Funciona, y tener In2 también en tierra está bien; pero In1 es la referencia de todo lo que va en F.Cu, así que es la que tiene que quedar sólida. + +**Corrección.** Bloques A–E (EP y vías locales) y bloque H del plan: + +- **Script T29 (Claude, entre semana):** arreglos de vías bajo U19/U18, vías en los pads de tierra de J12/J13/D28, costura general y paso a B.Cu de las pistas de In1 que se puedan mover sin conflicto. +- **Michelle:** lo que quede. + +### 3.8 Stackup, impedancia y acabado (L-1, D12) y DFM de U6 + +**Qué pasa.** El archivo trae el stackup genérico de KiCad: tres dieléctricos de 0.48 mm con εr 4.5, sin acabado y sin control de impedancia. La pasta del EP de U6 está en 6 ventanas de 1.07 × 0.98 mm (65 %). + +**Corrección (T28).** + +- **Stackup JLC04161H-7628:** prepreg 7628 de 0.2104 mm (εr 4.4), núcleo de 1.065 mm (εr 4.6) y prepreg de 0.2104 mm. Cobre interno de 0.035 mm, que es 1 oz (D12). +- **Acabado ENIG** y control de impedancia. +- **Pasta del EP de U6:** ventanas de 0.95 × 0.85 mm (50 %). + +**Impedancia de las líneas RF** con ese dieléctrico (fórmula de guía coplanar con tierra, sin máscara): + +| Geometría | Impedancia | +|---|---| +| Hoy: 0.5 mm, separación 0.3 mm | ≈ 43 Ω | +| 0.35 mm, separación 0.20 mm | ≈ 52 Ω; ≈ 50 Ω con la máscara | +| 0.38 mm, separación 0.25 mm | ≈ 51 Ω | + +**Antes de rutear, confirmar el ancho final en la calculadora de JLC** (JLC04161H-7628, coplanar con tierra, capa 1 referida a la 2). + +**Pedido.** Vías «Epoxy Filled & Capped» (por las vías en el EP de U6, U25, U20 y U12), rayos X en U6, U18 y U19, y revisar U6 con lupa al recibir. + +## 4. Script T28 — arreglos mecánicos (listo) + +`kicad/tools/t28_v6_mecanicos.py` (SHA-256 `52345c6c…`). **Prueba por defecto; solo escribe con `--apply`.** Hace un respaldo `.T28bak` y aborta si cambia cualquier UUID que no debe. Correrlo dos veces no hace nada la segunda. + +| # | Qué cambia | Hallazgo | +|---|---|---| +| 1 | U25: borra `LCSC Part` = C2071691 | H-04 | +| 2 | U6: 6 ventanas de pasta 1.07 × 0.98 → 0.95 × 0.85 (65 % → 50 %) | regla DFM 8-oct | +| 3 | Conexión sólida a la zona en 114 pads: EP de U25 y U20, ánodos de D34 y D11, tierra de C149/C150/C151/C153/C154, C127/C128/C163/C164/C165 y C101, todos los pads GND de U19 (39) y U18 (56), GND de J12 y J13 | L-25 | +| 4 | Stackup JLC04161H-7628, ENIG, control de impedancia | L-1, D12 | +| 5 | Cajetín «EinarBoard v6 (HBOX 6.0)», rev 6.0; «EINARBoard 4.0» → «EinarBoard v6»; «HBOX v6 - 2026-08» → «HBOX 6.0 - 2026-10»; «IGN 24V» → «IGN 12-24V»; borra «4G NTRIP RESET» | L-46 | +| 6 | `.kicad_pro`: clase RF a 0.35 mm | L-30 | + +**Prueba hecha (16-oct, 17:30):** + +- **Copia:** T25 `--set v6` + T28 sobre una copia del commit `2612891` en la Mac. +- **DRC:** KiCad 10.0.4, con las zonas rellenadas. +- **Resultado:** 0 sin conectar; paridad igual (solo PF*). Los únicos errores nuevos son los 16 de MH4: + - 2 de NPTH dentro del courtyard (D23 y D24); + - 2 de separación al barreno (`/NTC` en In2 y una pista GND); + - 12 de máscara alrededor del mismo barreno. +- **Avisos nuevos:** solo de huella modificada (U6 y los MH). +- **Desaparecen** al mover D23/D24 y esas pistas (sábado, bloque B). + +## 5. Firmware: sin él, la v6 no hace lo que hacen hoy el ArduSimple y el 4G NTRIP Master + +En el repositorio `hbox-firmware` **no hay nada de la v6**: ni `board_v6.h`, ni código del A7670SA, ni cliente NTRIP (revisado el 16-oct). El firmware no detiene el pedido del piloto, pero sin él la v6 no puede salir a campo (requisito 3 de la auditoría del 16-oct: misma funcionalidad sin módulos). El alcance está en el §6 del [plan de corrección](v6-plan-correccion.md#6-firmware-07x-board_v6h); el orden de trabajo, en el plan de fines de semana. Resumen: + +1. Arranque seguro (pines del módem, GNSS y Ethernet en bajo), `board_v6.h` e identificación de tarjeta (D-v6-1). +2. Módem A7670SA: `MODEM_PWR_EN` → PWRKEY → STATUS → AT; solo LTE en batería (`AT+CNMP=38`). +3. Cliente NTRIP por comandos AT (TCP al caster, GGA de subida, RTCM al F9P por USART2), NMEA al servidor por UDP y reconexión. Los parámetros del caster y del APN nunca van al repositorio ni al sitio: solo la plantilla. +4. Configuración del F9P al arrancar, ciclo de 10 s en batería, Ethernet de campo, SC16IS752 (RS-485 con EFCR = 0x10 y RS-232), SC7A20, TMP102 0x48/0x49, NTC de la celda y `$PHLG`. + +## 6. Fabricación y compras (piloto de 20, decisión D14) + +| Qué | Detalle | Quién | Cuándo | +|---|---|---|---| +| Pre-órdenes en JLC | **THVD1410DR (C2671345)**, **TPS7A2033PDBVR (C2862740)**, **J14 (C2977286)**. Sin pre-orden no se colocan, y tardan días en llegar al almacén de JLC | Adriana / Leo | **lun 19-oct** | +| Existencias | U18 ZED-F9P (C5120257) y U19 A7670SA (C18548276): el 28-sep había 104 y 96; para 20 alcanza, pero re-verificar el día del pedido. U10 C57156, R53 C177479 | Aldair | día del pedido | +| PCB | 4 capas, 1.6 mm, **JLC04161H-7628 con control de impedancia**, **ENIG**, cobre interno 1 oz (D12; confirmar el nombre exacto del stackup con 1 oz en la cotización), vías **Epoxy Filled & Capped** | Aldair | cotizar entre semana | +| Ensamble | rayos X en U6, U18 y U19; revisar U6 con lupa al recibir (regla DFM) | Aldair / Jesús | pedido / recepción | +| Archivos | BOM/CPL con Fabrication Toolkit **después** de T28 (U25 = C524806); TP y JP fuera; rotaciones en la vista previa de JLC | Claude / Aldair | dom 25 / lun 26 | +| Aparte del BOM | conectores hembra de P11/P12 (15EDGK-3.5-03P, 2 por tarjeta); pigtails U.FL → SMA hembra de mampara (2 por unidad + repuestos) | Adriana | antes de que lleguen las tarjetas | +| Homologación IFT | trámite abierto (módem soldado a bordo) | Leo / Adriana | en paralelo | + +## 7. Decisiones para Leo + +| # | Decisión | Recomendación | +|---|---|---| +| D-v6-1 | **Identificación de tarjeta.** D8 identificaba la v6 por el SC7A20, pero desde el 8-oct V5.6 y V5.7 también lo tienen. | Strap en PA9 (una resistencia a GND en la v6; el firmware lo lee al arrancar antes de manejar pines exclusivos). Cambio de esquemático de 1 pieza; Claude lo aplica entre semana si se aprueba. | +| D-v6-2 | **Abrazadera del disipador del módem** (dos barrenos junto a U19, G-01/D11). | No poner barrenos (igual que V5.6/V5.7). El calor de U19 sale por sus pads de tierra: ≥ 30 vías bajo el módulo. Si la compuerta térmica T1 da > 70 °C, disipador adhesivo sobre el blindaje. | +| D-v6-3 | **Huella de K1** (relé sin montar; opción «K1 XOR R148»). | Quitarla libera ≈ 100 mm² al norte de U19 para la línea RF y elimina `/KCOIL` (83 mm por In1). Si se quiere conservar la opción, se queda y la RF se resuelve con el cruce por B.Cu. | +| D-v6-4 | **Serigrafía:** 345 referencias de 0.5 mm, ilegibles. | Ocultar las de pasivos (quedan en F.Fab para el plano de ensamble) y dejar a 0.8 × 0.15 conectores, TP, puentes, CI, LEDs y botones (≈ 1 h). La otra opción (todo a 0.8 mm) es ≈ 3 h de acomodo. | +| D-v6-5 | **Cobre interno de 1 oz** (D12). | Mantenerlo; ver el costo en la cotización. Aun así, la potencia va por capas externas. | +| D-v6-6 | **Cantidad del piloto.** | 20 (D14), con existencias re-verificadas el día del pedido. | + +**Ya decidido, falta aplicarlo: P7 y P8 se quitan.** El 9-oct Leo quitó P12 (sonda NTC) de la V5.6 —redundante, y se necesita el espacio— y la nota dice «aplica a P7/P8 de la v6». En la v6 son 8 piezas: P7, R42, C24 y D37 (`/NTC_TEMP` → PB1), y P8, R126, C157 y D38 (`/NTC2` → PC4). La temperatura de la celda sigue llegando por el NTC del paquete (PC5), y la del cargador y la del módem, por los TMP102. + +- **Claude:** las quita del esquemático entre semana (ERC 0). +- **Michelle:** corre *Actualizar PCB* el sábado 24. + +## 8. Cómo se hizo + +- **DRC:** KiCad 10.0.4, `kicad-cli pcb drc --schematic-parity --refill-zones --save-board --severity-all`, sobre una copia del commit `2612891`. ERC del esquemático y netlist exportada de la misma copia. +- **Mediciones:** script propio de auditoría sobre el cobre rellenado. Mide el cobre **en serie** entre dos pads (cada tramo y vía cuya falta desconectaría la ruta), con resistencia y calentamiento por IPC-2221, y la topología Kelvin (si el pin de sensado llega al resto de la red sin pasar por su pad de RS1). También mide: + - distancias de pad a pad; + - el lazo caliente por centros de pad; + - la cobertura de In1 bajo cada línea RF; + - las vías GND por celda de 20 mm y la distancia de cada punto de la tierra de F.Cu a la vía más cercana. +- **Impedancia:** fórmula de guía coplanar con tierra (mapeo conforme) para el prepreg 7628 de JLC. Es una estimación: el ancho final sale de la calculadora de JLC. +- **Scripts:** T25 `--set v6` y T28 probados juntos en otra copia, con DRC. +- **Firmware:** búsqueda en el repositorio `hbox-firmware` de `board_v6`, A7670 y NTRIP. +- **Revisión independiente:** un segundo revisor midió de nuevo, con sus propios scripts y desde los archivos crudos, 16 afirmaciones de esta auditoría. Confirmó 15 y corrigió una: el sensado de RS1 sí es Kelvin en el lado VIN y casi Kelvin en el lado CLN. La primera versión de esta auditoría decía «sin Kelvin»; ya está corregida aquí y en las figuras. También notó que el stackup suma 1.646 mm con cobre interno de 1 oz: JLC ajusta el núcleo; confirmarlo en la cotización. diff --git a/docs/hardware/v6-plan-fines-de-semana.md b/docs/hardware/v6-plan-fines-de-semana.md new file mode 100644 index 0000000..ca1d028 --- /dev/null +++ b/docs/hardware/v6-plan-fines-de-semana.md @@ -0,0 +1,373 @@ +--- +title: "v6 lista para producción — plan de fines de semana (24-oct → 22-nov-2026)" +tags: [project-drogheda, hardware, hbox, einarboard, v6, plan, layout, firmware, pedido, piloto] +project: Project Drogheda +author: Helgen Technologies (plan: Claude; revisión: Leo) +date: 2026-10-16 +version: 1.1 +status: ACTIVO — rev. 1.1 (19-oct): recorrido una semana; empieza el sábado 24-oct a las 8:00 +audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM) +--- + +# v6 lista para producción — plan de fines de semana + +**De dónde sale:** la [auditoría de producción de la v6 del 16-oct](v6-auditoria-produccion-16oct.md). Las razones de cada punto (el «por qué») están en el [plan de corrección del 28-sep](v6-plan-correccion.md); aquí va el «qué, quién y cuándo». + +!!! note "Rev. 1.1 (19-oct): el plan se recorre una semana" + El fin de semana del 17–18 se fue en la pasada 3 de V5.6/V5.7; a la v6 solo entraron 15 vías de tierra (`00a9af4`), así que los 8 bloqueantes de la [auditoría del 16-oct](v6-auditoria-produccion-16oct.md) siguen igual ([re-auditoría del 19-oct, §8](re-auditoria-19oct.md#8-v6)). Mismo trabajo, una semana después: **24–25 oct** y **31 oct–1 nov**; pedido del piloto el **lun 2-nov**; G2 ≈ **22-nov**. T25 y T28 se volvieron a probar sobre `00a9af4` y aplican igual. Lo único que no se recorre son las **pre-órdenes en JLC**: se piden ya. + +**Dos metas:** + +| Meta | Qué significa | Fecha objetivo | +|---|---|---| +| **G1 · Pedido del piloto** | layout cerrado, DRC limpio, re-auditoría sin bloqueantes, Gerber + BOM + CPL listos → se piden **20 tarjetas** | **dom 1-nov** (pedido el lun 2-nov) | +| **G2 · Lista para producción** | las 20 del piloto pasan el banco con el firmware de la v6 → se liberan las 130 (y la cotización de 200 para República Dominicana) | **≈ 22-nov** | + +![Mapa de la v6: dónde está el trabajo que falta](img/2026-10-16_Drogheda_v6-Mapa-Pendientes_v1.0.png) + +## 0. Reglas para trabajar en fin de semana + +1. **Una persona por archivo.** En fin de semana **solo Michelle** abre `hbox-watchdog-v6.*`. Entre semana Michelle cierra V5.6/V5.7 con la [pasada 4](v56-v57-layout-pasada-4.md) (`hbox-watchdog-v5.*` y `hbox-watchdog-v57.*`): son proyectos distintos y no chocan. +2. **Al empezar:** `git pull --ff-only` en HBox_PCB. Si falla, no forzar nada: avisar a Leo. +3. **Al terminar cada bloque:** rellenar zonas (**B**), correr el DRC, y hacer commit + push con la letra del bloque en el mensaje. Así Claude puede revisar el avance aunque el día no se termine. +4. **Scripts (T25, T28, T29):** solo con KiCad cerrado y sin cambios sin subir. Los corre Leo; Michelle hace `git pull` después. +5. **Después de cada guardado desde la interfaz**, revisar en *Board Setup → Net Classes* que sigan HV24, PWR_HI, PWR_MID, PWR_MODEM y RF (KiCad las ha borrado antes). +6. **Si algo no cabe o no está claro:** captura de pantalla al grupo y seguir con el siguiente punto; no improvisar en potencia ni en RF. +7. **Medidas = coordenadas del PCB v6 en mm.** Vías de 0.8/0.3 mm (las que ya usa la tarjeta), salvo que se diga otra cosa. + +## 1. Calendario + +| Día | Quién | Qué | Listo cuando | +|---|---|---|---| +| **Sáb 24-oct, 8:00** | Leo | Correr T25 `--set v6` + T28 y subir (§2) | push hecho; Michelle avisada | +| **Sáb 24-oct** | Michelle | **Bloques A + B:** el camino de la energía (U25, RS1, Q7, U6, L6) + liberar MH4 y MH6 (§3) | criterios del §3.5 | +| **Dom 25-oct** | Michelle | **Bloque C:** módem (RF LTE, U20, VBAT). **Bloque D:** GNSS. **Bloque E:** U12 (§4) | criterios del §4.4 | +| **Dom 25-oct, noche** | Claude | Re-auditoría del commit del domingo; lista corta para el lunes | lista enviada | +| **Lun 26 – vie 30** | Leo / Adriana | Decisiones D-v6-1…6 y cotización (§5). Las **pre-órdenes en JLC** no esperan: lun 19 o mar 20-oct | pre-órdenes pagadas | +| | Claude | Script **T29** (vías de tierra e In1) probado sobre el commit del domingo; strap de PA9 en el esquemático si Leo lo aprueba | DRC de la copia limpio | +| | Jesús | Preparar el banco de la v6 (§8) | lista de equipo completa | +| **Sáb 31-oct, 8:00** | Leo | Correr T29a y subir | push hecho | +| **Sáb 31-oct** | Michelle | **Bloque F:** pares diferenciales. **Bloque G:** puertos serie. **Bloque H1:** In1 y cristales (§6) | criterios del §6.4 | +| **Dom 1-nov, 8:00** | Leo | Correr T29b (costura de tierra) y subir | push hecho | +| **Dom 1-nov** | Michelle | **Bloque H2:** serigrafía, fiduciales, pads de depuración; DRC final (§7) | puerta L-48 | +| **Dom 1-nov, tarde** | Claude | Re-auditoría final + Gerber/BOM/CPL | **G1** | +| **Lun 2-nov** | Aldair + Leo | Pedido del piloto (20) en JLC (§5.3) | pedido pagado | +| **Fin de semana 7–8 nov** | Leo + Claude | Firmware v6: arranque, módem, NTRIP en banco (§9) | FW-1, FW-2 | +| **Fin de semana 14–15 nov** | Leo + Claude | Firmware v6: batería, puertos, F9P (§9) | FW-3, FW-4 | +| **≈ 13–18 nov** | — | Llegan las 20 tarjetas (estimado) | recepción con lupa en U6 | +| **Fin de semana 21–22 nov** | Jesús + Leo | Banco del piloto (§8) | **G2** | + +## 2. Sábado 24, 8:00 — Leo: scripts T25 y T28 (15 min) + +Con KiCad **cerrado** y todo subido. Los dos scripts se probaron juntos en copias del commit `2612891` (16-oct) y del `00a9af4` (el del sábado 17, probado el 19-oct): el DRC solo muestra los errores esperados en MH4. + +!!! warning "Antes: árbol limpio y nadie más con la v6 abierta" + `git status` en `kicad/` no debe mostrar cambios. Desde el 19-oct git ya no mezcla archivos de KiCad (`merge=binary`, commit `4f4681f`): si dos personas cambian el mismo PCB, hay que quedarse con uno de los dos y el otro se pierde. Los scripts de abajo solo tocan `hbox-watchdog-v6.*`; T30 y la pasada 4 de V5.6/V5.7 deben estar ya subidos. + +```bash +cd ~/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad +git pull --ff-only +python3 tools/t25_mounting_holes_v55.py hbox-watchdog-v6.kicad_pcb --set v6 # prueba +python3 tools/t25_mounting_holes_v55.py hbox-watchdog-v6.kicad_pcb --set v6 --apply +python3 tools/t28_v6_mecanicos.py hbox-watchdog-v6.kicad_pcb # prueba +python3 tools/t28_v6_mecanicos.py hbox-watchdog-v6.kicad_pcb --apply +``` + +Luego abrir KiCad, **B** (rellenar) y el DRC. Debe salir lo mismo de antes más **14 errores en MH4**: + +- D23 y D24 dentro del barreno (2); +- `/NTC` (In2), una pista GND y el pad 2 de D23 demasiado cerca (3); +- 9 de máscara en el mismo barreno. + +Cerrar **sin guardar**. Subir: + +```bash +git add hbox-watchdog-v6.kicad_pcb hbox-watchdog-v6.kicad_pro tools/t28_v6_mecanicos.py +git commit -m "v6: T25 --set v6 (barrenos) + T28 (U25 LCSC, pasta U6 50 %, stackup 7628 ENIG, conexion solida, cajetin)" --trailer "Co-Authored-By: Claude Opus 5.5 " --trailer "Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx" +git push +cd ../.. +git add 03-Architecture-Hardware/kicad +git -c diff.ignoreSubmodules=none commit -m "kicad: v6 T25 + T28" --trailer "Co-Authored-By: Claude Opus 5.5 " --trailer "Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx" +git push +``` + +Qué cambia T28: U25 sin el código del AP64350 · pasta del EP de U6 al 50 % · conexión sólida en 114 pads de tierra · stackup JLC04161H-7628 + ENIG + control de impedancia · cajetín v6 y textos de serigrafía · clase RF a 0.35 mm. Los respaldos quedan en `.T25bak` y `.T28bak` (no se suben). + +## 3. Sábado 24 — bloques A y B: el camino de la energía + +**Michelle, ≈ 7 h.** Es el bloque más importante: por aquí pasa toda la energía de la tarjeta (hasta 2.5 A en 5 V y 3 A de batería). + +![Bloques A y B: el camino de la energía hoy y la meta](img/2026-10-16_Drogheda_v6-Potencia_v1.0.png) + +### 3.1 Fuente U25 (bloque A) + +1. **Nodo SW corto.** Acomodar U25, D34 y L22 para que el pad 1 de L22 quede a **≤ 5 mm del pin 8 de U25** (hoy 13.2 mm) y el cátodo de D34 a **2–3 mm del pin 8** (hoy 3.8). Se vale mover U25 hacia D34/L22 o L22 hacia U25: lo que importa es que el cobre de `/SW_PWRIN` (pin 8 → D34.1 → L22.1) quede en **≤ 25 mm²** (hoy 44) y que no pase nada por In1 debajo. +2. **Capacitores de entrada.** C149 y C150 con su pad de `/VIN_PROT` a **≤ 2 mm del pin 2** (hoy 6.8 y 2.9). Su pad de tierra va sobre la misma isla de F.Cu que el EP de U25 y el ánodo de D34: una sola isla, sin cuellos de menos de 1 mm. C151 (100 µF) puede quedar a ≤ 10 mm. +3. **Vías.** + - En el EP de U25 (3.2 × 2.5 mm): **6 vías** (2 × 3, paso 1.0 mm). + - **≥ 4 vías GND** a ≤ 2 mm del ánodo de D34. + - **≥ 2** junto a cada pad de tierra de C149/C150. + - Después de T28 esos pads ya quedan sólidos a la zona. +4. **FB.** R121/R122 ya están junto al pin 5: **no moverlos**. La toma de 5 V para R121 sale de C153/C154 por una pista propia, lejos del nodo SW. +5. **Ignición.** D35 (TVS) junto a P1.3 (175.06, 134.99), con su tierra a una vía. Rig1 a **≤ 3 mm de P1.3** (hoy 8.4), solo en F.Cu. El tramo largo después de Rig1 (`/IGN_SENSE`) puede seguir por In2. +6. **Cobre muerto.** Borrar el tramo de 12.8 mm de `/24V` que va por In1 (rama de Q10, sin montar). + +### 3.2 Camino L22 → RS1 → Q7 → U6 (bloque B) + +1. **C153/C154/C78 pegados a L22.2.** `/VEH5V` de L22.2 a RS1.1 en **F.Cu de ≥ 2 mm** (o polígono). Borrar el tramo de **In1** (177.96, 104.09) → (177.96, 111.09) → (181.46, 114.59) y sus 2 vías. +2. **Q7 junto a RS1 y a U6:** a **≤ 5 mm de los dos** (hoy está en (164.31, 97.49), a 10.6 mm de RS1 y 18.8 mm de U6). `/VIN_SW` de RS1.2 a los pines 1–3 de Q7 en **F.Cu de ≥ 2 mm**. Borrar los 22 mm de In2 entre (180.0, 104.89) y (161.83, 96.29) y sus 2 vías. +3. **Conservar el sensado Kelvin de RS1.** Hoy está bien y no debe perderse al rehacer el cobre: + - **VIN** (U6.6) llega por C31/C30 al pad 1 de RS1. + - **CLN** (U6.7) llega a la vía pegada al pad 2. + - **Al quitar esa vía:** CLN sigue como pista propia de 0.25 mm hasta el pad 2, por el lado de adentro. + - **Ninguna de las dos se une a la pista de potencia lejos del pad.** Si se une, aparece el defecto de la V5.5: la carga queda limitada a ≈ 1 A ([figura de V5.6/V5.7](img/2026-10-16_Drogheda_RS1-Kelvin_V5.6-V5.7_v1.0.png)). +4. **`/MAIN5V`** de los pines 5–8 de Q7 a los pines VSYS de U6 (1 y 24): **polígono de ≥ 2 mm**. + - Pasa sobre C32, C33, C161 y C162, que van a **≤ 2 mm de los pines 1/24** con su tierra sobre el cobre del EP (hoy a 5–8 mm). + - C34 también a ≤ 2 mm. +5. **`/IGATE`** (U6.15 → Q7.4) **≤ 8 mm en F.Cu** (hoy 36 mm por In1). +6. **R53/R54** (divisor BSTFB) a **≤ 3 mm de U6.18**; `/VFB_BST` en F.Cu (hoy 26 mm por In1); la rama de arriba toma el 5 V en los capacitores de VSYS. +7. **`/MAIN5V` hacia U20** (módem): **≥ 1.5 mm todo el camino** (hoy cuellos de 0.5 mm × 15 mm y 7.8 mm por In2). + +### 3.3 Batería (bloque B) + +1. **`/SW_BAT`** (U6.21/22 → L6.1): **polígono F.Cu de ≥ 2 mm**, compacto, sin el cuello de 0.3 mm. L6 a **≤ 5 mm** de los pines 21/22 (hoy 6.2). Para acercarlo se pueden recorrer TP2, R141, U29 y C168; U29 sigue a ≤ 5 mm del EP. +2. **`/BAT_PLUS`** (P3.1 → L6.2): **≥ 1.5 mm en F.Cu** (hoy 0.5 mm × 15 mm). La pista del pin BAT (U6.23) sale de L6.2/C35 como toma aparte (Kelvin). +3. **EP de U6: 9 vías** (3 × 3, paso 0.9 × 1.2 mm). T28 ya dejó la pasta al 50 % y las vías se pedirán rellenas y tapadas. +4. **In1 e In2 sin pistas a ≤ 5 mm de U6 y L6:** sacar de ahí `/VEH5V`, `/IGATE`, `/CHRG_FAULT`, `/CHRG_STAT`, `/VFB_BST`, `/MAIN5V`, I²C, `/F1_SEL` y `/CHRG_EN`. + +### 3.4 Barrenos MH4 y MH6 (≈ 1 h) + +![Barrenos: qué hay que mover en MH4 y MH6](img/2026-10-16_Drogheda_v6-Barrenos_v1.0.png) + +1. **MH4 (185.2, 90.3):** + - Llevar **D23, D24 y D25** (ESD de la SIM) junto a J14 y sus resistencias de 22 Ω (R131–R134): ahí deben ir de todos modos (B-09) y así salen del barreno. + - Desviar `/NTC` (In2) a **≥ 2.5 mm del centro**. + - Sacar `/SIM_CLK`, `/SIM_RST` y la pista GND del **círculo de 4 mm**. +2. **MH6 (65.2, 135.3):** pista `/3V3` a **≥ 4 mm del centro** (hoy 3.0). Si la rondana no cabe, correr H4 1 mm al este. +3. **No mover los barrenos:** son los de la placa base de la V5.5. + +### 3.5 Cierre del sábado + +- [ ] DRC: **0 errores** (desaparecen los 14 de MH4) y 0 sin conectar. +- [ ] Ningún aviso de ancho de pista en `/VEH5V`, `/VIN_SW`, `/MAIN5V`, `/SW_BAT`, `/BAT_PLUS`, `/VIN_PROT`. +- [ ] Nada de potencia en In1/In2 entre L22, RS1, Q7, U6, L6 y P3. +- [ ] Vías: EP de U6 = 9, EP de U25 = 6, D34 ≥ 4. +- [ ] Commit + push: + +```bash +git commit -am "v6 FS1 sab: bloques A+B (U25, RS1 Kelvin, Q7, U6, L6, batería) + MH4/MH6 libres" +git push +``` + +El domingo temprano, Claude revisa ese commit (series de cobre, Kelvin, distancias) y deja la lista en el grupo. + +## 4. Domingo 25 — bloques C, D y E: módem, GNSS y Ethernet + +**Michelle, ≈ 6 h.** + +![Bloque C: la línea de RF del módem hoy y la meta](img/2026-10-16_Drogheda_v6-RF-LTE_v1.0.png) + +### 4.1 RF del módem (bloque C) + +1. **Borrar** el tramo de `/RF_LTE` en In1 y sus dos vías: (174.25, 58.25) y (194.27, 53.72). +2. **Rutear todo en F.Cu:** U19.60 → R118 (C146/C147 sin montar, en su lugar) → D28 → J13. + - Línea coplanar de **0.35 mm con 0.20 mm de separación** a la tierra de F.Cu. Es la clase RF que deja T28; el ancho final se confirma en la calculadora de JLC: JLC04161H-7628, coplanar con tierra, capa 1 referida a la 2. + - Lo más corta posible, sin esquinas de 90°. + - Nada de pistas arriba o abajo de ella. +3. **El VBAT_MODEM cruza por B.Cu**, no la RF. Donde se crucen, el VBAT baja a un polígono de B.Cu de **≥ 3 mm** con **≥ 6 vías en cada lado**. C132–C136 se pueden recorrer, pero siguen a **≤ 3 mm de los pines 55–57**. +4. **In1 sólido** bajo toda la línea, con 3 mm libres a cada lado: ninguna pista de In1 en esa franja. +5. **Cerca de vías GND** a los dos lados, cada **≤ 3 mm**, a ≤ 1 mm de la orilla de la separación. **2 vías GND por pad de tierra de J13** (a ≤ 1 mm) y una en D28.2. +6. **Si no cabe:** con la decisión D-v6-3 (quitar la huella de K1) se libera el espacio al norte de U19 y J13 se puede acercar. Preguntar a Leo antes de mover J13. + +### 4.2 Fuente del módem U20 y VBAT (bloque C) + +1. **EP de U20: 6 vías.** Borrar el cuello GND de 0.25 mm entre U20.1 y U20.2 (pistas entre (142.5, 60.9) y (151.0, 62.1)); la tierra de C127/C128 llega al EP por cobre sólido. +2. **C163/C164 a ≤ 3 mm de U20.2** (hoy 4.6–4.8) y **C165** (220 µF) junto a U20.2 (hoy 5.8). +3. **R110/R111 a ≤ 2 mm de U20.5** (hoy 3.2), con el nodo FB corto (hoy 13.9 mm de `/FB_MODEM`). El sensado de 3.8 V sale de C131 por una pista propia. +4. **`/VBAT_MODEM`:** + - Recorrido: polígono F.Cu de **≥ 3 mm** de L20.2 → C130 → C131 → C132–C136 → pines 55/56/57, llegando a los tres pines sin cuellos. + - Hoy hay tramos de 0.5 mm y 6 mm por In1. + - **C131 a ≤ 5 mm** de los pines (hoy 6.6) y **C167 a ≤ 3 mm** de L20.2 (hoy 4.3). +5. **TP12 a 2.54 mm de TP8** (para puentearlos con pinzas), más un pad GND a ≤ 10 mm de TP8. Serigrafía «BOOT: TP8–1V8 (alt: TP8–GND)». + +### 4.3 GNSS (bloque D) y Ethernet U12 (bloque E) + +1. **C176 a ≤ 2 mm del pin 1 de U28**, en la misma capa (hoy está en (78.2, 100.1), a 26 mm). Su tierra con vía a ≤ 1 mm. +2. **`/ANT_BIAS` a ≥ 1 mm de la línea RF** (hoy 0.49), con una franja de tierra cosida entre las dos. +3. **RF del GNSS:** misma regla de 0.35/0.20, cerca de vías y **2 vías GND por pad de tierra de J12**. +4. **`/SW_IN` y `/SW_5V` fuera de In1.** Hoy `/SW_IN` va 130 mm por In1 desde F1 (171.4, 44.3) hasta Q1, y `/SW_5V` 9.7 mm. Opción recomendada: llevar **F1 junto a Q1** (isla GNSS) y traer `/SYS5V` por B.Cu (o In2) con ≥ 0.6 mm. Así `/SW_IN` queda corto. +5. **TP11** (RESET_N del F9P) junto a U18.49, con un pad GND cerca (hoy a 36 mm). Menor. +6. **U12 (3V3 de Ethernet):** + - D11 a **≤ 2 mm del pin 1**, con su ánodo en la tierra de C101 (hoy 11.6). + - L8 a **≤ 5 mm** (hoy 15.3). + - `/ETH_FB` **≤ 5 mm en F.Cu** (hoy 28 mm por In1). + - **6 vías** en el EP. + - Uniones de tierra de 0.2 mm → polígono. + +### 4.4 Cierre del domingo + +- [ ] DRC: 0 errores, 0 sin conectar; sin avisos de ancho en `/VBAT_MODEM`. +- [ ] `/RF_LTE` y `/RF_ANT_LTE` solo en F.Cu, 0 vías; In1 sólido debajo. +- [ ] Vías: EP de U20 = 6, EP de U12 = 6, J13 y J12 con 2 por pad. +- [ ] Commit + push: + +```bash +git commit -am "v6 FS1 dom: bloques C (RF LTE F.Cu, U20, VBAT) + D (GNSS) + E (U12)" +git push +``` + +**Domingo en la noche, Claude:** re-auditoría del commit del domingo. Los pendientes del fin de semana pasan al sábado 31. + +## 5. Entre semana (26–30 oct) + +### 5.1 Leo (lunes 26): decisiones + +Las seis de la [auditoría, §7](v6-auditoria-produccion-16oct.md#7-decisiones-para-leo). Las que cambian trabajo del fin de semana: + +- **D-v6-1:** strap en PA9; si es sí, Claude lo pone en el esquemático el martes 27 y Michelle hace *Actualizar PCB* el sábado 31. +- **D-v6-3:** quitar la huella de K1. +- **D-v6-4:** serigrafía. + +### 5.2 Adriana / Leo: pre-órdenes (ya) y cotización + +- [ ] **Pre-órdenes en JLC:** THVD1410DR (C2671345), TPS7A2033PDBVR (C2862740) y J14 (C2977286). Tardan días en llegar al almacén de JLC: si no se piden ya (lun 19 o mar 20-oct), el pedido del 2-nov se atrasa. +- [ ] **Cotizar** 20 tarjetas con las opciones del pedido: + - 4 capas, 1.6 mm; + - JLC04161H-7628 **con control de impedancia** y **ENIG**; + - cobre interno de 1 oz (confirmar el nombre del stackup); + - vías **Epoxy Filled & Capped**; + - ensamble estándar con **rayos X**. +- [ ] **Comprar aparte:** + - conectores hembra 15EDGK-3.5-03P (2 por tarjeta); + - pigtails U.FL → SMA hembra de mampara (2 por unidad + repuestos); + - para el banco de firmware, una **tarjeta de evaluación A7670SA** (si no hay una en la oficina). + +### 5.3 Aldair: preparar el pedido + +Revisar existencias de U18 (C5120257), U19 (C18548276), U10 (C57156) y R53 (C177479). Tener lista la cuenta con las pre-órdenes. El lunes 2-nov sube los archivos que le pase Claude y revisa: + +- U25 = **C524806** en el BOM; +- TP y JP no aparecen; +- rotaciones correctas en la vista previa de JLC (sobre todo U6, U18, U19, U14, U15); +- rayos X en U6, U18 y U19. + +### 5.4 Claude + +- **Re-auditoría** del commit del domingo (lunes 26 temprano). +- **T29a**, probado con DRC sobre ese commit: + - arreglos de vías GND bajo U19 (≥ 30, en los huecos de 1.7 mm entre pads de 2.1 mm) y bajo U18 (≥ 24, en los centros entre pads); + - vías en los pads de tierra de J12/J13/D28 si faltan; + - pasar a B.Cu las pistas de In1 que se puedan mover sin choque. +- **T29b:** costura general de tierra (meta ≥ 400 vías, ningún punto a > 5 mm de una vía). Se corre el domingo 1-nov, cuando el ruteo ya no cambia. +- **Cambios de esquemático** (ERC 0), para que Michelle haga *Actualizar PCB* el sábado 31: + - quitar P7/P8 y sus 6 piezas (ya decidido el 9-oct); + - el strap de PA9, si D-v6-1 es sí. + +### 5.5 Jesús + +Preparar el banco de la v6 con la lista del §8. Pedir a tiempo lo que falte: carga electrónica, cámara térmica, pinza de corriente DC y atenuador/cable para la prueba de desensibilización G3. + +## 6. Sábado 31 — bloques F, G y H1: pares, puertos, In1 y cristales + +**Leo, 8:00:** correr T29a (KiCad cerrado), revisar el DRC y subir. **Michelle, ≈ 7 h**, después del `git pull`. Lo primero: *Actualizar PCB desde esquemático*, con «Eliminar huellas sin símbolo» marcado. Solo deben borrarse P7, P8, R42, C24, D37, R126, C157 y D38, y agregarse el strap de PA9 si se aprobó. Si propone otra cosa (por ejemplo, borrar los MH), cancelar y avisar a Leo. + +![Tierras: el plano In1 y las vías GND](img/2026-10-16_Drogheda_v6-Tierras_v1.0.png) + +### 6.1 Pares diferenciales (bloque F) + +1. **Ethernet** (U11 ↔ J10). Hoy TXP va por In1 y TXN por F.Cu (par partido); RXP y RXN van por In1 a 0.5 mm. Cada par debe ir **junto y en F.Cu**, con impedancia diferencial de 100 Ω: ≈ 0.20/0.15 mm en 7628, a confirmar en la calculadora de JLC. Usar ≤ 1 par de vías y no cruzar huecos del plano. +2. **USB del módem** (J9 → U30 → U19.27/28). Hoy lleva 8–11 mm por In1 y 1–2 vías. Debe ir **solo en F.Cu** (90 Ω), pasando por los pads de U30 sin ramales, con ≤ 1 par de vías. + +### 6.2 Puertos serie (bloque G) + +1. **D39 (SM712) a ≤ 5 mm de P11** (hoy 24 mm). A y B pasan por D39 antes de seguir a U14 (P11 → D39 → U14). D39.3 lleva 2 vías GND. +2. **R145/R146** (sin montar) junto a P11. A/B ruteados como par, a ≥ 0.5 mm de otras redes. +3. **Menores:** R147 a ≤ 3 mm de U15.12 (hoy 5.7); C175 a ≤ 2 mm de U32.5 (hoy 3.0); C81 a ≤ 2 mm de U10.8 (hoy 2.6). + +### 6.3 In1 y cristales (bloque H1) + +1. **Lo que T29a no pudo mover**, en este orden: `/SW_IN` (si no se resolvió el domingo), `/MAIN5V`, `/VEH5V`, `/KCOIL` (cobre de K1 sin montar), `/USART6_TX/RX`, `/DOUT_4G`, `/CHRG_*`, `/SER_RXB`, `/I2C_SDA/SCL`, `/BOOT0`, `/MODEM_STATUS`, `/3V3_GNSS`, `/ETH_*`. Destino: B.Cu, o In2 si no cabe. +2. **Meta:** In1 con ≤ 3 islas y nada bajo: + - la línea RF del LTE y J13; + - U19, U18 y J12; + - los cristales; + - los pares USB y Ethernet; + - los nodos SW de U25, U20 y U12. +3. **Cristales:** + - Y3 (25 MHz del MCU) a **≤ 5 mm** de PH0/PH1 (meta 3; hoy 7.0). + - Y1 a ≤ 3 mm de U11.30/31 (hoy 5.8). + - **Nada de capa interna ni de B.Cu bajo Y1–Y4** (hoy hay pistas bajo los cuatro). + +### 6.4 Cierre del sábado 31 + +- [ ] DRC: 0 errores, 0 sin conectar. +- [ ] In1: ≤ 3 islas; nada bajo RF, módulos, cristales y pares. +- [ ] Pares Ethernet y USB del módem solo en F.Cu. +- [ ] Commit + push: + +```bash +git commit -am "v6 FS2 sab: bloques F (pares) + G (puertos) + H1 (In1, cristales)" +git push +``` + +## 7. Domingo 1-nov — bloque H2 y puerta de salida + +**Leo, 8:00:** correr T29b (costura de tierra), revisar el DRC y subir. **Michelle, ≈ 5 h**, después del `git pull`. + +1. **Serigrafía** según D-v6-4: + - **Opción recomendada:** referencias de pasivos ocultas (quedan en F.Fab) y 0.8 × 0.15 mm en conectores, TP, puentes, CI, LEDs y botones. + - **Regla de texto del `.kicad_dru`:** subir a 0.8/0.15 (L-3). + - **Nombres en cada conector (L-59):** «VIN 9-36V · GND · IGN · GND · NC», «RS-485 A+ B− GND», «RS-232 TX RX GND», «BATT», «FAN», «CUTOFF», «5 V ONLY, BENCH», «MODEM USB», «DFU», «UART-B TTL 3V3». + - **Revisar en 3D** las marcas de polaridad de D27, D28 y Q10. +2. **Tres fiduciales** (cobre de 1.0 mm, abertura de máscara de 2.0 mm) en tres esquinas libres. +3. **Fila de pads de depuración** TP3 (SWDIO), TP4 (SWCLK), TP5 (NRST), TP6 (GND), TP7 (3V3) y TP9 (TX de PA9), en línea recta a 2.54 mm, con serigrafía (L-56). +4. **Puerta L-48:** + - [ ] 0 errores, 0 sin conectar; avisos de ancho solo en redes aceptadas. + - [ ] Vías GND ≥ 400; ninguna celda de 20 mm sin vía; todo pad de tierra de U19/U18/U20/U25/J12/J13 con vía a ≤ 2 mm. + - [ ] EP con vías: U6 = 9, U25 = 6, U20 = 6, U12 = 6. `/SW_BAT` ≥ 2 mm. + - [ ] Líneas RF a 0.35/0.20 (o lo que diga JLC), con cerca ≤ 3 mm. + - [ ] Ninguna red HV24 en capa interna a < 0.5 mm de cobre de bajo voltaje. +5. **Commit + push y avisar a Claude.** + +**Domingo en la tarde, Claude:** re-auditoría final con el mismo método, más DRC con paridad y revisión de BOM/CPL. Con Fabrication Toolkit genera Gerber, BOM y CPL y deja el paquete para Aldair en `03-Architecture-Hardware/`. **Si la re-auditoría no da bloqueantes: G1.** + +## 8. Banco del piloto (Jesús, fin de semana 21–22 nov; antes si llegan antes) + +Al recibir: **U6 con lupa** en cada tarjeta, antes de energizar (puentes entre pines, bolitas de soldadura en el borde del EP). + +Pruebas (las 17 del §10 del [plan de corrección](v6-plan-correccion.md#10-validacion-en-banco-cuando-lleguen-las-tarjetas), más estas): + +| # | Prueba | Pasa si | +|---|---|---| +| 1 | `/VEH5V` con 24 V y con 12 V de entrada | 5.18–5.46 V | +| 2 | Límite de entrada con TP1 (CLPROG): relación (V_TP1/32)/V_RS1 | ≈ 1.0 (Kelvin bien) | +| 3 | Carga: pinza DC en el cable del paquete | 1.32–1.48 A | +| 4 | Cámara térmica U6/L6: 1 h a 1.4 A de carga y 1 h a 2.3 A de respaldo | sin ciclado térmico | +| 5 | Cámara térmica U25/D34 a plena carga | registrar | +| 6 | Ciclo de 10 s en batería × 20 (paquete al 20–30 %, y otra vez a ≥ 45 °C) | NMEA < 30 s, RTCM < 90 s, el servidor ve la unidad, el MCU no se reinicia | +| 7 | G3: C/N0 del F9P con el módem en reposo y transmitiendo | registrar la caída; meta ≤ 3 dB | +| 8 | Ethernet (los 2 LEDs), RS-485 (bus libre en reset y DFU; lazo a 9 600 y 115 200), RS-232, USB del módem y DFU | todos funcionan | + +## 9. Firmware de la v6 (Leo + Claude, fines de semana 7 y 14 de nov, y entre semana) + +Sin firmware la v6 no reemplaza al ArduSimple ni al 4G NTRIP Master. Hasta que lleguen las tarjetas, el banco de firmware es: + +- una Blackpill STM32F411 (el mismo MCU); +- una tarjeta de evaluación A7670SA; +- un simpleRTK2B (ZED-F9P), con los pines de `board_v6.h`. + +| Hito | Qué | Listo cuando | +|---|---|---| +| **FW-1** (sáb 7) | `board_v6.h` desde el mapa de pines; arranque seguro (PC10, PC8, PC11, PA1, PB5, PA15, PA6, PB0 y PD2 en bajo antes que nada); identificación de tarjeta (D-v6-1); consola | arranca sin manejar pines exclusivos de otra tarjeta | +| **FW-2** (dom 8) | A7670SA: `MODEM_PWR_EN` → ≥ 100 ms → PWRKEY → STATUS → AT a 115 200; registro LTE; solo LTE en batería (`AT+CNMP=38`); RSSI en `$PHLG` | el módem registra solo y se recupera de un corte | +| **FW-3** (semana + sáb 14) | Cliente NTRIP por AT (TCP al caster, GGA de subida, RTCM al F9P por USART2); NMEA al servidor por UDP; reconexión de LTE y de NTRIP; parámetros desde la plantilla (el archivo real nunca va al repositorio ni al sitio) | RTK fijo en banco con el caster de Helgen y el servidor recibe a 1 Hz | +| **FW-4** (dom 15) | Configuración del F9P al arrancar; ciclo de 10 s en batería; `ETH_PWR_EN` y Ethernet de campo; SC16IS752 (RS-485 con EFCR = 0x10, RS-232); SC7A20 (WHO_AM_I = 0x11); TMP102 0x48/0x49; NTC de la celda; ignición por ADC; `$PHLG` | pasa en banco las pruebas 6 y 8 del §8 | +| **FW-5** (21–22 nov) | En las tarjetas del piloto: todo lo anterior + correcciones | **G2** | + +Lo que no se termine en esas fechas mueve G2, no el pedido del piloto. + +## 10. Qué queda fuera de este plan + +- **V5.6 y V5.7:** siguen su propio plan entre semana (la [pasada 4](v56-v57-layout-pasada-4.md), los 5 prototipos de cada una y el firmware 0.7.0). +- **Homologación IFT de la v6:** trámite en paralelo (Leo / Adriana). Puede retrasar la salida a campo aunque el piloto pase el banco. +- **Pedido de las 130** (y las 200 para República Dominicana): después de G2, con el BOM y las existencias de ese día. diff --git a/docs/hardware/v6-proximos-pasos.md b/docs/hardware/v6-proximos-pasos.md index 9f2e4fd..e6455d4 100644 --- a/docs/hardware/v6-proximos-pasos.md +++ b/docs/hardware/v6-proximos-pasos.md @@ -5,12 +5,15 @@ project: Project Drogheda author: Helgen Technologies date: 2026-09-29 version: 1.0 -status: ACTIVO — camino crítico al pedido de v6 +status: SUPERADO el 16-oct-2026 por la auditoría de producción v6 y el plan de fines de semana audience: Leo, Michelle (layout), compras --- # EinarBoard v6 — Próximos pasos para ordenar (29-sep-2026) +!!! warning "Superado el 16-oct-2026" + El PCB ya se actualizó y se ruteó (`2612891`). Lo vigente: [**▶ Auditoría de producción v6 (16-oct)**](v6-auditoria-produccion-16oct.md) y [**▶ Plan de fines de semana**](v6-plan-fines-de-semana.md). Esta página queda como registro. + !!! note "Cantidad (13-oct-2026)" El pedido de la v6 ya no son 5 prototipos: son **130 unidades** del pedido de 570 (113 V5.6 · 327 V5.7 · 130 v6) más todos los reemplazos futuros. El orden de los pasos no cambia; sí conviene un lote piloto antes de las 130.