diff --git a/03-Architecture-Hardware/2026-10-16_Drogheda_Plan-Fines-de-Semana_v6-Produccion_ES.md b/03-Architecture-Hardware/2026-10-16_Drogheda_Plan-Fines-de-Semana_v6-Produccion_ES.md index 76ad2c6..dbad304 100644 --- a/03-Architecture-Hardware/2026-10-16_Drogheda_Plan-Fines-de-Semana_v6-Produccion_ES.md +++ b/03-Architecture-Hardware/2026-10-16_Drogheda_Plan-Fines-de-Semana_v6-Produccion_ES.md @@ -4,8 +4,8 @@ tags: [project-drogheda, hardware, hbox, einarboard, v6, plan, layout, firmware, project: Project Drogheda author: Helgen Technologies (plan: Claude; revisión: Leo) date: 2026-10-16 -version: 1.4 -status: ACTIVO — rev. 1.1 (19-oct): recorrido una semana; empieza el sábado 24-oct a las 8:00 · 21-oct: T25 y T28 ya aplicados · 21-oct noche: T38 aplicado y metas del bloque A corregidas (§3.1) · 22-oct: T39 hizo la colocación del bloque A y liberó MH8 +version: 1.5 +status: ACTIVO — rev. 1.1 (19-oct): recorrido una semana; empieza el sábado 24-oct a las 8:00 · 21-oct: T25 y T28 ya aplicados · 21-oct noche: T38 aplicado y metas del bloque A corregidas (§3.1) · 22-oct: T39 hizo la colocación del bloque A y liberó MH8 · 22-oct, tarde: T40 liberó MH4 audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM) --- @@ -35,6 +35,14 @@ audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana Del §3.1 solo quedan Rig1 (paso 5) y el `/24V` sin montar (paso 6). Del §3.2, el paso 6 quedó a medias: R53/R54 ya están junto a U6, pero a 6–7 mm de U6.18. El sábado 24 empieza con eso y con el bloque B. +!!! success "Rev. 1.5 (22-oct, tarde): T40 liberó MH4" + **T40 sacó de MH4 todo lo que no era GND** ([estado de la v6, §7](v6-estado-21oct.md#7-t40-22-oct-tarde-mh4-libre)). Con eso, los 5 barrenos están libres y el DRC de la v6 solo tiene los 11 encimes de courtyard que son de margen. + + - D23 quedó debajo de U19.31 y D24 junto a R129/R133. D25 no se movió, y las tres tienen vía de GND propia. + - `/SIM_CLK` va por In1, `/SIM_RST` por arriba de D25 y `/NTC` rodea el barreno. + + **Lo que no hace:** llevar D23–D25 junto a J14 (§3.4, por B-09/L-38). Leo decide (D-22-4): (a) se quedan del lado del módem, o (b) se pasan a `/SIMB_*`, pegadas al zócalo. Claude recomienda (b). + **Dos metas:** | Meta | Qué significa | Fecha objetivo | @@ -59,7 +67,7 @@ audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana | Día | Quién | Qué | Listo cuando | |---|---|---|---| | **Sáb 24-oct, 8:00** | Leo | Correr T25 `--set v6` + T28 y subir (§2). **Ya se corrieron el 21-oct: falta el push** | 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 | +| **Sáb 24-oct** | Michelle | **Bloques A + B:** el camino de la energía (U25, RS1, Q7, U6, L6). MH4, MH6 y MH8 ya quedaron (T38–T40); las TVS de la SIM junto a J14 si Leo elige (b) en D-22-4 (§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 | @@ -165,10 +173,10 @@ Qué cambia T28: U25 sin el código del AP64350 · pasta del EP de U6 al 50 % · ![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**. +1. **MH4 (185.2, 90.3):** ✅ con T40 (22-oct, tarde; [estado, §7](v6-estado-21oct.md#7-t40-22-oct-tarde-mh4-libre)). + - Desviar `/NTC` (In2) a **≥ 2.5 mm del centro**: ✅ a 2.55 mm, 0.95 mm de la orilla del barreno. + - Sacar `/SIM_CLK`, `/SIM_RST` y la pista GND del **círculo de 4 mm**: ✅ en las caras solo queda GND. + - Llevar **D23, D24 y D25** (ESD de la SIM) junto a J14 y sus resistencias de 22 Ω (B-09): **queda abierto.** T40 las sacó del barreno, pero del lado del módem. Leo decide D-22-4 ([estado, §7.2](v6-estado-21oct.md#72-las-tvs-de-la-sim-se-quedan-del-lado-del-modem-d-22-4)): (a) se quedan así, o (b) se pasan a `/SIMB_*`, pegadas a J14, con su vía de GND (recomendada; T41 o Michelle el sábado). 2. **MH6 (65.2, 135.3):** ✅ ya quedó con T38 (21-oct, noche): `/3V3` por B.Cu, a 4.06 mm del centro. Si la rondana no cabe, correr H4 1 mm al este. 3. **MH8 (195.2, 135.3):** ✅ con T39 (22-oct): D34 salió de ahí y se borraron las 2 vías de GND de (194.6, 133.7) y (196.2, 133.7). 4. **Regla nueva (T38):** el DRC ya marca cualquier cobre que no sea GND a menos de 4 mm del centro de un barreno, en F.Cu y B.Cu. En MH4 marca también `/SIM_DATA`. @@ -176,7 +184,7 @@ Qué cambia T28: U25 sin el código del AP64350 · pasta del EP de U6 al 50 % · ### 3.5 Cierre del sábado -- [ ] DRC: **0 errores** y 0 sin conectar. Los de MH8 y el encime de C153 con L22 ya se fueron con T39; faltan los ≈ 33 de MH4. Solo quedan los encimes de courtyard que son de margen: se excluyen al final ([estado, §3.3](v6-estado-21oct.md#33-cierre)). +- [ ] DRC: **0 errores** y 0 sin conectar. Los de MH8 y el encime de C153 con L22 ya se fueron con T39, y los de MH4 con T40. Solo quedan los encimes de courtyard que son de margen: se excluyen al final ([estado, §3.3](v6-estado-21oct.md#33-cierre)). - [ ] 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. diff --git a/03-Architecture-Hardware/2026-10-21_Drogheda_Estado-v6-T25-T28_ES_v1.0.md b/03-Architecture-Hardware/2026-10-21_Drogheda_Estado-v6-T25-T28_ES_v1.0.md index f0ca2e1..13535c2 100644 --- a/03-Architecture-Hardware/2026-10-21_Drogheda_Estado-v6-T25-T28_ES_v1.0.md +++ b/03-Architecture-Hardware/2026-10-21_Drogheda_Estado-v6-T25-T28_ES_v1.0.md @@ -1,19 +1,25 @@ --- -title: "Estado de la v6 al 22-oct: T25, T28, T38 y T39 (bloque A) aplicados" -tags: [project-drogheda, hardware, hbox, einarboard, v6, auditoria, t25, t28, t38, t39, courtyards, barrenos, u25, bloque-a, layout, michelle] +title: "Estado de la v6 al 22-oct: T25, T28, T38, T39 (bloque A) y T40 (MH4) aplicados" +tags: [project-drogheda, hardware, hbox, einarboard, v6, auditoria, t25, t28, t38, t39, t40, courtyards, barrenos, mh4, sim, esd, u25, bloque-a, layout, michelle] project: Project Drogheda author: Helgen Technologies (revisión: Claude; pedido: Leo) date: 2026-10-22 -version: 1.2 -status: ACTIVO — HBox_PCB b74b96f (T25, T28 y T38; Leo, 22-oct 09:42) + T39 (Claude, 22-oct) · falta commit y push de T39 +version: 1.3 +status: ACTIVO — HBox_PCB d5f5002 (T39; Leo, 22-oct) + T40 (Claude, 22-oct, tarde) · falta commit y push de T40 audience: Leo, Michelle (layout) --- -# Estado de la v6 al 22-oct · T25, T28, T38 y T39 aplicados +# Estado de la v6 al 22-oct · T25, T28, T38, T39 y T40 aplicados **Pregunta (Leo, 21-oct):** ¿T28 ya quedó o hay que correrlo? ¿Cómo va la v6? Y en la noche: trabaja en la v6 real. **22-oct, 09:40:** «Haz tú los cambios de la v6; es la prioridad». +!!! note "Rev. 1.3 (22-oct, tarde): T40 dejó libre MH4" + - **T40 sacó de MH4 todo lo que no era GND**, por script. D23 quedó debajo del pin 31 de U19 y D24 junto a R129/R133. `/SIM_CLK` va por In1, `/SIM_RST` por arriba de D25 y `/NTC` ya no cruza el barreno. Las tres TVS de la SIM tienen vía de GND propia, y los pines 92 y 94 de U19 también. Detalle en el [§7](#7-t40-22-oct-tarde-mh4-libre). + - **DRC de KiCad 10:** quedan **11 errores**, los encimes de courtyard que son solo de margen. Hay 0 sin conectar y la misma paridad (19 PWR_FLAG). Salieron 37 violaciones y no entró ninguna. + - **Lo que no hace T40:** las TVS se quedan del lado del módem, no junto a J14 como pide L-38 (B-09). Leo decide si se cambian al lado del zócalo (D-22-4, [§7.2](#72-las-tvs-de-la-sim-se-quedan-del-lado-del-modem-d-22-4)). + - **Falta el commit y el push de T40.** Hasta entonces, Michelle no abre la v6. + !!! note "Rev. 1.2 (22-oct): T39, el bloque A, ya está en la v6" - **T39 aplicó la propuesta α del bloque A por script.** Leo lo pidió el 22-oct como prioridad. D34 quedó entre U25 y L22, L22 al este y R53/R54 junto a U6. El nodo SW y `/VEH5V` van por F.Cu. In1 e In2 ya no llevan pistas bajo la fuente, y MH8 quedó libre. Detalle en el [§6](#6-t39-22-oct-el-bloque-a-por-script). - **DRC de KiCad 10, con relleno y paridad:** @@ -28,7 +34,8 @@ audience: Leo, Michelle (layout) **Respuesta corta (22-oct):** -- **T25, T28 y T38** ya están en HBox_PCB: `b74b96f`, que Leo subió el 22-oct a las 09:42. +- **T25, T28 y T38** ya están en HBox_PCB: `b74b96f`, que Leo subió el 22-oct a las 09:42. **T39** también: `d5f5002`. +- **T40 (22-oct, tarde) dejó libre MH4** ([§7](#7-t40-22-oct-tarde-mh4-libre)). Con eso los 5 barrenos quedan libres y el DRC ya no tiene errores de barreno, de máscara ni de courtyard con barreno. - **T39 (22-oct) hizo el bloque A** con la propuesta α ([§6](#6-t39-22-oct-el-bloque-a-por-script)): - el cátodo de D34 quedó a 3.52 mm del pin SW (antes 13.0) y L22.1 a 8.79 mm; - el nodo SW tiene 9.8 mm² de cobre fuera de los pads; @@ -36,11 +43,13 @@ audience: Leo, Michelle (layout) - MH8 quedó libre y ya no están los 3 encimes reales: C153 y C154 bajo L22, y R53 sobre U25; - In1 e In2 ya no llevan pistas de señal bajo el nodo SW, L22 ni la entrada de U25. - **Del bloque A queda poco:** Rig1 a ≤ 3 mm de P1.3 (está a 4.79 mm) y decidir el `/24V` sin montar (pasos 5 y 6 del plan). -- **La v6 todavía no se puede pedir.** Falta MH4, que Claude evalúa como T40, y siguen los bloques B a H del plan. -- **DRC de hoy, con T39:** - - 44 errores: ≈ 33 de MH4 y 11 encimes de courtyard que son solo de margen; esos se excluyen al final; +- **La v6 todavía no se puede pedir.** Siguen los bloques B a H del plan, y D-22-4 (las TVS de la SIM junto a J14). +- **DRC de hoy, con T39 y T40:** + - 11 errores, los encimes de courtyard que son solo de margen; esos se excluyen al final; - 0 sin conectar y la paridad solo con los 19 PWR_FLAG; - - 254 avisos, 8 menos que antes. + - 249 avisos, 5 menos que con T39. + +![v6 con T40: el barreno MH4 libre](img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png) ![v6 con T39: el bloque A, la fuente U25, por script](img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png) @@ -48,7 +57,7 @@ audience: Leo, Michelle (layout) ![v6 al 21-oct: la fuente U25 y los barrenos](img/2026-10-21_Drogheda_v6-Estado-U25-Barrenos_v1.0.png) -## 1. T25, T28 y T38: qué cambiaron hoy +## 1. T25, T28, T38, T39 y T40: qué cambiaron | Script | Qué cambió en `hbox-watchdog-v6` | |---|---| @@ -56,6 +65,7 @@ audience: Leo, Michelle (layout) | **T28** | U25 sin el código del AP64350: queda solo LCSC C524806 (TPS54360B) · pasta del EP de U6 al 50 % (6 ventanas de 0.95 × 0.85 mm) · conexión sólida a la zona en 114 pads de tierra de potencia y RF · stackup JLC04161H-7628 con ENIG y control de impedancia · cajetín «EinarBoard v6 (HBOX 6.0)», rev 6.0, y textos de serigrafía · clase RF a 0.35 mm en el `.kicad_pro`. | | **T38** (21-oct, noche) | Courtyard correcto en U19, U20, U23, U24, U25, U26, D22, D27, J12, J13 y L22, en la tarjeta y en `Drogheda-v6.pretty` · `/3V3` de MH6 por B.Cu, a 4.06 mm del centro · regla nueva en el `.kicad_dru`: en F.Cu y B.Cu, solo GND a menos de 4 mm del centro de un barreno. No toca el `.kicad_pro`. | | **T39** (22-oct) | Bloque A con la propuesta α: mueve D34, L22, R53 y R54 · nodo SW y `/VEH5V` con pistas anchas de F.Cu · `/I2C_SDA`, `/I2C_SCL` y la toma de 5 V de R121 pasan de In1/In2 a B.Cu · borra 28 tramos y 5 vías (2 de ellas dentro de MH8) y agrega 9 vías y 19 tramos. Solo cambia el `.kicad_pcb`; ver [§6](#6-t39-22-oct-el-bloque-a-por-script). | +| **T40** (22-oct, tarde) | MH4 libre: mueve D23 y D24 · `/SIM_CLK` por In1 · `/SIM_RST` por F.Cu arriba de D25, con vía nueva · `/NTC` (In2) rodea el barreno · vías de GND para D23, D24, D25 y los pines 92/94 de U19 · borra 17 tramos y 2 vías, acorta 2 tramos y agrega 7 vías y 17 tramos. Solo cambia el `.kicad_pcb`; ver [§7](#7-t40-22-oct-tarde-mh4-libre). | **Cómo se probó.** @@ -64,24 +74,25 @@ audience: Leo, Michelle (layout) - con los scripts: 22 errores, todos en MH4 y MH8; 0 sin conectar; la paridad igual (19 PWR_FLAG). - T38: igual, sobre una copia de la v6 ya con T25 y T28. Después se aplicó a la v6 de HBox_PCB y el resultado es idéntico, byte por byte, a la copia probada. - T39: igual, sobre una copia de `b74b96f`. Después se aplicó a la v6 de HBox_PCB y se rellenó con `kicad-cli` y el proyecto cargado; el archivo es idéntico, byte por byte, a la copia probada (`97ea7e45`). +- T40: igual, sobre una copia de la v6 ya con T39 (`97ea7e45`, la de `d5f5002`). Aplicado y rellenado en HBox_PCB: idéntico a la copia probada (`a273d44c`). - Correr T28 o T38 otra vez no cambia nada, y T25 se niega si los barrenos ya están. !!! warning "Antes de que Michelle vuelva a abrir la v6" - T39 (22-oct) cambia `hbox-watchdog-v6.kicad_pcb`, igual que antes T38 cambió el `.kicad_pcb`, el `.kicad_dru` y 8 archivos de `Drogheda-v6.pretty`. Git ya no mezcla archivos de KiCad (`merge=binary`): si Michelle guarda la v6 sobre su copia anterior y la sube, se pierde uno de los dos trabajos. El orden es: **Leo sube → Michelle hace `git pull --ff-only` → abre la v6.** + T40 (22-oct, tarde) cambia `hbox-watchdog-v6.kicad_pcb`, igual que T39 y que antes T38, que cambió el `.kicad_pcb`, el `.kicad_dru` y 8 archivos de `Drogheda-v6.pretty`. Git ya no mezcla archivos de KiCad (`merge=binary`): si Michelle guarda la v6 sobre su copia anterior y la sube, se pierde uno de los dos trabajos. El orden es: **Leo sube → Michelle hace `git pull --ff-only` → abre la v6.** ## 2. Los 8 bloqueantes del 16-oct, hoy -Medido en el cobre con las zonas rellenadas. «19-oct» = `00a9af4`; «hoy» = `b74b96f` (T25, T28 y T38) con T39. +Medido en el cobre con las zonas rellenadas. «19-oct» = `00a9af4`; «hoy» = `d5f5002` (T25, T28, T38 y T39) con T40. | # | Bloqueante del 16-oct | 19-oct | Hoy | Estado | |---|---|---|---|---| | 1 | U25 con el código del AP64350 | igual | solo C524806 | ✅ T28 | -| 2 | Sin barrenos | sin barrenos | 5 barrenos · MH5, MH6, MH7 y MH8 libres (MH6 con T38, MH8 con T39) · **MH4 con piezas y cobre dentro** (≈ 33 errores) | 🟠 liberar MH4 | +| 2 | Sin barrenos | sin barrenos | **5 barrenos libres**: MH6 con T38, MH8 con T39 y MH4 con T40. En las caras, dentro de 4 mm del centro solo queda GND | ✅ T25 + T38–T40 | | 3 | 5 V por capas internas | `/VEH5V` 12 mm por In1 a 0.5 mm; `/VIN_SW` 22 mm por In2 | `/VEH5V` de L22.2 a R51.1 **de 2 mm por F.Cu** (T39); de R51.1 a RS1 sigue de 1.0 mm, sin vías (meta ≥ 2 mm). La toma de 5 V de R121 ya no va por In1. `/VIN_SW` de RS1 a Q7 **igual**: 22 mm por In2 a 0.5–0.8 mm, con 2 vías; Q7 sigue a 10.6 mm de RS1 | 🟠 mitad | | 4 | Cargador U6 | `/SW_BAT` y `/BAT_PLUS` de 0.5 mm; 1 vía en el EP | `/SW_BAT` de 0.7–0.75 mm (meta: polígono ≥ 2 mm); `/BAT_PLUS` igual; 1 vía en el EP (meta 9) | ❌ | | 5 | Fuente U25 | L22 a 13 mm; EP sin vías | **D34 a 3.52 mm del pin SW** ✅ · L22.1 a 8.79 mm ✅ · nodo SW 9.8 mm² fuera de los pads ✅ · lazo por centros 56.5 mm² con C149 (60.8 con C150) ✅ · 6 vías en el EP y 4 en el ánodo de D34 ✅ · C149 a 0.75 mm de VIN ✅ · C153 y C154 fuera de L22 ✅ · faltan Rig1 (4.79 mm de P1.3) y el `/24V` sin montar | ✅ T39 (con las metas del 21-oct) | | 6 | RF LTE por In1 | 21.9 mm por In1 | igual | ❌ | -| 7 | Vías de GND | 96 (meta ≥ 400) | 116 (T39: 7 nuevas y 2 menos en MH8): 1 bajo U19 y 0 bajo U18; In1 con 1 587 mm de pistas (69 menos) | ❌ | +| 7 | Vías de GND | 96 (meta ≥ 400) | 119 (T39: 7 nuevas y 2 menos en MH8; T40: 4 nuevas y 1 menos): 1 bajo U19 y 0 bajo U18; In1 con 1 595 mm de pistas (T40 le sumó 8 mm de `/SIM_CLK`) | ❌ | | 8 | Stackup genérico | igual | JLC04161H-7628, ENIG, control de impedancia | ✅ T28 | **Lo demás** (bloques C a H: módem, GNSS, U12, pares diferenciales, puertos, In1, serigrafía) no cambió desde el 19-oct. @@ -105,7 +116,7 @@ Después del `git pull`. Primero esto y luego el resto de los bloques A y B del 2. **R53/R54 quedaron abajo de JP2.** Están a 3.4 mm de U6.10 y a 6–7 mm de U6.18, no a ≤ 3 mm: más cerca de U6.18 no hay lugar sin mover piezas del bloque B. 3. **El nodo SW y `/VEH5V` son pistas anchas, no zona** ([§6.3](#63-por-que-pistas-y-no-zona)). - **Para Michelle queda:** MH4 (si T40 no lo resuelve), Rig1 y el `/24V` del bloque A, y luego el bloque B del plan. + **Para Michelle queda:** Rig1 y el `/24V` del bloque A, y luego el bloque B del plan. MH4 ya quedó con T40 ([§7](#7-t40-22-oct-tarde-mh4-libre)); si Leo elige la opción (b) de D-22-4, también las TVS de la SIM junto a J14. ![v6 con T38: courtyards reales, la fuente U25 y los barrenos](img/2026-10-21_Drogheda_v6-T38-Courtyards-U25-Barrenos_v1.0.png) @@ -151,10 +162,10 @@ Después del `git pull`. Primero esto y luego el resto de los bloques A y B del ### 3.2 Barrenos 1. **MH8 (195.2, 135.3):** ✅ ya quedó con T39 (22-oct). D34 salió de ahí y se borraron las 2 vías de GND de (194.6, 133.7) y (196.2, 133.7): 0 errores en MH8. -2. **MH4 (185.2, 90.3):** igual que el 16-oct ([plan, §3.4](v6-plan-fines-de-semana.md#34-barrenos-mh4-y-mh6-1-h)). Claude lo evalúa como T40 (22-oct). La regla nueva hace que el DRC ya muestre todo lo que estorba: ≈ 33 errores con KiCad 10. El número cambia un poco de una corrida a otra; ver el [§6.4](#64-drc-con-t39). - - D23, D24 y D25 junto a J14 y sus resistencias de 22 Ω; - - `/NTC` (In2) a ≥ 2.5 mm del centro; - - `/SIM_RST`, `/SIM_CLK`, `/SIM_DATA` y la pista GND fuera del círculo de 4 mm. +2. **MH4 (185.2, 90.3):** ✅ ya quedó con T40 (22-oct, tarde; [§7](#7-t40-22-oct-tarde-mh4-libre)). Lo que pedía el plan: + - `/NTC` (In2) a ≥ 2.5 mm del centro: ✅ pasa a 2.55 mm del centro, 0.95 mm de la orilla del barreno; + - `/SIM_RST`, `/SIM_CLK`, `/SIM_DATA` y la pista GND fuera del círculo de 4 mm: ✅ en F.Cu y B.Cu solo queda GND; + - D23, D24 y D25 junto a J14 y sus resistencias de 22 Ω: **no**. Salieron del barreno, pero se quedan del lado del módem. Lo decide Leo (D-22-4, [§7.2](#72-las-tvs-de-la-sim-se-quedan-del-lado-del-modem-d-22-4)). 3. **MH6 (65.2, 135.3):** ✅ ya quedó con T38. 4. **No mover los barrenos:** MH4–MH6 son los de la placa base de la V5.5, y MH7 y MH8 son las esquinas de la v6. @@ -168,9 +179,9 @@ Commit y push con el bloque en el mensaje. ## 4. Calendario -El paso del sábado 24 a las 8:00 (Leo corre T25 y T28) ya está hecho, y también MH6, MH8 y la colocación del bloque A (T39). Lo demás del [plan de fines de semana](v6-plan-fines-de-semana.md) sigue igual: +El paso del sábado 24 a las 8:00 (Leo corre T25 y T28) ya está hecho, y también MH6, MH8, la colocación del bloque A (T39) y MH4 (T40). Lo demás del [plan de fines de semana](v6-plan-fines-de-semana.md) sigue igual: -- sábado 24: lo que queda del bloque A (Rig1 y `/24V`) y el bloque B; +- sábado 24: lo que queda del bloque A (Rig1 y `/24V`), el bloque B y, si Leo elige la opción (b) de D-22-4, las TVS de la SIM junto a J14; - domingo 25: bloques C, D y E; - entre semana: T29; - lunes 2-nov: pedido del piloto. @@ -362,17 +373,105 @@ KiCad 10.0.4, `pcb drc --schematic-parity --refill-zones --severity-all --all-tr 3. **Rig1 y el `/24V` sin montar** (pasos 5 y 6 del bloque A) siguen como estaban. 4. **Michelle:** al abrir la v6, revisar el bloque A y ajustar lo que no le guste. En ese bloque el DRC ya está limpio. +## 7. T40 (22-oct, tarde): MH4 libre + +Script: `kicad/tools/t40_v6_mh4.py`. + +- Requiere T39. +- Antes de escribir revisa que ninguna de las piezas y pistas que toca se haya movido. +- Si ya se aplicó, no hace nada. +- Guarda un respaldo `.T40bak`. + +![v6 con T40: el barreno MH4 libre](img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png) + +### 7.1 Qué cambió + +| Qué | Antes (T39) | Con T40 | +|---|---|---| +| D23 (TVS de `/SIM_DATA`) | (182.7, 90.5): su pad de GND quedaba dentro del barreno y el de `/SIM_DATA` a 3.6 mm del centro | **(179.25, 87.0)**, girado 90°, debajo de U19.31: `/SIM_DATA` llega directo del pin (1.95 mm; antes 7.5 mm de pista) | +| D24 (TVS de `/SIM_CLK`) | (182.7, 88.5), con el barreno dentro de su courtyard | **(188.15, 87.6)**, girado 90°, entre la vía de `/SIM_CLK` y R129/R133 | +| D25 (TVS de `/SIM_RST`) | (182.7, 86.5) | **no se mueve** | +| `/SIM_CLK` | por F.Cu en y = 87.75, a 2.55 mm del centro y dentro de la máscara abierta | baja a **In1** junto a U19.32 y corre en y = 86.7 hasta una vía entre D24 y R129 | +| `/SIM_RST` | por F.Cu en y = 87.25 hasta una vía a 3.94 mm del centro (regla 4.0) | sale de D25 por **F.Cu en y = 85.95**, por arriba de D25 (a 4.2 mm del centro), hasta una vía nueva en (187.05, 85.95); la diagonal de In1 se acorta 0.42 mm | +| `/NTC` (In2) | en y = 89.7: **cruzaba por dentro del barreno** | dobla antes, en (179.8, 87.5), y pasa en y = 87.5: a 0.95 mm de la orilla del barreno | +| Pines 92 y 94 de U19 (GND) | al relleno de F.Cu y a la vía de (183.0, 85.5) | pista de GND de 0.25 mm en y = 85.35, bajo U19.93, y **vía nueva en (186.6, 84.6)** | +| Vías de GND de las TVS | ninguna propia | D23 a 0.8 mm · D24 a 1.1 mm · D25 a 2.3 mm, con pista directa | +| Referencias en serigrafía | D23 y D24 dentro de la máscara de MH4 | D23 a la izquierda de D23, D24 arriba de D24; la de R129 (DNP) pasa a la derecha de R129 para no caer sobre D24 | + +**Por qué los pines 92 y 94 necesitan su pista.** `/SIM_RST` tiene que pasar entre la fila de pines de U19 y D25: más abajo entra en los 4 mm de MH4. El canal que queda (0.8 mm) es muy angosto para el relleno de GND, que pide 0.5 mm de alivio, 0.3 mm de holgura y 0.25 mm de cobre. Sin la pista nueva, los pines 92 y 94 se quedan sin tierra. Por eso también se borró la vía de GND de (183.0, 85.5), que estorbaba a `/SIM_RST`. + +**Holguras más justas de lo nuevo** (regla 0.15 mm): + +- `/SIM_RST` a D25.2: 0.20 mm; +- la pista de GND a U19.93 (BT_ANT, sin conectar): 0.225 mm; +- la vía de GND de D23 a `/CHRG_FAULT` (In1): 0.23 mm; +- `/NTC` a las vías de `/SIM_CLK` y de D25: 0.25 mm. + +### 7.2 Las TVS de la SIM se quedan del lado del módem (D-22-4) + +El plan (L-38, por B-09 del 28-sep) pide **D23–D25 junto a J14**. T40 no lo hace: las saca del barreno, pero las deja junto a U19 (D23 y D25) y junto a R129/R133 (D24). + +- **Por qué no.** En el esquemático, D23–D25 están en `/SIM_DATA`, `/SIM_CLK` y `/SIM_RST`, del lado del módem de las resistencias de 22 Ω. R133 y R134 (las de `/SIM_CLK` y `/SIM_DATA`) están junto a U22, a 13–24 mm de pista de J14, así que esas dos redes no llegan al zócalo. Ponerlas ahí pide una de dos: + - mover también R133 y R134 junto a J14, y volver a rutear las redes; + - o cambiar las TVS a `/SIMB_*` en el esquemático. +- **Qué protege hoy.** Una descarga en el zócalo recorre **27–41 mm de pista**, y pasa por la resistencia de 22 Ω, antes de llegar a la TVS: 28.6 mm en DATA, 27.1 en CLK y 40.6 en RST (antes de T40: 34.1, 32.2 y 41.2). El módem queda protegido, pero el pico entra a la tarjeta y la resistencia lo aguanta completo. +- **Por qué importa.** El 28-sep se dijo que no hacía falta un arreglo de ESD para `/SIM_VDD` porque la SIM se pone una vez, dentro del gabinete, **y** porque D23–D25 iban a quedar junto a J14. La segunda razón ya no se cumple. + +**D-22-4 (decide Leo):** + +- **(a) Se quedan así.** No cuesta nada más y el módem queda protegido. +- **(b) Recomendada: TVS del lado del zócalo.** D23–D25 pasan a `/SIMB_DATA`, `/SIMB_CLK` y `/SIMB_RST`, pegadas a los pines de J14 y cada una con su vía de GND. Son las mismas piezas: el BOM no cambia. Es un cambio chico de esquemático, más la colocación. Claude lo puede hacer como T41 (esquemático y tarjeta por script), o Michelle el sábado. + +Recomiendo (b): la SIM se pone a mano, en el taller o en el sitio, casi siempre sin pulsera antiestática, y un módem dañado es una vuelta al sitio. La TVS tiene que quedar donde entra la descarga. + +### 7.3 DRC con T40 + +| | Con T39 (misma corrida) | Con T40 | +|---|---|---| +| Errores | 43: 13 de holgura de barreno · 17 de máscara · 2 de barreno en courtyard · 11 encimes de margen | **11**: los encimes de margen | +| Sin conectar | 0 | 0 | +| Paridad | 19 PWR_FLAG | 19 PWR_FLAG | +| Avisos | 254 | 249 (5 menos de serigrafía sobre la máscara de MH4) | + +KiCad 10.0.4, `pcb drc --schematic-parity --refill-zones --severity-all --all-track-errors`. En esta corrida, la v6 con T39 dio 13 errores de holgura de barreno en MH4. En la del §6.4 dio 14: el número cambia de una corrida a otra. + +- **Se van 37 violaciones y no entra ninguna.** Son todas las de MH4: holgura de barreno y regla T38, máscara, barreno en el courtyard de D23 y D24, y la serigrafía de D23 y D24. +- **El relleno solo cambia junto a MH4.** Fuera de una ventana de 29 × 24 mm alrededor del barreno, los rellenos de las 4 capas son idénticos a los de T39. +- **Conectividad.** `/SIM_CLK`, `/SIM_RST`, `/SIM_DATA`, `/SIM_VDD` y `/NTC` siguen en un solo grupo cada una. Los pines 29, 92 y 94 de U19 y los pads de GND de las tres TVS quedan unidos a GND: 0 sin conectar y ningún alivio térmico incompleto. + +### 7.4 Cómo se probó y lo que queda a la vista + +**Prueba.** + +- Copia de la v6 con T39 (`97ea7e45`) en la Mac, con su `.kicad_pro`, `.kicad_dru`, esquemático y bibliotecas. T40 en la copia, y DRC de la copia contra la v6 sin T40. +- Antes de escribir, el script revisa: + - la holgura de todo lo nuevo, movido o acortado contra el cobre de las otras redes; + - en todas las capas, 0.25 mm de la orilla del barreno, y la regla de 4 mm en las caras; + - que dentro de 4 mm de MH4, en las caras, ya no quede nada que no sea GND; + - que los courtyards de D23 y D24 no se encimen con nadie ni encierren un barreno; + - que no se pierdan UUIDs. +- **Aplicación.** Se aplicó a la v6 de HBox_PCB y se rellenó con `kicad-cli`, con el proyecto al lado (regla D-22-3). El archivo es idéntico, byte por byte, a la copia probada (`a273d44c`). + +**Lo que queda a la vista:** + +1. **D-22-4:** las TVS junto a J14 ([§7.2](#72-las-tvs-de-la-sim-se-quedan-del-lado-del-modem-d-22-4)). +2. **D25 quedó con su vía de GND a 2.3 mm** (antes había una a 1.25 mm, por el relleno). Ahora llega por una pista directa de 0.4 mm. Más cerca no cabe: arriba pasa `/SIM_RST` y abajo, en In1/In2, `/SIM_CLK` y `/NTC`. +3. **`/SIM_CLK` suma 8.7 mm por In1**, que es plano de tierra. Corre entre el GND de F.Cu y el de In2, y encima, en F.Cu, solo hay pistas de la SIM y de GND. +4. **La pista de GND bajo U19.93** (BT_ANT, sin usar) queda a 0.225 mm de su pad, bajo máscara. + ## Cómo se hizo - **Archivos:** - HBox_PCB `9255b84` (Michelle, 21-oct 18:14) contra `00a9af4` (19-oct). - Para T39: `b74b96f` (22-oct 09:42). + - Para T40: la v6 con T39 (`97ea7e45`, commit `d5f5002`). - El esquemático de la v6 no cambió desde el 28-sep (`d58a89ba…`). -- **Scripts:** primero en una copia y luego en los archivos de HBox_PCB. Los respaldos `.T25bak`, `.T28bak`, `.T38bak` y `.T39bak` no se suben. +- **Scripts:** primero en una copia y luego en los archivos de HBox_PCB. Los respaldos `.T25bak`, `.T28bak`, `.T38bak`, `.T39bak` y `.T40bak` no se suben. - `kicad/tools/t25_mounting_holes_v55.py --set v6`; - `kicad/tools/t28_v6_mecanicos.py`; - `kicad/tools/t38_v6_courtyards_mh.py`; - - `kicad/tools/t39_v6_bloque_a.py`. + - `kicad/tools/t39_v6_bloque_a.py`; + - `kicad/tools/t40_v6_mh4.py`. - **DRC:** KiCad 10.0.4, `pcb drc --schematic-parity --refill-zones --severity-all`, con el `.kicad_dru` del proyecto. - **Medidas:** - El script de la auditoría del 16-oct sobre el cobre rellenado: distancias, series de cobre, vías por red y por EP, y lazo por centros de pad. diff --git a/03-Architecture-Hardware/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.md b/03-Architecture-Hardware/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.md new file mode 100644 index 0000000..d47ffe0 --- /dev/null +++ b/03-Architecture-Hardware/2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.md @@ -0,0 +1,187 @@ +--- +title: "Auditoría final de producción — EinarBoard V5.6 y V5.7: GO al piloto con tres condiciones (22-oct-2026)" +tags: [project-drogheda, hardware, hbox, einarboard, v5.6, v5.7, auditoria, produccion, pedido, gerber, firmware, riesgo] +project: Project Drogheda +author: Helgen Technologies (auditoría: Claude; decide: Leo) +date: 2026-10-22 +version: 1.0 +status: ACTIVO — audita los paquetes HBOX_v5_Rev6_PROD (22-oct 01:55) y HBOX_v5_Rev7_PROD (22-oct 15:55) sobre hbox-watchdog-v5 f07ad5b5 y hbox-watchdog-v57 9373ebe8; re-verificada a las 13:30 sobre los archivos de las 13:00 (338ee14b / 85baca51, P-1 cerrado); es el paso 7 de la Ruta (entre Gerber y Piloto) +audience: Leo (decide el pedido), Michelle, Jesús, Aldair, Adriana +--- + +# Auditoría final de producción — V5.6 y V5.7 · 22-oct-2026 + +**Pregunta (Leo, 22-oct, 10:01):** ¿se piden hoy? Y que todos los puertos funcionen, que la V5.7 no use la Mean Well, que el módem no provoque un apagón, que en batería duerma 10 min, despierte, reporte dos veces y vuelva a dormir, empezar el firmware, y una sola auditoría con riesgos, easy wins y matriz. + +!!! success "Veredicto: GO al piloto de 5 V5.6 + 5 V5.7, hoy, con tres condiciones de pedido que no tocan el cobre" + - **(1) Vías «Epoxy Filled & Capped» + rayos X en U6**: las tres vías térmicas del LTC4040 caen dentro de las ventanas de pasta (al 50 %). Es la causa de los puentes de la V5.5/V4. + - **(2) Rotación y polaridad en el visor de JLC** de U6, U7, U25, U26, L22, Q7, U16, D34, D10 y los electrolíticos: las huellas easyeda2kicad no pasan por la tabla de correcciones del Fabrication Toolkit y nunca se han fabricado. + - **(3) BOM: D10 SMBJ33A → SMBJ33CA** (misma huella; con el arnés al revés la V5.7 abre su fusible SMD F2). Código con existencia: C8838 o C2688178. + + **NO-GO para las 108 V5.6 y las 322 V5.7** hasta que el piloto pase el banco con el firmware 0.7.0: hoy ningún firmware enciende el módem de estas tarjetas (MODEM_EN en PC3 es nuevo). + +!!! warning "Corrección del 22-oct (tarde, victorias rápidas T42a)" + Para D10 usar **C83325** (Littelfuse SMBJ33CA, 100 948 en existencia el 1-ago): C8838 no está en la base de JLC y C2688178 tenía 39 piezas. Los 10 nF se unifican en **C57112** (Basic), no en C1589 (Extended). T42a trae estos y otros cambios de BOM y de cobre, probados con el mismo DRC: [victorias rápidas V5.6/V5.7](v56-v57-victorias-rapidas-22oct.md) (decide Leo, D-22-7). + +**Documentos de esta auditoría:** [**▶ PDF completo (33 pp.)**](2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.pdf) · [**▶ Presentación (19 láminas)**](2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_Presentacion_ES_v1.0.pdf) · [Protocolo (el «reprompt»)](auditoria-final-protocolo.md) · `04-Source-Code/firmware/hbox_v5_bringup/board_v56.h` (mapa de pines, repositorio). + +## 1. Lo que pidió Leo y lo que se encontró + +| Mandato | Estado | Evidencia | +|---|---|---| +| Que todos los puertos funcionen | **Hardware sí** · firmware no | Netlist contra hojas de datos; faltan SC16IS752 y Ethernet de campo en software | +| V5.7 sin la Mean Well | **Sí** | U25 TPS54360B 5.32 V / 600 kHz, 9–32 V continuos; se mide a 9/24/32 V | +| Ethernet, RS-485, RS-232 usables | **Usables**, con dos reglas | RS-485 ocupa el bus ~1 s al arrancar hasta que 0.7.0 escribe EFCR; H4 (TTL) y P16 (RS-232) nunca al mismo tiempo | +| Módem sin apagón | **Resuelto en hardware** | AP64350 regula desde 3.8 V (riel de respaldo 4.79 V), boost 2.5 A vs 1.8 A de pico, C43 220 µF, PFI 4.40 V. El firmware secuencia etapa → NMEA → módem | +| 10 min dormida, 2 reportes, dormir | **Hardware sí** · firmware no | STM32 alimentado en respaldo, LSE Y4 (RTC), INT1 del SC7A20 en PB9, MODEM_EN/PWR_CTRL. Piso dormido ≈ 75 mW con el W5500 en power-down; ≈ 5 días con ventanas de 45 s cada 10 min | +| Gerber/BOM/CPL generados | **Verificados** | Idénticos a una regeneración con relleno fresco (0.000 mm² de XOR); el `.kicad_pcb` del repo traía el relleno viejo (P-1, **cerrado a las 13:00**) | +| Empezar el firmware | **Empezado** | `board_v56.h` (64 pines del netlist, idéntico en V5.6 y V5.7) + especificación 0.7.0 con algoritmos | +| Riesgos, easy wins, matriz | **Hecho** | 30 hallazgos, 16 riesgos antes/después, 6 easy wins | + +![V5.6 tal como se fabrica](img/2026-10-22_Drogheda_V5.6-Cara-Superior_v1.0.png) + +![V5.7 tal como se fabrica](img/2026-10-22_Drogheda_V5.7-Cara-Superior_v1.0.png) + +## 2. Qué se revisó (método A–G) + +- **A · Paquete.** Regeneración con `kicad-cli` 10.0.4 en copias y comparación primitiva por primitiva: máscaras, pasta, serigrafía, contorno y taladros **idénticos**; pads y pistas **idénticos**; rellenos de zona **0.000 mm²** de diferencia contra un relleno fresco hecho con el proyecto cargado. BOM: 226 / 229 piezas montadas, todas con LCSC; CPL cuadra con el PCB (fuera: JP, TP, MOD1, MH, R109/R124/R125 DNP). +- **B · Eléctrica.** Netlist de cada esquemático (V5.6 = V5.7 en los 64 pines del MCU) contra las hojas de datos del LTC4040, AP64350, TPS54360B, W5500, SC16IS752, SP3485, MAX3232, SC7A20, STM32F411. +- **C · Batería.** Presupuesto en respaldo (2.9 W promedio, 8.7 W de pico contra 12 W del boost), piso dormido por componente, autonomía por ventana y periodo, secuencia del ciclo. +- **D · Cobre.** DRC con `.kicad_dru` + relleno + paridad: 3 errores (MOD1, por diseño, excluidos), 0 sin conectar, paridad solo PWR_FLAG, en las dos. RS1 Kelvin (VIN y CLN) comprobado recortando el pad. Vías únicas = las aceptadas el 19/21-oct. +- **E · Firmware.** 0.6.3 contra el hardware nuevo; `board_v56.h`; inventario de algoritmos; lo que falta con tamaño. +- **F · Riesgo.** Matriz 5 × 5 antes y después. + +![Relleno viejo en el repo contra el Gerber](img/2026-10-22_Drogheda_Relleno-Viejo-vs-Gerber_v1.0.png) + +!!! success "P-1 — el repo guardaba el relleno de zonas viejo; el Gerber traía el fresco. Cerrado a las 13:00" + Los dos `.kicad_pcb` tenían el relleno de la pasada 5. El Fabrication Toolkit rellenó al exportar (por eso el paquete estaba bien), pero una exportación sin rellenar (`kicad-cli`, o el GUI sin «B») habría mandado cobre de GND encima de la vía de `/SYS5V` de T35 y de las vías de RS1 de T34. **Leo rellenó, guardó y regeneró los paquetes a las 13:00**; falta el commit. Regla D-22-3: todo script T que toque cobre termina con rellenado en el GUI antes del commit. + +**Re-verificación de las 13:30 (archivos de las 13:00: V5.6 `338ee14b`, V5.7 `85baca51`; paquetes regenerados; BOM y CPL con el mismo SHA).** Mismo método A sobre copias nuevas (`kicad/_to_delete/audit-20261022b/`, `verify.sh` + `gcmp_b.py`, 5 min): + +| Comparación (F.Cu, In1, In2, B.Cu a 20 µm) | V5.6 | V5.7 | Lectura | +|---|---|---|---| +| A · relleno guardado en el `.kicad_pcb` vs relleno fresco con el proyecto | 0.000 mm² | 0.000 mm² | **P-1 cerrado**: el archivo ya es lo que se fabrica | +| B · paquete de las 13:00 vs archivo guardado | idéntico | idéntico | Toolkit = archivo | +| C · cobre de las 13:00 vs cobre auditado en la mañana | idéntico | idéntico | Nada más cambió (2264 / 396 y 2253 / 403 pistas / vías) | +| D · paquete 13:00 vs paquete de la mañana (máscaras, pasta, serigrafía, contorno, taladros) | idéntico | idéntico | Mismo paquete | +| DRC con `.kicad_dru`, relleno y paridad | 3 MOD1 · 0 · 13 PF | 3 MOD1 · 0 · 13 PF | Igual que en la mañana | +| BOM y CPL | SHA iguales | SHA iguales | D10 sigue como SMBJ33A: la condición 3 sigue viva | + +Lo único distinto en los archivos, fuera de los rellenos, es la caché de glifos de los textos de serigrafía «EINARBoard 5.x» (cosmético: la serigrafía exportada es idéntica). **El veredicto no cambia.** Si la sesión paralela de *quick wins* toca el BOM o el cobre, se vuelve a correr `verify.sh` + `gcmp_b.py` antes de pagar. + +![U6: pasta y vías térmicas](img/2026-10-22_Drogheda_U6-Pasta-Vias_v1.0.png) + +![RS1 Kelvin en las dos tarjetas](img/2026-10-22_Drogheda_RS1-Kelvin-Final_v1.0.png) + +**V5.7 sin la Mean Well.** U25 TPS54360B (3.5 A, 4.5–60 V) con R121/R122 → 5.32 V, R120 162 k → 600 kHz, R124/R125 DNP (EN flotante = siempre encendida), L22 10 µH SRP1265A, D34 B560C, C149/C150 2.2 µF/100 V a la entrada, C153/C154 47 µF a la salida; D10 SMBJ33A + F2 3 A a la entrada → **9–32 V DC continuos** sin la SD-15B. A 32 V y 2.8 A el bloque disipa ≈ 2.5 W (U25 ≈ 1.6 W): se mide en banco (E-9). + +![V5.7: la fuente a bordo U25](img/2026-10-22_Drogheda_V5.7-Fuente-U25_v1.0.png) + +## 3. Hallazgos — problema → arreglo + +Clases: 🔴 bloqueante · 🟠 alto · 🟡 medio · 🟢 bajo / easy win. «Rev. sig.» = cambio de cobre para la siguiente revisión, no detiene el pedido. + +| Id | | Tarjeta | Problema | Arreglo | Quién | +|---|---|---|---|---|---| +| P-1 | ✅ | ambas | `.kicad_pcb` con el relleno de la pasada 5; el fresco solo estaba en el Gerber | **Cerrado 13:00**: rellenado, guardado, paquetes regenerados (0.000 mm²). Falta el commit; regla D-22-3 | Leo (commit) | +| P-2 | 🟠 | ambas | U6 QFN 0.5 mm: 3 vías térmicas dentro de las ventanas de pasta; U7/U25 pasta al 100 % con vías | **Pedido:** Epoxy Filled & Capped + rayos X en U6; lupa antes de energizar | Leo · Jesús | +| P-3 | 🟠 | ambas | Rotación de U7, U25, U26, L22 (easyeda2kicad) y polaridad de D34 nunca fabricadas | Confirmar en el visor de JLC | Leo, al pedir | +| P-4 | 🟢 | V5.7 (V5.6) | D10 SMBJ33A unidireccional: con el arnés al revés abre F2 (SMD) | BOM: SMBJ33CA, misma huella | Leo, antes de pedir | +| P-5 | 🟢 | ambas | SP3485 sin receptor a prueba de bus abierto; MAX3232 sin ESD | 108/322: THVD1410DR (C2671345) y TRS3232E, mismo pinout | Adriana (pre-orden) | +| P-6 | 🟢 | ambas | 10 nF con dos códigos (C1589 / C57112); C22 etiquetado 22 µF (C138687 es 10 µF/50 V) | Unificar en C1589; corregir la etiqueta | Leo, BOM | +| P-7 | 🟡 | V5.7 (V5.6) | JST del borde superior movidos 12–38 mm; en V5.7 P14 68 mm y DB1–DB4 al borde derecho | Medir arneses; tapa V5.7 si el gauge se ve por la tapa | Jesús, piloto | +| P-8 | 🟢 | ambas | Sin MH11: U6/L6 sin abrazadera de disipador | Temperatura de U6/L6 en banco a 1.4 A y 45 °C | Jesús, piloto | +| E-1 | ✅ | ambas | LTC4040: PFI 4.40/4.51 V, respaldo 4.79 V, 2.5 A Kelvin, 1.40 A, 3.50 V LFP, NTC +10…+60 °C, C129, CHGOFF/BSTOFF atados | Nada; verificado contra hoja de datos | — | +| E-2 | ✅ | ambas | Riel del módem: AP64350 3.33 V / 500 kHz desde SYS5V, EN apagado por defecto, C130, C43 220 µF, RST/LED/EN/RTCM al MCU | Nada; el caso de brownout de V5.5 desapareció por diseño | — | +| E-3 | 🟠 | ambas | 3V3_ETH sin enable: W5500 65–132 mA activo; en reset sin cifra | 0.7.0: PHY power-down (13 mA) antes de dormir. Rev. sig.: enable | 0.7.0 | +| E-4 | 🟡 | ambas | RS-485: DE y /RE en /RTSA → transmisor encendido desde el reset hasta que el firmware configura U10; sin TVS ni polarización | 0.7.0: EFCR/MCR primero; punto a punto; THVD1410 (P-5). Rev. sig.: U32 + D39 como v6 | 0.7.0 · BOM | +| E-5 | 🟢 | ambas | RS-232: R1OUT y H4.3 comparten SER_RXB | H4 y P16 nunca juntos. Rev. sig.: R147 | Manual | +| E-6 | 🟢 | ambas | Ethernet: J10.8 al aire, LED ACT invertido | Cosmético | Rev. sig. | +| E-7 | 🟠 | V5.7 | Ignición a 12 V = 1.38 V en PA5 (zona indefinida) | 0.7.0: ADC con histéresis 0.80 / 0.55 V | 0.7.0 | +| E-8 | 🟢 | V5.7 | Entrada 9–32 V con F2 SMD | El breaker del gabinete sigue siendo la protección; manual | Manual | +| E-9 | 🟡 | V5.7 | U25: lazo de entrada ≈ 56 mm² (D-21-2) y ≈ 2.5 W a 32 V / 2.8 A | Banco: timbre en SW/VIN y temperatura de U25/D34 a 9/24/32 V | Jesús, piloto | +| E-10 | 🟢 | V5.7 | Toda la entrada de U25 por dos vías 0.8/0.3 en serie | A 24 V nada (0.7 A); a 9 V cámara térmica. Rev. sig.: 2.ª vía | Jesús · Rev. sig. | +| E-11 | 🟢 | V5.7 | D12 (LDO del MCU) + U12 por una vía 0.6/0.3 (146.37, 86.96), ≈ 0.3 A | Sobra eléctricamente; punto único de falla. Rev. sig. | Rev. sig. | +| E-12 | 🟢 | ambas | LSE FC-135 (CL 12.5 pF) con 12 pF: corre rápido unas decenas de ppm | 0.7.0: LSEDRV alto, timeout, fallback a LSI | 0.7.0 | +| E-13 | 🟡 | ambas | Rdfu1 22 k (PA10) sostiene a medias el riel del módem apagado vía K1/DIN | 0.7.0: pulso de MODEM_RST tras cada MODEM_EN. Rev. sig.: revisar Rdfu1 | 0.7.0 | +| E-14 | 🟢 | ambas | NTC_CELL (PC5) solo vale con VEH5V presente | Reportar n/c en batería; U4 y U18 cubren | 0.7.0 | +| E-15 | 🟢 | V5.7 | /VIN_FUSED y /SW_PWRIN fuera de la clase HV24 | Rev. sig.: patrón de la clase | Rev. sig. | +| E-16 | 🟢 | ambas | Inrush de C3 220 µF + C40 al encender la etapa | 0.7.0: módem después de la etapa; rampa de 20 ms en batería | 0.7.0 | +| F-1 | 🔴 (piloto) | ambas | 0.6.3 no enciende el módem de V5.6/V5.7 y lee mal NTC, flotación e ignición | `board_v56.h` (hecho) + 0.7.0-pre: 1 día | Leo + Claude | +| F-2 | 🟠 | ambas | Ciclo de 10 min no existe (el actual es espera activa a 96 MHz); umbrales Li-ion | STOP + RTC, apagado ordenado, LFP 2.95 / 3.20 V. 3–4 días | Leo + Claude | +| F-3 | 🟡 | ambas | SC16IS752 sin driver | Driver + EFCR primero. 1 día | Leo + Claude | +| F-4 | 🟡 | ambas | Ethernet solo en build de banco con IP fija | Modo de campo configurable. 2 días | Leo + Claude | +| F-5 | 🟢 | ambas | SC7A20 sin driver | 0.5 día; despertar por movimiento | Leo + Claude | +| F-6 | 🟢 | ambas | Vigilancia del módem indirecta | LED (PC2) + RTCM (PC7); reset con límite | Leo + Claude | +| F-7 | 🟢 | ambas | Modo B supone módem siempre encendido | No insertar hasta que viva; soltar K1 antes de apagarlo | Leo + Claude | +| F-8 | 🟡 | ambas | Recuperación sin orden entre módem y etapa | Módem OFF → etapa OFF/ON → NMEA → módem ON | Leo + Claude | + +**Easy wins, en orden de valor:** vías tapadas + rayos X en U6 (P-2) · D10 → SMBJ33CA (P-4) · ~~commit con relleno fresco (P-1)~~ hecho 13:00 · 10 nF y etiqueta de C22 (P-6) · THVD1410 / TRS3232E en la pre-orden (P-5) · ENIG como acabado. *Una sesión paralela trabaja los quick wins: lo que toque BOM o cobre se re-verifica con `verify.sh` antes de pagar.* + +## 4. Batería, apagón del módem y ciclo de 10 min + +| Carga en respaldo | Promedio | Pico | +|---|---|---| +| Etapa RTK | 0.7 W | 1.0 W | +| Módem 4G (vía U7) | 1.5 W | **7.3 W** (2 A a 3.3 V) | +| MCU y lógica | 0.5 W | 0.6 W | +| W5500 (PD) · K1 | 0.05 · 0.15 W | — | +| **Total** | **≈ 2.9 W (0.6 A)** | **≈ 8.7 W (1.8 A) < 2.5 A del boost** | + +Piso dormido estimado **≈ 75 mW** (W5500 en power-down 50 mW, MAX3232 + SP3485 4 mW, LED D18 4 mW, MCU en STOP 1.5 mW, resto 2 mW); sin el power-down del W5500 serían 450 mW y ninguna combinación llega a 7 días. Con 45 s de ventana cada 10 min ≈ 5 días; cada 20 min ≈ 8.5 días. + +![Autonomía según ventana, periodo y piso](img/2026-10-22_Drogheda_Autonomia-Ciclo_v1.0.png) + +**Secuencia de 0.7.0:** respaldo detectado (5V_SENSE < 4.2 V, media 200 ms) → última palabra ($PHLG + posición) → apagar (MODEM_EN = 0, PA1 = 0, K1 suelto, UARTs en alta Z, W5500 PD, LEDs) → **STOP** con alarma RTC a 10 min (LSE; LSI si no arrancó), INT1 del SC7A20 y regreso del 24 V → despertar (vbat < 2.95 V → dormir otra vez) → etapa ON (rampa 20 ms) y NMEA ≤ 30 s → +2 s MODEM_EN; LED/RTCM ≤ 90 s o pulso de MODEM_RST (máx. 2) → K1 y 2 × $PHLG/$PHCG con pwr=BATT → dormir. **Umbrales LFP:** corte 2.95 V, rearme 3.20 V (0.6.3 trae 3.40 / 3.70 de Li-ion). + +## 5. Firmware: 0.6.3 no sirve a V5.6/V5.7; `board_v56.h` sí + +| Función | 0.6.3 (V5.5) | V5.6 / V5.7 | Efecto con 0.6.3 | +|---|---|---|---| +| Riel del módem | siempre encendido | MODEM_EN = PC3, apagado por defecto | el módem nunca enciende | +| Reset del módem | PCF8574 P7 → puente a SW4G1 | PC1 directo (R107) | el pulso no hace nada | +| LED del módem | — | PC2 | sin señal de vida | +| NTC | PB1 | PC5 (nodo NTC del LTC4040 × 0.5455) | lectura basura | +| Flotación / corte | 4.00 V · 3.40/3.70 V | 3.50 V · LFP 2.95/3.20 V | rearranques y cortes mal juzgados | +| Ignición | digitalRead | ADC (12 V → 1.38 V) | aleatoria a 12 V | +| Acelerómetro · RTCM | — | SC7A20 0x18 (INT1 PB9) · USART6 RX en PC7 | sin usar | + +Trabajo para 0.7.0 con tamaño: F-1 0.7.0-pre (módem, NTC, LFP, ADC) **1 día** · F-2 ciclo de respaldo 3–4 días · F-3 SC16IS752 1 día · F-4 Ethernet de campo 2 días · F-5…F-8 2 días. Los algoritmos heredados (gobernador de carga, recuperación de enlace, Modo B, vigilancia del módem, cortes, medición, supervisión) están descritos en el PDF, §7.2. + +## 6. Registro de riesgos (P × I, antes → después) + +| Id | Riesgo | Tarjeta | Antes | Después | Mitigación | Clase | +|---|---|---|---|---|---|---| +| R1 | Soldadura de U6 (QFN 0.5 mm, 3 vías en la pasta): puentes y bolas como en V5.5/V4 | V5.6 · V5.7 | 4·4 = 16 🔴 | 2·3 = 6 🟡 | Pedir con «Epoxy Filled & Capped» + rayos X en U6; lupa en cada tarjeta antes de energizar | Pedido | +| R2 | Rotación de huellas easyeda2kicad (U7, U25, U26, L22) y polaridad de D34 en JLC | V5.6 · V5.7 | 2·5 = 10 🟠 | 1·5 = 5 🟡 | Confirmar pin 1 y polaridad en el visor de JLC antes de pagar | Pedido | +| R3 | Apagón (brownout) del módem en batería al arrancar o en ráfaga LTE | V5.6 · V5.7 | 1·4 = 4 🟡 | 1·3 = 3 🟢 | Hardware ya resuelto (AP64350 desde 3.8 V, 2.5 A de boost, C43 220 µF); 0.7.0 secuencia etapa → NMEA → MODEM_EN | Diseño | +| R4 | Piso de consumo dormido demasiado alto (W5500 65–132 mA sin enable) | V5.6 · V5.7 | 4·3 = 12 🟠 | 2·3 = 6 🟡 | 0.7.0: W5500 en power-down (13 mA) antes de dormir; medir el piso en el piloto (PPK2) | Firmware | +| R5 | RS-485 toma el bus desde el encendido hasta que el firmware configura U10 | V5.6 · V5.7 | 3·2 = 6 🟡 | 2·2 = 4 🟡 | EFCR/MCR como primer paso del arranque; uso punto a punto; THVD1410 en BOM para 108/322 | Firmware | +| R6 | Ignición mal leída en máquinas de 12 V (1.38 V en PA5, zona indefinida) | V5.7 | 4·3 = 12 🟠 | 1·3 = 3 🟢 | 0.7.0: PA5 por ADC con histéresis 0.80/0.55 V | Firmware | +| R7 | Arnés al revés: D10 SMBJ33A conduce y abre F2 (SMD) / quema D10 | V5.7 (V5.6) | 2·3 = 6 🟡 | 2·1 = 2 🟢 | D10 → SMBJ33CA (misma huella); V5.6 sin fusible: el breaker del gabinete | BOM | +| R8 | U25: timbre en SW/VIN (lazo 56 mm²) o calor de U25/D34 a 32 V y 2.8 A | V5.7 | 2·3 = 6 🟡 | 2·2 = 4 🟡 | Banco: 9/24/32 V con 2.5 A, osciloscopio y cámara térmica; D-21-2 | Banco | +| R9 | Firmware 0.7.0 no existe: el piloto no se puede probar (ni el módem enciende) | V5.6 · V5.7 | 5·4 = 20 🔴 | 3·4 = 12 🟠 | board_v56.h hoy; 0.7.0-pre (módem + ADC) antes de que lleguen las tarjetas | Firmware | +| R10 | Arneses cortos / tapa: conectores JST movidos 12–68 mm; LEDs del gauge en otro borde (V5.7) | V5.7 (V5.6) | 3·2 = 6 🟡 | 3·1 = 3 🟢 | Medir con la primera tarjeta; tapa V5.7 si el gauge se ve por la tapa | Mecánica | +| R11 | Relleno de zonas viejo en los .kicad_pcb del repo: una exportación sin rellenar manda cortos | V5.6 · V5.7 | 2·4 = 8 🟠 | 1·4 = 4 🟡 | Hoy: Gerber verificado = relleno fresco. Leo: abrir, B, guardar y commit | Proceso | +| R12 | Umbrales de batería pensados para Li-ion (3.40/3.70 V) con paquete LFP (meseta 3.2–3.3 V) | V5.6 · V5.7 | 4·3 = 12 🟠 | 1·3 = 3 🟢 | 0.7.0: corte 2.95 V / rearme 3.20 V con media de 200 ms; SoC por culombios | Firmware | +| R13 | Lazos de convertidores heredados de V5.5 (U12/L8 35 mm, U2/Dbk1 18 mm): EMC / ruido | V5.6 · V5.7 | 2·2 = 4 🟡 | 2·2 = 4 🟡 | Se mide en el piloto; corregir en v6 | Diseño | +| R14 | Vías únicas en el camino de 24 V (V5.7) a 9 V y 1.9 A: calentamiento | V5.7 | 1·2 = 2 🟢 | 1·2 = 2 🟢 | Instalaciones a 24 V (0.7 A); cámara térmica a 9 V; 2.ª vía en la siguiente revisión | Diseño | +| R15 | Módem «encendido pero muerto» tras dormir (riel sostenido por Rdfu1 22k vía K1/DIN) | V5.6 · V5.7 | 2·3 = 6 🟡 | 1·3 = 3 🟢 | Pulso de MODEM_RST (PC1) tras cada MODEM_EN (SW4G1 probado); revisar Rdfu1 en v6 | Firmware | +| R16 | LSE no arranca (FC-135 CL 12.5 pF con 12 pF) y el ciclo de 10 min se queda sin reloj | V5.6 · V5.7 | 1·3 = 3 🟢 | 1·1 = 1 🟢 | LSEDRV alto + timeout → RTC con LSI (±5 %) y evento; IWDG independiente | Firmware | + +![Matriz de riesgo](img/2026-10-22_Drogheda_Matriz-Riesgo_v1.0.png) + +## 7. El pedido de hoy (≈ 40 min) y el camino a las 108 / 322 + +1. **BOM:** D10 → SMBJ33CA con existencia (opcional: 10 nF a C1589, etiqueta de C22). +2. **PCB:** 4 capas, 1.6 mm, JLC04161H-7628, **ENIG**, **Via covering: Epoxy Filled & Capped**, «Confirm production file». +3. **Ensamble:** solo top; **rayos X en U6** en las notas del pedido; visor activado. +4. **Visor:** pin 1 de U6, U7, U25, U26, U16, Q7; punto de L22; cátodo de D34, D10, D5, D6, D11–D13; «+» de C3, C43, C78, C10, C103; K1; Q10. +5. **5 + 5.** Número de orden al acta y a la Bitácora. +6. **Después de pagar:** ~~abrir cada tarjeta, B, guardar~~ (hecho 13:00); commit de `kicad/` y `production/HBOX_v5_Rev[67]_PROD*`; push; bump del submódulo. + +**Antes de las 108 / 322** (banco del piloto con 0.7.0): lupa en U6 + autoprueba · 24 V: NMEA < 2 s, registro < 60 s, Kelvin (TP1 ÷ 32) 1.0–1.1, carga 1.2–1.4 A · 20 ciclos de 10 min con paquete al 20 % y 45 °C, piso < 100 mW, SYS5V > 4.3 V · 20 cortes 24 V ↔ batería sin reset · RS-485/RS-232 en lazo, Ethernet 24 h · V5.7: 9/12/24/32 V, polaridad invertida, U25 < 110 °C y D34 < 100 °C a 32 V · temperaturas de U6, L6, L7 · arneses, tapa, barrenos. Con los 8 en verde se liberan las 108 y las 322. + +## Cómo se hizo + +Copias en `03-Architecture-Hardware/kicad/_to_delete/audit-20261022/` (SHA-256 iguales a los originales); `kicad-cli` 10.0.4 (DRC con paridad y relleno, ERC, netlist, Gerber, taladros, posiciones, SVG); relleno fresco con `pcbnew` en una copia con el proyecto cargado (sin el `.kicad_pro` al lado el relleno sale distinto: lección del día); parser de Gerber propio para comparar flashes/trazos/regiones; parser de netlist; grafo de conectividad del cobre (Kelvin con el pad recortado, vías de articulación); cruce BOM/CPL/PCB; hojas de datos y piezas de JLC consultadas en línea. Fuentes LaTeX, figuras y scripts en `03-Architecture-Hardware/Auditoria-Final-V56-V57/`. diff --git a/03-Architecture-Hardware/2026-10-22_Drogheda_Victorias-Rapidas_V5.6-V5.7_T42a_ES_v1.0.md b/03-Architecture-Hardware/2026-10-22_Drogheda_Victorias-Rapidas_V5.6-V5.7_T42a_ES_v1.0.md new file mode 100644 index 0000000..bf3b267 --- /dev/null +++ b/03-Architecture-Hardware/2026-10-22_Drogheda_Victorias-Rapidas_V5.6-V5.7_T42a_ES_v1.0.md @@ -0,0 +1,191 @@ +--- +title: "Victorias rápidas V5.6 y V5.7 (T42a): BOM y cobre antes del piloto — D-22-7 (22-oct-2026)" +tags: [project-drogheda, hardware, hbox, einarboard, v5.6, v5.7, bom, jlc, ignicion, hv24, piloto, t42a] +project: Project Drogheda +author: Helgen Technologies (análisis y script: Claude; decide: Leo) +date: 2026-10-22 +version: 1.0 +status: PROPUESTA — T42a probado en copias de los archivos de las 13:00 (V5.6 338ee14b / dc9381d7, V5.7 85baca51 / e0e6caf6); no se ha aplicado a los archivos de la Mac. Decide Leo (D-22-7). +audience: Leo (decide), Aldair (pedido), Adriana (compras), Michelle (layout) +--- + +# Victorias rápidas V5.6 y V5.7 (T42a) · 22-oct-2026 + +**Pregunta (Leo, 22-oct, 13:28):** volver a V5.6 y V5.7 y ver si hay victorias rápidas, a partir de los archivos de la +auditoría, para que la tarjeta quede «épica». + +!!! success "Respuesta corta: sí. T42a está listo y probado; aplicarlo antes del pedido del piloto cuesta unos 40 min" + - **BOM, sin tocar cobre.** D10 → SMBJ33CA de Littelfuse, **C83325**. Los códigos de la auditoría no sirven: C8838 no está en la base de JLC y C2688178 tenía 39 piezas. + - U15 MAX3232 → **TRS3232E** (C308878): mismo pinout, ±15 kV en los pines de RS-232 y ≈ US$0.64 menos por tarjeta. + - Los 10 capacitores de 22 µF dejan C86817 (16 V, **4 144 en existencia, no alcanza para 430 tarjetas**) y pasan a C45783 (Basic, 25 V). + - 6 códigos Extended más pasan a Basic y 2 a Preferred, y C22 dice lo que se monta (10 µF/50 V). + - **Cobre.** /IGN_IN, la ignición cruda de la máquina, baja de 1.0 a 0.3 mm en In1 y su vía junto a Rig1 baja 0.35 mm. La holgura mínima sube de **0.15 a 0.54 mm** en In1 y de **0.15 a 0.30 mm** en la vía. En la V5.7 se agrega una segunda vía para el LDO del MCU (E-11). + - **DRC igual al de la auditoría:** 3 errores de MOD1, 0 sin conectar y paridad solo PWR_FLAG. El Gerber solo cambia donde se tocó. + - **Hallazgo nuevo:** la clase HV24 solo atrapa `/24V_IN`. Las demás redes de 24 V (`/24V`, `/IGN_IN`, `/Q10_GATE`…) se revisan a 0.15 mm. A 32 V no es riesgo eléctrico, pero la regla de 0.5 mm del equipo no se estaba aplicando. Va en **T42b**, antes de las 108/322. + - **D-22-7 (Leo):** (a) T42a completo en el piloto (**recomendada**) · (b) solo el BOM · (c) solo D10, como dice la auditoría. + +El pedido del piloto ya espera a los *quick wins* del tablero y al pago del mes (D-22-1, junta del 22-oct; modo +crisis). Hay tiempo para aplicar T42a sin mover ninguna fecha. + +## 1. BOM: lo que cambia sin tocar el cobre + +Los campos `LCSC` y `Value` cambian igual en el esquemático y en el PCB, así que la paridad no cambia. Las +existencias son de la copia local de la base de JLC del 1-ago; se confirman al subir el BOM. + +| Referencias | Antes | Después | Por qué | +|---|---|---|---| +| D10 | SMBJ33A, C224019 (unidireccional) | **SMBJ33CA, C83325** (Littelfuse, bidireccional, 100 948 en existencia) | Condición 3 de la auditoría (P-4). Con el arnés al revés ya no conduce: Q10 bloquea y la V5.7 no abre F2. El símbolo del esquemático ya era el bidireccional; la pieza no | +| U15 | MAX3232, C15846 (US$0.88 en 500) | **TRS3232E, C308878** (TI, US$0.24 en 500; 3 564 en existencia) | Mismo pinout y mismos capacitores de 0.1 µF. ±15 kV en los pines de RS-232; el MAX3232 sin «E» no los tiene (P-5) | +| C23, C35, C40, C41, C101, C102, C118, C119, C120, C122 | 22 µF 0805, C86817 (Murata 16 V, Extended, 4 144) | **C45783** (Samsung 25 V, Basic, 2.57 M) | Con 10 por tarjeta, C86817 alcanza para 414 tarjetas. Todos están en rieles de 5 V o menos; C118 y C23 pasan a decir «22uF/25V» | +| C100, C125 (+ Cbst1 en V5.6) | 10 nF 0603, C1589 (Extended) | **C57112** (Basic, mismo 50 V X7R) | CCOMP2 ya usaba C57112. La auditoría (P-6) pedía unificar al revés | +| C22 | etiqueta «22uF/50V» | **«10uF/50V»** | La pieza C138687 es de 10 µF/50 V: se monta lo mismo, solo cambia la etiqueta (P-6) | +| R1, R40, R102, R103, R107, R111, Rmled1 | 1 kΩ 5 %, C14676 (Extended) | **C21190** (1 %, Basic) | — | +| Rdfu1, Rig1, Rig2 | 22 kΩ 5 % 50 V, C88614 (Extended) | **C31850** (1 % 75 V, Basic) | Rig1 recibe la ignición cruda: más margen de voltaje, y el divisor de PA5 (Rig1 contra Rig2 ∥ Rigb1) queda todo a 1 % (umbrales de E-7) | +| R92–R95 | 49.9 Ω película delgada, C218051 (Extended) | **C23185** (1 %, Basic) | Terminaciones de Ethernet: una de película gruesa al 1 % basta | +| D6 | 1N4148W, C2099 (Extended) | **C81598** (Basic, mismo SOD-123) | Diodo de la bobina de K1 (5 V): 75 V sobran | +| R86 (+ Rcomp1 en V5.6) | 40.2 kΩ, C209139 (2 472 en existencia) | **C12447** (Preferred, 1 %) | Compensación: misma tolerancia y coeficiente | +| C123 | 68 pF C0G, C1680 | **C28262** (Preferred, C0G) | — | + +**Costo.** JLC cobra US$3 por cada pieza Extended distinta en cada pedido; las Preferred no pagan en PCBA +económico. Quitar 6 Extended (a Basic) y 2 (a Preferred) ahorra de US$18 a US$24 en cada pedido de cada tarjeta. El +TRS3232E ahorra ≈ US$277 en las 430 de producción (precio de 500 piezas). Lo más importante, sin embargo, es la +existencia: C86817 y C209139 no alcanzaban para las 430. + +**Lo que no cambia, a propósito.** DZG1 y D5 son de protección y se quedan. THVD1410DR por SP3485 (U14, P-5) sigue +en la pre-orden: JLC tiene poca existencia y las pre-órdenes esperan al pago (t-preordenes-v6). + +!!! note "Lo que se pierde con la TVS bidireccional" + Un pico negativo en la entrada ya no se recorta a −1 V: ahora se recorta a −37…−53 V. Q10 (IRFR5305, 55 V) + queda con menos margen ante picos negativos. Con la entrada de 24 V regulada del gabinete (DDR-60G-24), el caso + real es el arnés al revés, y ese es el que resuelve la SMBJ33CA. Si alguna V5.7 se conecta directo a la batería + de una máquina, sin gabinete, hay que revisarlo. En el banco del piloto se prueba la polaridad invertida + (t-v57-banco-prototipos). + +## 2. Cobre: la ignición cruda se aleja de las señales + +![T42a: /IGN_IN en In1, la vía de Rig1 y la segunda vía de /SYS5V](img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png) + +`/IGN_IN` es el cable de ignición de la máquina, de 12 a 32 V y con transitorios. Entra por P1.3, recorre 116 mm por +In1 y solo alimenta a Rig1 (22 kΩ), así que lleva ≈ 1 mA (1.3 mA a 32 V). El ancho no importa; la separación sí. + +| Qué | Antes (13:00) | Con T42a | +|---|---|---| +| /IGN_IN en In1 (15 tramos, las dos tarjetas) | 1.0 mm. A 0.15 mm de /MODEM_LED_MCU y de una vía de GND; 6 puntos por debajo de 0.5 mm (/NTC_CELL, /USB_DP, vías de GND) | **0.3 mm**; holgura mínima **0.54 mm** (V5.6) / **0.547 mm** (V5.7) | +| Vía de /IGN_IN junto a Rig1 y tramo de F.Cu a Rig1.1 | (131.605, 54.40), tramo de 1.0 mm. A 0.15 mm de /VEH5V en B.Cu (V5.6) y de una vía de GND | **(131.605, 54.75)**, tramo de **0.5 mm**. Mínima **0.30 mm** (/NTC_CELL en In2); lo demás, de 0.397 mm para arriba | +| Vía de /IGN_IN junto a P1 (178.795, 126.845) | la cubría la pista de 1.0 mm | tramo de 0.34 mm en In1 hasta la pista angosta, para que KiCad la siga viendo conectada | +| V5.7, E-11: /SYS5V hacia D12 (diodo de entrada del LDO del MCU), C101 y el EN de U12 | una sola vía 0.6/0.3 en (146.365, 86.96) | **segunda vía** en (146.365, 86.15) con tramo de 0.5 mm en B.Cu; queda a 0.225 mm de /MAIN5V (también de 5 V) | + +No se movió ninguna pieza. E-10 (las dos vías en serie de la entrada de U25) se queda para la siguiente revisión: a +24 V lleva 0.7 A y no hay lugar para una tercera sin mover cobre de la fuente. + +## 3. Cómo se probó + +- **Script:** `kicad/tools/t42a_v5_quickwins.py`. Por omisión corre en seco. Antes de escribir revisa que cada + campo, pista y vía sea la auditada; calcula holguras sin bibliotecas externas; no se aplica dos veces y deja + respaldo `.T42abak`. Con `--solo-bom` hace solo la §1. +- **En la Mac** (Python 3.14), sobre copias de los archivos de las 13:00, la salida es byte a byte igual a la de la + prueba en la nube (V5.6 `d470bd94` / `d1faf4e0`, V5.7 `68a3d9e2` / `921849d5`). Con `--solo-bom` y después sin él + se llega a los mismos archivos. Ya rellenados con `kicad-cli … --save-board` quedan en `b1313cd1` (V5.6) y + `4e0a40f6` (V5.7), iguales en dos corridas independientes. +- **DRC** con `kicad-cli` 10.0.4, rellenado y paridad (`--severity-all`): + - V5.6: 99 = 99 (los 3 errores de MOD1 y 96 avisos); V5.7: 101 = 101. + - 0 sin conectar y paridad 13 = 13 (PWR_FLAG). Ningún aviso nuevo: no hay vías ni pistas colgando. + - Con `--solo-bom` sale igual. +- **BOM regenerado desde el PCB:** las mismas 226 / 229 piezas, en 107 / 115 renglones en lugar de 108 / 116 (los + 10 nF quedan en uno). Solo cambian los renglones de la §1. +- **Gerber** (`kicad-cli`, mismas opciones que `verify_mac.sh`) contra el de los archivos de las 13:00: + - Máscaras, pasta, serigrafía, contorno y NPTH: idénticos (las vías van tapadas). + - PTH: V5.6, 1 barreno movido; V5.7, 1 movido y 1 nuevo. + - Cobre: cambia solo junto a lo tocado (F.Cu 2.2 mm², In1 80 mm² a lo largo de /IGN_IN, In2 y B.Cu < 1.5 mm²). + Fuera de eso hay astillas de menos de 0.001 mm² (ruido del rellenado). +- **Copias:** `kicad/_to_delete/audit-20261022/qw/` (`t42a-v56`, `t42a-v57`, `t42a-bom-*`, `t42a-final-*`, `gerb-*`). + +## 4. Hallazgo: la clase HV24 solo atrapa `/24V_IN` (T42b) + +En los dos `.kicad_pro`, los patrones de HV24 son `/24V_IN`, `24V`, `IGN_IN` y `Q10_GATE`. KiCad compara contra el +nombre completo de la red, que empieza con «/», así que solo `/24V_IN` entra a la clase. Las otras clases (PWR_HI, +PWR_MID) tienen cada patrón con y sin diagonal; HV24 no. La auditoría vio dos redes (E-15); son más: + +| Red de 24 V | V5.6 | V5.7 | Hoy se revisa a | +|---|---|---|---| +| `/24V`, `/IGN_IN`, `/Q10_GATE` | Default | Default | 0.15 mm | +| `/VIN_FUSED`, `/SW_PWRIN`, `/BOOT_PWRIN` | — | Default | 0.15 mm | +| `/SW_FAN`, `/BST_FAN` (nodo del buck del ventilador) | PWR_MID / Default | — | 0.15 mm | + +A ≤ 32 V, IPC-2221 pide de 0.05 a 0.13 mm, así que **no es un riesgo eléctrico para el piloto**. El problema es otro: +la regla de 0.5 mm que el equipo puso después del corto del 23-jul no se estaba aplicando a esas redes, y nadie lo +sabía. Con los patrones corregidos y las reglas de la v6 (F-01: 0.2 entre redes HV24, 0.3 mm en las caras y 0.5 mm en +capas internas), el DRC da **28 errores de holgura en la V5.6 y 27 en la V5.7; con T42a bajan a 14 y 15**. Los que +quedan son T42b: + +- **V5.6:** + - `/24V` en F.Cu junto a U2 contra GND: 6 puntos de 0.15 a 0.24 mm. + - `/24V` en In2 contra 3 vías: de 0.39 a 0.495 mm. + - Cbst1 contra `/SW_FAN`: 0.177 mm (entre redes HV24 se piden 0.2). + - La vía de `/IGN_IN`: 0.30 mm de `/NTC_CELL` en In2 y 0.397 mm de dos vías de GND. + - Una isla de GND en F.Cu que se separa (vía de costura). +- **V5.7:** + - `/EN_PWRIN` pasa a 0.15–0.28 mm de `/24V` junto a C150 y R124 (10 puntos). Es el pendiente con más consecuencia: EN de U25 aguanta 8.4 V como máximo. + - Dos vías de GND junto al `/24V` de B.Cu: 0.15 y 0.284 mm. + - La misma vía de `/IGN_IN` que en la V5.6. + - El relleno de C156 queda incompleto (*starved thermal*). + +T42b = patrones con diagonal + reglas de la v6 + esos arreglos, por script, en ≈ 1 día. Va **después** de generar el +paquete del piloto y **antes** de las 108/322; Michelle lo revisa en su pasada. + +## 5. D-22-7: qué entra al piloto (decide Leo) + +| Opción | Qué entra | Qué cambia en el paquete | Costo | +|---|---|---|---| +| **(a) T42a completo — recomendada** | §1 y §2 | Gerber (solo lo de §3), BOM y CPL | ≈ 40 min de Leo; el piloto prueba lo mismo que se va a fabricar en las 108/322 | +| (b) Solo el BOM (`--solo-bom`) | §1 | BOM y CPL; el Gerber auditado queda igual | ≈ 20 min; el cobre de /IGN_IN y E-11 se va a las 108/322 sin pasar por el piloto | +| (c) Solo D10, como la auditoría | D10 = C83325 | BOM | 5 min; las 108/322 llevarán un BOM que nadie probó | + +**Por qué (a).** El piloto debe ser la tarjeta de producción. Los cambios son chicos, el DRC queda igual y el +Gerber solo cambia donde se tocó. Además el pedido ya espera por otras razones. + +**Pasos de (a)** (KiCad cerrado; en la carpeta `03-Architecture-Hardware/kicad/` de la Mac): + +```bash +python3 tools/t42a_v5_quickwins.py hbox-watchdog-v5 # en seco: debe terminar en «PRUEBA EN SECO OK» +python3 tools/t42a_v5_quickwins.py hbox-watchdog-v5 --apply +python3 tools/t42a_v5_quickwins.py hbox-watchdog-v57 --apply +K=/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli +$K pcb drc --schematic-parity --refill-zones --save-board --severity-all --format json -o /tmp/drc56.json hbox-watchdog-v5.kicad_pcb +$K pcb drc --schematic-parity --refill-zones --save-board --severity-all --format json -o /tmp/drc57.json hbox-watchdog-v57.kicad_pcb +``` + +1. Cada DRC debe dar lo mismo que hoy: 3 errores (MOD1), 0 sin conectar y 13 de paridad (PWR_FLAG). +2. `shasum -a 256 hbox-watchdog-v5.kicad_pcb hbox-watchdog-v57.kicad_pcb` debe empezar con **`b1313cd1`** (V5.6) y + **`4e0a40f6`** (V5.7). Son exactamente los archivos que se probaron dos veces en la Mac (DRC y Gerber de la §3), así + que esa comparación ya es la re-verificación que pide la auditoría. Si no coinciden, parar y avisarle a Claude + (`verify_mac.sh` + `gcmp_b.py`). +3. Abrir cada tarjeta y correr el *Fabrication Toolkit* para regenerar `HBOX_v5_Rev6_PROD` y `HBOX_v5_Rev7_PROD` + (Gerber, BOM y CPL). En el BOM nuevo, D10 dice C83325, U15 dice C308878 y hay 107 / 115 renglones. +4. Hacer el commit de `kicad/` (con `production/`) y el push. +5. Pedir con las 3 condiciones de la auditoría y los cambios de la §6 en el visor. + +## 6. Correcciones a la auditoría final, para no pedir con el código equivocado + +- **D10:** usar **C83325** (Littelfuse SMBJ33CA). C8838 no está en la base de JLC y C2688178 (WPMtek) tenía 39 + piezas. Alternativas: C19077587 (Preferred, hongjiacheng) o C114000 (MDD). +- **10 nF:** se unifican en **C57112** (Basic), no en C1589 (Extended); los dos son 0603 50 V X7R. +- **Visor de JLC:** + - Agregar el pin 1 de U15: el TRS3232E es pieza nueva en el pedido. + - D10 ya no tiene polaridad, aunque se sigue colocando en su huella. + - D6 cambia de fabricante: revisar su cátodo, que ya está en la lista. + +## Cómo se hizo + +- **Insumos:** los archivos de la Mac de las 13:00, la auditoría final, su protocolo y las hojas de datos. + TPS54360B: EN 8.4 V como máximo. TRS3232E: mismo pinout que el MAX3232. +- **Piezas:** se consultaron en la base local de JLC (1-ago) y en la página de ayuda de JLC (cargo de Extended y + Preferred). +- **Netlist:** se sacó de los pads del PCB. Así se confirmó el riel de cada capacitor de 22 µF y que `/IGN_IN` solo + llega a Rig1 y a P1.3. +- **Holguras:** el script las calcula y las confirma el DRC de `kicad-cli` 10.0.4. El rellenado y el Gerber se + compararon contra los archivos de las 13:00. +- **Archivos de trabajo:** + - Script: `kicad/tools/t42a_v5_quickwins.py`. + - Figura: `img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png`. + - Pruebas: `kicad/_to_delete/audit-20261022/qw/`. diff --git a/03-Architecture-Hardware/img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png b/03-Architecture-Hardware/img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png new file mode 100644 index 0000000..c6d5ed8 Binary files /dev/null and b/03-Architecture-Hardware/img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png differ diff --git a/03-Architecture-Hardware/img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png b/03-Architecture-Hardware/img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png new file mode 100644 index 0000000..aa9d9af Binary files /dev/null and b/03-Architecture-Hardware/img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png differ diff --git a/03-Architecture-Hardware/kicad b/03-Architecture-Hardware/kicad index 5c24f50..7883799 160000 --- a/03-Architecture-Hardware/kicad +++ b/03-Architecture-Hardware/kicad @@ -1 +1 @@ -Subproject commit 5c24f50b6ed2b6b10c688316315f8fd65a53064a +Subproject commit 7883799e36d67e5bfa0cdb1f370dfad0c120aa14 diff --git a/CLAUDE.md b/CLAUDE.md index fb849b6..d47f7e6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -465,6 +465,7 @@ bootloader + receiver and is not flashed until the FOTA 4 bench matrix passes; F Canonical: `02-Architecture-Software/2026-10-22_Drogheda_FOTA-por-4G_Factibilidad_ES_v1.0.md` (site `hardware/fota-4g-factibilidad/`); figure `02-Architecture-Software/img/2026-10-22_Drogheda_FOTA-4G-Caminos-por-Tarjeta_v1.0.png` (paths per board + common flash map); lote `2026-10-22_fota-4g`. +**V5.6/V5.7 quick wins — T42a (2026-10-22, 17:00; Leo: «quick wins to make this board epic based on the audit files»).** `kicad/tools/t42a_v5_quickwins.py` (dry run by default; `--solo-bom`; drift checks on every field, track and via; idempotent; keeps the pristine `.T42abak`) — **tested on copies only, not applied (D-22-7)**. BOM (sch + pcb identical, parity unchanged): D10 SMBJ33A → **SMBJ33CA C83325** (Littelfuse; the audit's C8838 is not in JLC's DB and C2688178 had 39 pcs) · U15 MAX3232 → **TRS3232E C308878** (pin-compatible, ±15 kV) · ten 22 µF C86817 (16 V, 4 144 in stock < 430 × 10) → **C45783** (Basic, 25 V) · 10 nF C1589 → **C57112** (Basic; the audit's P-6 had the direction backwards) · C22 label → 10uF/50V (C138687 is 10 µF) · 1 k → C21190, 22 k Rdfu1/Rig1/Rig2 → C31850 (1 %, 75 V), 49.9 Ω → C23185, D6 → C81598 (Basic) · 40.2 k → C12447, 68 pF → C28262 (Preferred). Copper (both boards): `/IGN_IN` (raw machine ignition, ≤ 1.3 mA through Rig1 22 k) 15 In1 segments 1.0 → 0.3 mm (min clearance on In1 0.15 → 0.54 mm); its via by Rig1 → (131.605, 54.75) + F.Cu stub 0.5 mm (0.15 → 0.30 mm, /NTC_CELL on In2); a 0.34-mm In1 stub keeps the P1-side via connected; **V5.7 E-11:** second /SYS5V via (146.365, 86.15) + 0.5-mm B.Cu stub (D12 → MCU LDO, C101 and U12 EN no longer hang on one via). Verified on the Mac (Python 3.14, byte-identical to the cloud; twice): DRC with refill + parity identical to the audit (3 MOD1 errors; 96 / 98 warnings; 0 unconnected; 13 PWR_FLAG); refilled shas **b1313cd1 (V5.6) / 4e0a40f6 (V5.7)**; Gerber vs 13:00: masks, paste, silk, outline, NPTH identical, PTH 1 hole moved (+1 new on V5.7), copper changes only at the edits; BOM 226 / 229 parts in 107 / 115 rows. **New finding (T42b):** HV24 patterns `24V`, `IGN_IN`, `Q10_GATE` lack the leading «/», so only `/24V_IN` is HV24; /24V, /IGN_IN, /Q10_GATE (+ V5.7 /VIN_FUSED, /SW_PWRIN, /BOOT_PWRIN; V5.6 /SW_FAN, /BST_FAN) are checked at 0.15 mm — not an electrical risk at ≤ 32 V (IPC 0.05–0.13 mm), but the team's 0.5-mm rule was never applied. Fixed patterns + the v6 DRU (F-01) give 28 / 27 clearance errors, **14 / 15 after T42a** (V5.6: /24V near U2, /24V on In2, Cbst1, the IGN via; V5.7: /EN_PWRIN near /24V — U25 EN abs max 8.4 V —, 2 GND vias, the IGN via) → T42b by script before the 108/322. **D-22-7 (Leo):** (a) full T42a into the pilot (recommended, ≈ 40 min: script → kicad-cli refill + DRC → sha check → Fabrication Toolkit → commit) · (b) `--solo-bom` · (c) only D10. Canonical: `03-Architecture-Hardware/2026-10-22_Drogheda_Victorias-Rapidas_V5.6-V5.7_T42a_ES_v1.0.md` (site `hardware/v56-v57-victorias-rapidas-22oct/`); figure `img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png`; test copies `kicad/_to_delete/audit-20261022/qw/`; lote `2026-10-22_t42a-v5`. --- @@ -541,7 +542,7 @@ these before presenting; if it breaks one, say so and propose the compliant fix. | `00-Project-Management` | plan, ethos, hackathon, **financials**, **handover**, client comms, Drive tooling | [[00-Project-Management/PLAN\|PLAN]] · [[00-Project-Management/Engineering-Handover\|Engineering-Handover]] · `ethos.md` · `hackathon-plan.md` · `Financials.md` · `Drive-Upload/` · `client-comms/` | | `01-Requirements` | what we build | `SRS.md` · `HBOX-product-spec.md` | | `02-Architecture-Software` | backend/software analysis, ADRs | `backend-review.md` · **`2026-10-22_Drogheda_FOTA-por-4G_Factibilidad_ES_v1.0.md`** (FOTA over 4G per board; D-22-6) | -| `03-Architecture-Hardware` | HBOX/cabinet, wiring, BOM, **watchdog PCB v3** | `hardware-respec-and-pcb-brief.md` · `cabinet-electrical-bom.md` · `watchdog-schematic.md` · `watchdog-health-telemetry.md` · `firmware-review.md` · `BOM-master.md` (+§5 Block B/E/H/I parts) · **`watchdog-pcb-v3-design.md`** (schematic spec) · `watchdog-pcb-v3-bom.xlsx` · `watchdog-pcb-v3-kicad-guide.md` (KiCad→JLCPCB) · `watchdog-pcb-v3-blockdiagram.svg` · `watchdog-protoboard-bringup.md` + `watchdog-proto-bench-bringup-v3.md` · `watchdog-connections.xlsx` (PCB pin/net list; H1 DNP; +B/H/I rows) · `watchdog-connections-rationale.md` (+§7 additions 2026-07-02) · **`watchdog-electrical-design-state.md`** (CANONICAL — read first) · **`watchdog-production-schematic-delta.md`** (PROD build spec; LTC4040 §4 values) · `kicad/` — `hbox-watchdog-v3.kicad_sch` (**DEV/proto**) · `hbox-watchdog-v3-PROD.kicad_sch/.kicad_pcb` (**PRODUCTION**: ERC 0, layout started, DRC baseline) · `Drogheda-sym.kicad_sym` (MP1584EN · LTC4040EUFD · AO4406A) · `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (**proto assumptions ledger**) · `Guia-Conexion-Protoboard/` (LaTeX source; `modulos-pinout.tex` = visual parts catalog) → `Drogheda_Guia-Conexion-Protoboard_ES_v3.1.pdf` · **`2026-07-08_Drogheda_4G-Modem-Alternatives_v1.0.md`** (XBee 2.0 mm bridge + cheap-4G survey) · `circuitikz-wiring/` (sheet + Beamer v2.1, blocks 1–11; XBee-socket 3V3 fix 07-08; **`Drogheda_Diagrama-Unico-Proto`** = todo-en-una-hoja para verificación rápida, Modo B; v1.1 07-10 agrega XBee 20-pin obligatorios VREF(14)→VCC · ON/OFF(20)→GND · GND×4 + USB config + franja de pinouts para el técnico; HiRes-300dpi.png para TV; **v1.2 07-20**: letras G/D/S·B/C/E en todos los transistores + bloque 5b Q10+DzG 15V) · **Guía v3.1** (5b Q10+Zener · 9c pines obligatorios XBee + USB · disipadores · plano 10×10) · **lista de compras reconstruida DESDE CERO** (1 tarjeta ≈MX$2,087) · `watchdog-protoboard-BOM-3boards.xlsx` + `watchdog-LISTA-DE-COMPRAS-ES.xlsx` (proto BOMs; 07-10: +BOB-08276/PRT-08272, buck «MODEM 3.3V», breakout USB-C+cable, botón/LED módem, straps VREF/ON-OFF, surtido +220R/22k) · **`2026-07-06_Drogheda_EinarBoard-1.0-PreFab-Audit_v1.0.md`** (CLOSED — Rev 1.1 fixes) · `Assembly-BOM-Split.md` + `LCSC-search-list.md` (verified LCSC) + `JLCPCB-Order-Guide.md` (ordering runbook) · `harness-connector-pinout.md` + `Socket-Pinout-Silkscreen.md` · **`EinarBoard-Manual/`** (Rev 1.1 order-prep pack: `einarboard-manual.tex` → branded PDF · `helgen_einarboard_1.0_production_bom.xlsx` · `tools/generate_production_bom.py` + `tools/sync_bom.py` Excel→LaTeX BOM sync) — plus repo-root `scripts/prep_order_release.sh` (safe cleanup + release commit) · **`2026-10-16_Drogheda_Auditoria-Produccion_V5.6-V5.7-v6_ES_v1.0.md`** (production audit + comparison table) + `2026-10-16_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-3_ES.md` · `kicad/tools/t25_mounting_holes_v55.py` (restores the 7 V5.5 holes) · `kicad/tools/t27_paso1_2_mh11_rs1_kelvin.py` (MH11 out + RS1 Kelvin, V5.6/V5.7) · `kicad/tools/t28_v6_mecanicos.py` (v6: U25 part code, stackup, U6 paste) · `kicad/tools/t30_v56_v57_mecanicos.py` (V5.6/V5.7 mechanical fixes, 19-oct) · `kicad/tools/t31_c129_vsys_quitar_dbk2.py` (V5.6/V5.7 schematic: C129 at U6 VSYS + Dbk2 out, 20-oct) · `kicad/tools/t32_c130_vin_u7.py` (V5.6/V5.7 schematic: C130 at U7 VIN, 21-oct) · `kicad/tools/t33_v56_v57_auditoria_21oct.py` (V5.6/V5.7 PCB fixes from the 21-oct audit) · `kicad/tools/t34_v56_pasada6.py` + `t35_v56_via_u7.py` (V5.6 pass 6) · `kicad/tools/t36_v57_pasada6.py` + `t37_v57_c129_gnd.py` (V5.7 pass 6) · `kicad/tools/t38_v6_courtyards_mh.py` (v6: courtyards of the 11 easyeda2kicad footprints + library, MH6 `/3V3` to B.Cu, 4-mm MH rule in the `.kicad_dru`) · `kicad/tools/t39_v6_bloque_a.py` (v6 block A, proposal α: D34/L22/R53/R54 moved, SW + VEH5V tracks, In1/In2 cleared, MH8 free) · `kicad/tools/t40_v6_mh4.py` (v6 MH4 free: D23/D24 moved, SIM_CLK via In1, SIM_RST above D25, NTC around the hole, TVS + U19.92/94 GND vias) · `2026-10-16_Drogheda_Auditoria-Produccion_v6_ES_v1.0.md` + `2026-10-16_Drogheda_Plan-Fines-de-Semana_v6-Produccion_ES.md` (v6 audit + weekend plan, rev 1.5) · **`2026-10-19_Drogheda_Re-Auditoria_V5.6-V5.7-v6_ES_v1.0.md`** (re-audit of all three) + `2026-10-19_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-4_ES.md` · **`2026-10-19_Drogheda_V5.6_Clasificacion-Criticos_ES_v1.0.md`** (V5.6 critical vs. can-stay; C129) · **`2026-10-21_Drogheda_Auditoria-Pasada-4_V5.6-V5.7_ES_v1.0.md`** (audit of pass 4, T32/T33 results, pass-5 review, pass 6 done by Claude with T34–T37 + D-21-2) · **`2026-10-21_Drogheda_Estado-v6-T25-T28_ES_v1.0.md`** (v6 state, rev 1.3 of 22-oct: T25 + T28 + T38 + **T39 block A** + **T40 MH4** applied, MH rule, D-22-4; figures `img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png` + `img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png`) · **`2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.md`** (FINAL production audit of the V5.6/V5.7 fab packages: GO pilot 5 + 5 with 3 order conditions, NO-GO 108/322 until bench with 0.7.0; 30 findings, 16 risks) + `…_Protocolo_ES_v1.0.md` (the audit protocol / "reprompt") + **`Auditoria-Final-V56-V57/`** (LaTeX sources → 33-pp PDF + 19-frame Beamer; `fig/`; `scripts/` gerb.py · gcmp.py · netparse.py · copper.py · riesgos.py) · `img/2026-10-22_Drogheda_*.png` (8 figures) | +| `03-Architecture-Hardware` | HBOX/cabinet, wiring, BOM, **watchdog PCB v3** | `hardware-respec-and-pcb-brief.md` · `cabinet-electrical-bom.md` · `watchdog-schematic.md` · `watchdog-health-telemetry.md` · `firmware-review.md` · `BOM-master.md` (+§5 Block B/E/H/I parts) · **`watchdog-pcb-v3-design.md`** (schematic spec) · `watchdog-pcb-v3-bom.xlsx` · `watchdog-pcb-v3-kicad-guide.md` (KiCad→JLCPCB) · `watchdog-pcb-v3-blockdiagram.svg` · `watchdog-protoboard-bringup.md` + `watchdog-proto-bench-bringup-v3.md` · `watchdog-connections.xlsx` (PCB pin/net list; H1 DNP; +B/H/I rows) · `watchdog-connections-rationale.md` (+§7 additions 2026-07-02) · **`watchdog-electrical-design-state.md`** (CANONICAL — read first) · **`watchdog-production-schematic-delta.md`** (PROD build spec; LTC4040 §4 values) · `kicad/` — `hbox-watchdog-v3.kicad_sch` (**DEV/proto**) · `hbox-watchdog-v3-PROD.kicad_sch/.kicad_pcb` (**PRODUCTION**: ERC 0, layout started, DRC baseline) · `Drogheda-sym.kicad_sym` (MP1584EN · LTC4040EUFD · AO4406A) · `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (**proto assumptions ledger**) · `Guia-Conexion-Protoboard/` (LaTeX source; `modulos-pinout.tex` = visual parts catalog) → `Drogheda_Guia-Conexion-Protoboard_ES_v3.1.pdf` · **`2026-07-08_Drogheda_4G-Modem-Alternatives_v1.0.md`** (XBee 2.0 mm bridge + cheap-4G survey) · `circuitikz-wiring/` (sheet + Beamer v2.1, blocks 1–11; XBee-socket 3V3 fix 07-08; **`Drogheda_Diagrama-Unico-Proto`** = todo-en-una-hoja para verificación rápida, Modo B; v1.1 07-10 agrega XBee 20-pin obligatorios VREF(14)→VCC · ON/OFF(20)→GND · GND×4 + USB config + franja de pinouts para el técnico; HiRes-300dpi.png para TV; **v1.2 07-20**: letras G/D/S·B/C/E en todos los transistores + bloque 5b Q10+DzG 15V) · **Guía v3.1** (5b Q10+Zener · 9c pines obligatorios XBee + USB · disipadores · plano 10×10) · **lista de compras reconstruida DESDE CERO** (1 tarjeta ≈MX$2,087) · `watchdog-protoboard-BOM-3boards.xlsx` + `watchdog-LISTA-DE-COMPRAS-ES.xlsx` (proto BOMs; 07-10: +BOB-08276/PRT-08272, buck «MODEM 3.3V», breakout USB-C+cable, botón/LED módem, straps VREF/ON-OFF, surtido +220R/22k) · **`2026-07-06_Drogheda_EinarBoard-1.0-PreFab-Audit_v1.0.md`** (CLOSED — Rev 1.1 fixes) · `Assembly-BOM-Split.md` + `LCSC-search-list.md` (verified LCSC) + `JLCPCB-Order-Guide.md` (ordering runbook) · `harness-connector-pinout.md` + `Socket-Pinout-Silkscreen.md` · **`EinarBoard-Manual/`** (Rev 1.1 order-prep pack: `einarboard-manual.tex` → branded PDF · `helgen_einarboard_1.0_production_bom.xlsx` · `tools/generate_production_bom.py` + `tools/sync_bom.py` Excel→LaTeX BOM sync) — plus repo-root `scripts/prep_order_release.sh` (safe cleanup + release commit) · **`2026-10-16_Drogheda_Auditoria-Produccion_V5.6-V5.7-v6_ES_v1.0.md`** (production audit + comparison table) + `2026-10-16_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-3_ES.md` · `kicad/tools/t25_mounting_holes_v55.py` (restores the 7 V5.5 holes) · `kicad/tools/t27_paso1_2_mh11_rs1_kelvin.py` (MH11 out + RS1 Kelvin, V5.6/V5.7) · `kicad/tools/t28_v6_mecanicos.py` (v6: U25 part code, stackup, U6 paste) · `kicad/tools/t30_v56_v57_mecanicos.py` (V5.6/V5.7 mechanical fixes, 19-oct) · `kicad/tools/t31_c129_vsys_quitar_dbk2.py` (V5.6/V5.7 schematic: C129 at U6 VSYS + Dbk2 out, 20-oct) · `kicad/tools/t32_c130_vin_u7.py` (V5.6/V5.7 schematic: C130 at U7 VIN, 21-oct) · `kicad/tools/t33_v56_v57_auditoria_21oct.py` (V5.6/V5.7 PCB fixes from the 21-oct audit) · `kicad/tools/t34_v56_pasada6.py` + `t35_v56_via_u7.py` (V5.6 pass 6) · `kicad/tools/t36_v57_pasada6.py` + `t37_v57_c129_gnd.py` (V5.7 pass 6) · `kicad/tools/t38_v6_courtyards_mh.py` (v6: courtyards of the 11 easyeda2kicad footprints + library, MH6 `/3V3` to B.Cu, 4-mm MH rule in the `.kicad_dru`) · `kicad/tools/t39_v6_bloque_a.py` (v6 block A, proposal α: D34/L22/R53/R54 moved, SW + VEH5V tracks, In1/In2 cleared, MH8 free) · `kicad/tools/t40_v6_mh4.py` (v6 MH4 free: D23/D24 moved, SIM_CLK via In1, SIM_RST above D25, NTC around the hole, TVS + U19.92/94 GND vias) · `kicad/tools/t42a_v5_quickwins.py` (V5.6/V5.7 quick wins T42a: BOM with stock for 430, /IGN_IN 0.3 mm on In1, V5.7 E-11 via; `--solo-bom`) · `2026-10-16_Drogheda_Auditoria-Produccion_v6_ES_v1.0.md` + `2026-10-16_Drogheda_Plan-Fines-de-Semana_v6-Produccion_ES.md` (v6 audit + weekend plan, rev 1.5) · **`2026-10-19_Drogheda_Re-Auditoria_V5.6-V5.7-v6_ES_v1.0.md`** (re-audit of all three) + `2026-10-19_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-4_ES.md` · **`2026-10-19_Drogheda_V5.6_Clasificacion-Criticos_ES_v1.0.md`** (V5.6 critical vs. can-stay; C129) · **`2026-10-21_Drogheda_Auditoria-Pasada-4_V5.6-V5.7_ES_v1.0.md`** (audit of pass 4, T32/T33 results, pass-5 review, pass 6 done by Claude with T34–T37 + D-21-2) · **`2026-10-21_Drogheda_Estado-v6-T25-T28_ES_v1.0.md`** (v6 state, rev 1.3 of 22-oct: T25 + T28 + T38 + **T39 block A** + **T40 MH4** applied, MH rule, D-22-4; figures `img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png` + `img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png`) · **`2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.md`** (FINAL production audit of the V5.6/V5.7 fab packages: GO pilot 5 + 5 with 3 order conditions, NO-GO 108/322 until bench with 0.7.0; 30 findings, 16 risks) + `…_Protocolo_ES_v1.0.md` (the audit protocol / "reprompt") + **`Auditoria-Final-V56-V57/`** (LaTeX sources → 33-pp PDF + 19-frame Beamer; `fig/`; `scripts/` gerb.py · gcmp.py · netparse.py · copper.py · riesgos.py) · `img/2026-10-22_Drogheda_*.png` (8 figures) · **`2026-10-22_Drogheda_Victorias-Rapidas_V5.6-V5.7_T42a_ES_v1.0.md`** (quick wins T42a + HV24 netclass finding → T42b + D-22-7; figure `img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png`) | | `04-Source-Code` | firmware + backend repos | `firmware/` (**own git repo `hbox-firmware`**: `blackpillrtkcode_v2/` deploy · `legacy/` v1 · `docs/LOGGING-SPEC.md` v2.1 · **`hbox_v5_bringup/board_v56.h`** (V5.6/V5.7 pin map, 22-oct; 0.7.0 base)) · `htracker/` · `notifications/` · `rtk-config/` | | `05-Analytics-Reports` | SQL views, dashboards (VERONICA/PowerBI), **observability** | `2026-06-22_Drogheda_Manual-Logs-Grafana_v1.0.pdf` (Grafana/Loki log-consultation manual) | | `06-Testing-Validation` | RCA, diagnostics, test evidence, **log analysis & tooling** | `RCA-2026-06-field-failures.md` · `remote-diagnostic-protocol.md` · `2026-06-20_Drogheda_Bench-Log-Analysis_v1.0.md` (rev-3) · `2026-06-20_Drogheda_GNSS-Findings-Summary.md` · `log-analysis/` (repo **`hbox-log-tools`**: `log-explorer.html` · `analyze_logs.py` · `build_dashboard.py` · `docs/manual.pdf`) |