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 5cc8ab9..76ad2c6 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.3 -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) +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 audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM) --- @@ -26,6 +26,15 @@ audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana - regla de barrenos: solo GND a menos de 4 mm del centro, en las caras. - **Metas del bloque A (§3.1, paso 1) corregidas.** Las de la rev. 1.2 no se podían cumplir con D34 en SMC y esta bobina: los pads del nodo SW ya suman 33 mm², y D34 no cabe abajo del pin 8. La colocación nueva es la propuesta α: D34 entre U25 y L22, y L22 al este ([estado, §3.1](v6-estado-21oct.md#31-bloque-a-propuesta-corrige-la-rev-10)). +!!! success "Rev. 1.4 (22-oct): T39 ya hizo el bloque A" + Leo pidió el 22-oct que Claude hiciera los cambios de la v6. **T39 aplicó la propuesta α por script** ([estado de la v6, §6](v6-estado-21oct.md#6-t39-22-oct-el-bloque-a-por-script)): + + - D34 quedó en (181.08, 121.75) y L22 en (192.18, 122.5); el nodo SW y `/VEH5V` van por F.Cu; + - In1 e In2 ya no llevan pistas bajo la fuente; + - MH8 quedó libre. + + 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. + **Dos metas:** | Meta | Qué significa | Fecha objetivo | @@ -113,25 +122,25 @@ Qué cambia T28: U25 sin el código del AP64350 · pasta del EP de U6 al 50 % · ### 3.1 Fuente U25 (bloque A) -1. **Nodo SW corto** (metas corregidas el 21-oct en la noche). Colocación: la **propuesta α** del [estado de la v6, §3.1](v6-estado-21oct.md#31-bloque-a-propuesta-corrige-la-rev-10): D34 girado 90° en (181.0, 121.75) y L22 en (192.1, 122.5), después de llevar R53/R54 junto a U6 (§3.2, paso 6). Metas: +1. **Nodo SW corto** (metas corregidas el 21-oct en la noche). ✅ **Hecho con T39 (22-oct):** 3.52 mm · 8.79 mm · 9.8 mm² · 60.8 mm² (56.5 con C149) · In1/In2 sin pistas ([estado, §6.2](v6-estado-21oct.md#62-metas-del-bloque-a)). Colocación: la **propuesta α** del [estado de la v6, §3.1](v6-estado-21oct.md#31-bloque-a-propuesta-corrige-la-rev-10). Quedó D34 girado 90° en (181.08, 121.75) y L22 en (192.18, 122.5), 0.08 mm al este de lo propuesto para no encimar a C152. Metas: - cátodo de D34 a **≤ 3.5 mm del pin 8** de U25, de orilla a orilla (hoy 13.0); - pad 1 de L22 a **≤ 9 mm del pin 8** (hoy 2.2): D34 va en medio; - cobre de `/SW_PWRIN` (pin 8 → C152.2 → D34.1 → L22.1) en **≤ 10 mm² fuera de los pads**. Los pads ya suman 33 mm², así que la meta anterior de «≤ 25 mm² en total» no se podía cumplir; - lazo por centros de pad C150 → U25 → D34 en **≤ 60 mm²** (hoy 115); - nada por In1 ni In2 debajo del nodo SW ni de L22. -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.** +2. **Capacitores de entrada.** C149 y C150 con su pad de `/VIN_PROT` a **≤ 2 mm del pin 2**. Con T39 están a 0.75 y 2.31 mm. C150 queda así: es la segunda, y C149 está pegada al pin 2. La tierra de C149, C150 y el ánodo de D34 ya es una sola isla sin cuellos; el EP de U25 se une por cuellos de menos de 1 mm, porque entre U25 y C152 no cabe el paso. 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.** ✅ Con T39 (22-oct). - 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. +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. ✅ Con T39 va por B.Cu, debajo de los planos de GND. 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. +1. **C153/C154/C78 pegados a L22.2.** `/VEH5V` de L22.2 a RS1.1 en **F.Cu de ≥ 2 mm** (o polígono). 🟡 Con T39, de L22.2 a R51.1 ya va de 2 mm; de R51.1 a RS1 sigue de 1.0 mm. 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. @@ -142,7 +151,7 @@ Qué cambia T28: U25 sin el código del AP64350 · pasta del EP de U6 al 50 % · - 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. +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. 🟡 **T39 (22-oct)** las llevó abajo de JP2. Están a 3.4 mm de U6.10 y a 6–7 mm de U6.18, y ya no hay `/VFB_BST` por In1 bajo la fuente. Falta acercarlas a U6.18 y quitar el tramo de In1 que queda debajo de U6. 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) @@ -161,13 +170,13 @@ Qué cambia T28: U25 sin el código del AP64350 · pasta del EP de U6 al 50 % · - 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):** ✅ 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):** al mover D34 (§3.1), borrar las 2 vías de GND de (194.6, 133.7) y (196.2, 133.7). +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`. 5. **No mover los barrenos:** son los de la placa base de la V5.5. ### 3.5 Cierre del sábado -- [ ] DRC: **0 errores** y 0 sin conectar. Desaparecen los 28 de MH4, los 10 de MH8 y el encime de C153 con L22. 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; 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)). - [ ] 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 1587614..f0ca2e1 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,31 +1,50 @@ --- -title: "Estado de la v6 al 21-oct: T25, T28 y T38 aplicados" -tags: [project-drogheda, hardware, hbox, einarboard, v6, auditoria, t25, t28, t38, courtyards, barrenos, u25, layout, michelle] +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] project: Project Drogheda author: Helgen Technologies (revisión: Claude; pedido: Leo) -date: 2026-10-21 -version: 1.1 -status: ACTIVO — HBox_PCB 9255b84 (Michelle, 21-oct 18:14) + T25/T28 + T38 (Claude, 21-oct noche) · falta commit y push de T38 +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 audience: Leo, Michelle (layout) --- -# Estado de la v6 al 21-oct · T25, T28 y T38 aplicados +# Estado de la v6 al 22-oct · T25, T28, T38 y T39 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.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:** + - 0 sin conectar y la misma paridad (19 PWR_FLAG); + - **44 errores**: ≈ 33 de MH4 y 11 encimes de courtyard que son solo de margen; + - ya no están MH8 ni los 3 encimes reales del bloque A. + - **Falta el commit y el push de T39.** Hasta entonces, Michelle no abre la v6 (recuadro amarillo del §1). !!! note "Rev. 1.1 (21-oct, noche): T38 y una corrección al §3" - **T38 ya está aplicado en la v6.** Antes lo probé en una copia con el DRC de KiCad 10. Hace tres cosas: courtyards reales en 11 huellas, `/3V3` lejos de MH6 y una regla nueva para los barrenos. Detalle en el [§5](#5-t38-21-oct-noche-courtyards-mh6-y-regla-de-barrenos). - **Corrección.** En la rev. 1.0 escribí que L22 se quedaba donde está y D34 iba abajo del pin 8 de U25. **Ahí no cabe:** entre U25 y P1 quedan 4.1 mm, y D34 (SMC) mide 6.7 mm aun de lado. El [§3](#3-lo-que-tiene-que-corregir-michelle-antes-de-seguir) ya trae la colocación que sí cabe (propuesta α), revisada con los courtyards nuevos. -**Respuesta corta:** +**Respuesta corta (22-oct):** -- **T25 y T28** ya están aplicados (21-oct, tarde). -- **T38 (21-oct, noche):** - - Las 11 huellas que vienen de easyeda2kicad tenían un courtyard que solo cubría el cuerpo, sin los pads. Ya se corrigieron. Con eso salieron 14 encimes: 13 son solo de margen y 1 es real (C153 debajo de L22). - - Hallazgo nuevo: el plano `/3V3` de B.Cu llegaba a 1.85 mm del centro de los 5 barrenos, que tienen máscara abierta de 6 mm. Quedaba cobre de 3.3 V desnudo justo donde se apoya el separador. La regla nueva lo aparta a 4.0 mm. - - MH6 ya quedó libre. -- **La v6 todavía no se puede pedir.** Falta el bloque A: D34 lejos del pin SW, lazo caliente ≈ 115 mm². También falta liberar MH4 y MH8. -- **DRC de hoy, con T25, T28 y T38:** 52 errores, todos conocidos: 28 en MH4, 10 en MH8 y 14 encimes de courtyard. 0 sin conectar; la paridad solo marca los 19 PWR_FLAG; los avisos no cambiaron. +- **T25, T28 y T38** ya están en HBox_PCB: `b74b96f`, que Leo subió el 22-oct a las 09:42. +- **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; + - el lazo por centros de pad mide 56.5 mm² con C149 (antes ≈ 115); + - 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; + - 0 sin conectar y la paridad solo con los 19 PWR_FLAG; + - 254 avisos, 8 menos que antes. + +![v6 con T39: el bloque A, la fuente U25, por script](img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png) + +**Así estaba el 21-oct, antes de T38 y T39:** ![v6 al 21-oct: la fuente U25 y los barrenos](img/2026-10-21_Drogheda_v6-Estado-U25-Barrenos_v1.0.png) @@ -36,6 +55,7 @@ audience: Leo, Michelle (layout) | **T25 `--set v6`** | **5 barrenos** de 3.2 mm con máscara de 6 mm: MH5 (65.2, 45.3), MH6 (65.2, 135.3) y MH4 (185.2, 90.3), los de la placa base de la V5.5, más MH7 (195.2, 45.3) y MH8 (195.2, 135.3) en las esquinas. Van como piezas «solo de tarjeta», así que *Actualizar PCB* ya no los borra. | | **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). | **Cómo se probó.** @@ -43,24 +63,25 @@ audience: Leo, Michelle (layout) - sin los scripts: 0 errores; - 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`). - 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" - T38 cambia `hbox-watchdog-v6.kicad_pcb`, `.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.** + 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.** ## 2. Los 8 bloqueantes del 16-oct, hoy -Medido en el cobre con las zonas rellenadas. «19-oct» = `00a9af4`; «hoy» = `9255b84` con T25, T28 y T38. +Medido en el cobre con las zonas rellenadas. «19-oct» = `00a9af4`; «hoy» = `b74b96f` (T25, T28 y T38) con T39. | # | 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 y MH7 libres (MH6 con T38) · **MH4 y MH8 con piezas y cobre dentro** (38 errores) | 🟠 liberar MH4 y MH8 | -| 3 | 5 V por capas internas | `/VEH5V` 12 mm por In1 a 0.5 mm; `/VIN_SW` 22 mm por In2 | `/VEH5V` de L22 a RS1 **todo en F.Cu de 1.0 mm, sin vías**: 38 mV y +11 °C a 2.5 A (meta ≥ 2 mm). `/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 | +| 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 | +| 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 | L22 a 2.2 mm · 6 vías en el EP ✅ · C149 a 0.75 mm de VIN ✅ · **D34 a 13 mm del pin SW** (antes 3.8) ❌ · **lazo caliente ≈ 115 mm²** (antes ≈ 47) ❌ · **C153 0.3 mm debajo del cuerpo de L22** (lo destapó T38) ❌ | 🔴 regresión en D34 | +| 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) | 111: 1 bajo U19 y 0 bajo U18; In1 con 1 656 mm de pistas | ❌ | +| 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) | ❌ | | 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. @@ -77,6 +98,15 @@ Medido en el cobre con las zonas rellenadas. «19-oct» = `00a9af4`; «hoy» = ` Después del `git pull`. Primero esto y luego el resto de los bloques A y B del [plan](v6-plan-fines-de-semana.md#3-sabado-24-bloques-a-y-b-el-camino-de-la-energia). +!!! success "22-oct: el §3.1 ya quedó con T39 y MH8 también" + T39 hizo la propuesta α ([§6](#6-t39-22-oct-el-bloque-a-por-script)). Lo de abajo queda como registro de lo que se pidió. Cambió en tres cosas: + + 1. **D34 y L22 quedaron 0.08 mm más al este:** D34 en (181.08, 121.75) y L22 en (192.18, 122.5). Así el courtyard de D34 ya no encima al de C152. + 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. + ![v6 con T38: courtyards reales, la fuente U25 y los barrenos](img/2026-10-21_Drogheda_v6-T38-Courtyards-U25-Barrenos_v1.0.png) ### 3.1 Bloque A: propuesta α (corrige la rev. 1.0) @@ -120,8 +150,8 @@ 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):** con la propuesta α, D34 sale de ahí. Hay que **borrar las 2 vías de GND** de (194.6, 133.7) y (196.2, 133.7): eran del ánodo de D34 y quedan dentro del barreno. Con eso desaparecen los 10 errores de 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)). La regla nueva hace que el DRC ya muestre todo lo que estorba (28 errores): +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. @@ -134,13 +164,13 @@ Después del `git pull`. Primero esto y luego el resto de los bloques A y B del Esos se excluyen **al final, cuando ya no se muevan las piezas**. En la ventana del DRC: clic derecho → *Excluir esta violación*, con el comentario «T38: solo margen, hueco X mm». La lista está en el [§5](#5-t38-21-oct-noche-courtyards-mh6-y-regla-de-barrenos). KiCad solo acepta la exclusión con la posición exacta del marcador, y esa solo la da su ventana: por eso no la puse con el script. -Commit y push con «v6 bloque A» en el mensaje. +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 MH6 también. 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 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: -- sábado 24: bloques A y B, empezando por el §3 de aquí; +- sábado 24: lo que queda del bloque A (Rig1 y `/24V`) y el bloque B; - domingo 25: bloques C, D y E; - entre semana: T29; - lunes 2-nov: pedido del piloto. @@ -216,10 +246,133 @@ La pista `/3V3` que rodeaba el barreno por F.Cu quedaba a 3.02 mm del centro, en Cuando quede la propuesta α, salen los 10 de MH8 y el de C153. Al liberar MH4 salen sus 28. Quedan solo los encimes de margen, que se excluyen. +## 6. T39 (22-oct): el bloque A por script + +Script: `kicad/tools/t39_v6_bloque_a.py`. + +- Requiere T38. +- 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 `.T39bak`. + +![v6 con T39: el bloque A, la fuente U25, por script](img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png) + +### 6.1 Qué cambió + +| Qué | Antes (T38) | Con T39 | +|---|---|---| +| D34 (B560C, SMC) | (192.0, 132.5), en la esquina, con su pad de GND sobre MH8 | **(181.08, 121.75)**, girado 90°, cátodo abajo | +| L22 (SRP1265A) | (185.6, 122.5) | **(192.18, 122.5)**, sin girar | +| R53/R54 (divisor BSTFB del LTC4040) | (177.0, 125.7) y (175.4, 126.9), donde va el nodo SW | **(178.25, 109.6) y (178.25, 111.1)**, abajo de JP2 | +| Nodo SW (`/SW_PWRIN`) | 7 pistas de 1.0 mm hasta la esquina | pin 8 → D34.K → L22.1 con **1.4 mm** por y = 124.4; C152.2 baja con 0.9 mm | +| `/VEH5V` de L22.2 a R51.1 | diagonal de 1.0 mm | **2.0 mm** por arriba, bajo el cuerpo de L22 | +| Vías de GND | 2 dentro de MH8 | 4 junto al ánodo de D34 · 1 más en C149 y otra en C150 (ya tienen 2 cada uno) · 1 para R54 · se borran las 2 de MH8 | +| In1 e In2 bajo la fuente | `/VFB_BST` (24 mm) y `/MAIN5V` (15 mm) por In1 hasta R53/R54 · `/I2C_SDA` (In1), `/I2C_SCL` (In2) y la toma de 5 V de R121 (In1) bajo L22 | **sin pistas.** `/VFB_BST` y `/MAIN5V` se borran porque R53/R54 se fueron. SDA, SCL y la toma de R121 van por B.Cu, abajo de los dos planos de GND. SCL se rehízo por dentro de SDA para que no se crucen | + +**Cómo se conectan R53/R54:** + +- R53.1 toma `/MAIN5V` de la vía de JP2.1. +- R53.2 y R54.1 llegan a la vía de `/VFB_BST` de (181.81, 109.54), que ya iba por In1 a U6.10 y U6.18. +- R54.2 baja a una vía de GND nueva. +- Las referencias de D34, R53 y R54 en serigrafía se reacomodaron para no caer sobre pads ni sobre otras referencias. + +### 6.2 Metas del bloque A + +| Paso del plan | Meta (rev. 1.3) | Con T39 | Antes | +|---|---|---|---| +| 1 · cátodo de D34 al pin 8 (orilla a orilla) | ≤ 3.5 mm | **3.52 mm** | 13.0 mm | +| 1 · L22.1 al pin 8 | ≤ 9 mm | **8.79 mm** ✅ | 2.2 mm | +| 1 · cobre del nodo SW fuera de los pads | ≤ 10 mm² | **9.8 mm²** ✅ | 11.6 mm² | +| 1 · lazo por centros de pad C150 → U25 → D34 | ≤ 60 mm² | **60.8 mm²** (56.5 con C149) | 114.6 mm² | +| 1 · In1/In2 bajo el nodo SW y L22 | sin pistas | **sin pistas** ✅ (el script lo revisa) | 4 redes | +| 2 · `/VIN_PROT` de C149 y C150 al pin 2 | ≤ 2 mm | C149 0.75 mm ✅ · C150 2.31 mm | igual | +| 2 · tierra de C149, C150 y D34 en una sola isla de F.Cu | sin cuellos < 1 mm | **una sola isla** ✅; el EP de U25 se une por cuellos de < 1 mm | 3 islas | +| 3 · vías de GND | EP 6 · ánodo ≥ 4 · C149/C150 ≥ 2 | 6 · **4** · 2 y 2 ✅ | 6 · 2 (dentro de MH8) · 1 y 1 | +| 4 · toma de 5 V de R121 por pista propia, lejos del nodo SW | sí | por B.Cu ✅ | por In1, bajo L22 | +| 5 · Rig1 a ≤ 3 mm de P1.3 | ≤ 3 mm | 4.79 mm ❌ (no lo toca T39) | 4.79 mm | +| 6 · `/24V` sin montar (rama de Q10) | borrarlo | sigue: hay que decidirlo en el esquemático | igual | + +**Dos medidas quedan apenas arriba de la meta.** Las dejo así: + +- **El cátodo, 0.02 mm de más.** D34 se corrió 0.08 mm al este para que su courtyard no encime al de C152. Para bajar de 3.5 mm habría que regresarlo, y entonces sí encimaría. Entre la orilla de U25 y el mínimo de 0.5 mm a la orilla de la tarjeta, C152, D34 y L22 caben justos, sin margen. +- **El lazo con C150, 0.8 mm² de más.** Con C149, que es la que está pegada al pin 2, mide 56.5. + +Con In1 como tierra sólida a 0.21 mm debajo, lo que cuenta es otra cosa: que la ida sea corta y que haya vías de GND en el ánodo de D34 y en C149/C150. Las dos se cumplen. + +**El EP de U25 no puede unirse a esa isla con cobre de 1 mm.** Entre los pines de U25 y C152 (BOOT y SW, clase HV24) no cabe el paso. Su retorno va por sus 6 vías a In1, que ya no tiene cortes debajo de la fuente. + +### 6.3 Por qué pistas y no zona + +Primero hice el nodo SW y la salida de L22 como zonas de F.Cu con prioridad 5. Funcionaban, pero cualquier zona de F.Cu con prioridad mayor que la tierra cambia el relleno de **toda** la tierra de F.Cu en KiCad 10: + +- el archivo crece 0.7 MB (de ≈ 40 000 a ≈ 65 000 puntos en el relleno); +- salen 2 errores de alivio térmico lejos de aquí, en J11.B12 y U26.1. + +Con pistas anchas el relleno de la tierra queda como estaba (lo comprobé: sin las zonas no aparece ninguno de los dos). + +**Regla para la v6:** no agregar zonas de F.Cu con prioridad sobre la tierra sin revisar el DRC de toda la tarjeta. + +### 6.4 DRC con T39 + +| | Con T38 | Con T39 | +|---|---|---| +| Errores | 52: ≈ 29 de MH4 · 9 de MH8 · 14 encimes (3 reales) | **44: ≈ 33 de MH4 · 11 encimes de margen** | +| Sin conectar | 0 | 0 | +| Paridad | 19 PWR_FLAG | 19 PWR_FLAG | +| Avisos | 262 | 254 | + +KiCad 10.0.4, `pcb drc --schematic-parity --refill-zones --severity-all --all-track-errors`. + +- **Se van:** + - los 15 de MH8: 8 de holgura, 4 de barreno a barreno, D34 dentro del barreno y 2 de serigrafía; + - los 3 encimes reales: C153 y C154 con L22, y R53 con U25; + - 2 avisos de ancho de `/MAIN5V`; + - la serigrafía de L22 sobre C153. +- **Aviso nuevo, uno:** la pista de `/MAIN5V` de 0.3 mm de la vía de JP2.1 a R53.1. La regla de PWR_HI pide 1 mm, pero por ahí pasan microamperes y junto a `/VEH5V` no cabe más ancho. +- **MH4 cambia entre corridas:** en dos corridas del mismo archivo, KiCad reporta entre 29 y 34 errores. Lo que cambia es qué pares reporta, no lo que está mal. Fuera de MH4, la v6 con y sin T39 difiere solo en lo de arriba. +- **Los 11 encimes que quedan ya estaban y son de margen:** + - U19 con Q20, Q21, TP8 y C126; + - U25 con C152, R120 y C156; + - U20 con C129, D22 con C130, D27 con U28 y J12 con L21. + + Se excluyen al cerrar el layout (pendiente `t-v6-excluir-margen`). + +### 6.5 Cómo se probó y lo que queda a la vista + +**Prueba.** + +- Copia de `b74b96f` en la Mac, con su `.kicad_pro`, `.kicad_dru`, esquemático y bibliotecas. T39 en la copia, y DRC de la copia contra la v6 sin T39. +- Antes de escribir, el script revisa: + - la holgura de todo lo nuevo o movido contra el cobre de las otras redes, con las reglas de HV24; + - la regla de 4 mm de los barrenos; + - que In1 e In2 queden limpios bajo la fuente; + - que no se pierdan UUIDs. + + La holgura más justa de lo nuevo es de 0.15 mm, la mínima. Es la que ya tenía el tramo de `/I2C_SCL` por In2 que se conserva, contra una vía de GND. +- **Conectividad.** Las 8 redes que toca (`/SW_PWRIN`, `/VEH5V`, `/VFB_BST`, `/MAIN5V`, `/I2C_SDA`, `/I2C_SCL`, `/BOOT_PWRIN` y `/VIN_PROT`) siguen en un solo grupo cada una. +- **Aplicación.** Se aplicó a la v6 de HBox_PCB y se rellenó con `kicad-cli`, con el proyecto al lado. El archivo es idéntico, byte por byte, a la copia probada (`97ea7e45`). +- **Regla D-22-3** de la [auditoría final del 22-oct](auditoria-final-22oct.md) (hallazgo P-1): el `.kicad_pcb` sube con el relleno fresco. + - La regla pide rellenar en el GUI. `kicad-cli` con el `.kicad_pro` al lado da el mismo relleno: lo comprobé en la V5.6 y la V5.7, cuyos Gerber así rellenados salen idénticos a los del Fabrication Toolkit. + - Abrir la v6, B y guardar no debería cambiar el cobre. + +**Lo que queda a la vista:** + +1. **R53/R54** quedaron a 3.4 mm de U6.10 y a 6–7 mm de U6.18. La meta del bloque B (paso 6) es ≤ 3 mm de U6.18. La toma de U6.18 sigue por la vía de In1 que ya existía, de 0.25 mm debajo de U6, y esa pista también es del bloque B. +2. **L22.2 quedó a 0.53 mm de la orilla de la tarjeta** (mínimo 0.5) y el cuerpo de L22 a 1.26 mm. **Hay que revisar la pared de la HBOX** antes del sábado. +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. + ## Cómo se hizo -- **Archivos:** HBox_PCB `9255b84` (Michelle, 21-oct 18:14) contra `00a9af4` (19-oct). El esquemático de la v6 no cambió desde el 28-sep (`d58a89ba…`). -- **Scripts:** `kicad/tools/t25_mounting_holes_v55.py --set v6`, `kicad/tools/t28_v6_mecanicos.py` y `kicad/tools/t38_v6_courtyards_mh.py`, primero en una copia y luego en los archivos de HBox_PCB. Los respaldos `.T25bak`, `.T28bak` y `.T38bak` no se suben. +- **Archivos:** + - HBox_PCB `9255b84` (Michelle, 21-oct 18:14) contra `00a9af4` (19-oct). + - Para T39: `b74b96f` (22-oct 09:42). + - 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. + - `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`. - **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/img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png b/03-Architecture-Hardware/img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png new file mode 100644 index 0000000..8917ecf Binary files /dev/null and b/03-Architecture-Hardware/img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png differ diff --git a/03-Architecture-Hardware/kicad b/03-Architecture-Hardware/kicad index 87340bf..5c24f50 160000 --- a/03-Architecture-Hardware/kicad +++ b/03-Architecture-Hardware/kicad @@ -1 +1 @@ -Subproject commit 87340bf76ff029999d9277848472f777a5b84964 +Subproject commit 5c24f50b6ed2b6b10c688316315f8fd65a53064a diff --git a/CLAUDE.md b/CLAUDE.md index 06e7ffe..75d8f73 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -356,6 +356,32 @@ primitive/XOR comparison, `netparse.py`, `copper.py` connectivity + Kelvin + cut `d-22-1-go-piloto`, `t-preorden-108-322-bom`). 0.7.0 work list: F-1 0.7.0-pre 1 day · F-2 backup cycle 3–4 days · F-3 SC16IS752 1 day · F-4 field Ethernet 2 days · F-5..F-8 2 days. +**22-oct: T39 — v6 block A done by script (Leo, 09:40: "do the changes on V6, it's the priority").** `kicad/tools/t39_v6_bloque_a.py` +(requires T38; drift-checks every part/track it touches; idempotent; `.T39bak`). Proposal α applied: D34 rot 90 at (181.08, 121.75), +L22 at (192.18, 122.5) — 0.08 mm east of the proposal so D34's courtyard doesn't hit C152's (U25|C152|D34|L22 is exactly full up to +the 0.5 mm edge rule; L22.2 copper now 0.53 mm from the edge, body 1.26 mm → HBOX wall check still open); R53/R54 to (178.25, 109.6) +/ (178.25, 111.1) under JP2 (R53.1 on the JP2.1 `/MAIN5V` via, R53.2/R54.1 on the existing `/VFB_BST` via to U6.10/U6.18, R54.2 to a +new GND via) — 3.4 mm from U6.10 but 6–7 mm from U6.18, so block B step 6 is only half done; SW node as F.Cu tracks (1.4 mm along +y = 124.4 pin 8 → D34.K → L22.1, C152.2 0.9 mm); `/VEH5V` 2 mm from L22.2 up and under the inductor body to R51.1; 4 GND vias at +D34's anode + 1 more at C149 and C150 + R54's; MH8's 2 GND vias deleted; In1/In2 cleared under the stage: `/VFB_BST` 24 mm and +`/MAIN5V` 15 mm deleted, `/I2C_SDA` re-layered to B.Cu and `/I2C_SCL` rebuilt on B.Cu inside SDA (they crossed once on one layer), +R121's 5 V sense to B.Cu. Results: D34.K 3.52 mm (target 3.5), L22.1 8.79, SW 9.8 mm² outside pads, pad-centre loop 56.5 (C149) / +60.8 (C150) vs 114.6 before; KiCad 10 DRC (refill + parity + `--all-track-errors`): 0 unconnected, parity 19 unchanged, errors +52 → 44 (≈ 33 MH4 + 11 pre-existing margin courtyards), warnings 262 → 254, one new warning (0.3 mm `/MAIN5V` tap, PWR_HI rule). +Live file refilled with kicad-cli next to the `.kicad_pro` = byte-identical to the tested copy (`97ea7e45`) → meets D-22-3 (a +project-aware CLI refill equals the GUI fill: V5.6/V5.7 CLI-refilled Gerbers are identical to the Toolkit's). Not committed yet. +Lessons: (1) **any F.Cu zone with priority above the GND pour makes KiCad 10 re-fill the whole F.Cu GND differently** (40 k → 65 k +points, +0.7 MB, 2 starved thermals far away at J11.B12/U26.1) — so the SW node/VEH5V are tracks, not zones; (2) KiCad 10 reports +a different subset of MH4 pairs on every run of the same file (29–34 errors) → compare DRCs with `--all-track-errors` and treat +MH4 counts as ± a few; (3) `device_commit_files` re-uses a cached upload for the same staged path → re-commit under a new name; +(4) zip in the mounted folder fails (temp + rename) → use `tar czf`. Still open in block A: Rig1 4.79 mm from P1.3 (≤ 3), dead `/24V` +(schematic decision), C150 2.31 mm from pin 2 (≤ 2; C149 0.75). Same day, independent check of the V5.6/V5.7 packages (agrees with +the final audit): gerbv 400-dpi XOR of every layer vs a project-aware CLI regeneration = 0; after Leo's 13:00 refill + save the saved +boards export identical Gerbers without refilling (P-1 closed for V5, not committed); extra notes: 19/18 THT parts are in the +BOM/CPL (JLC will quote THT assembly), the Toolkit upper-cases designators in BOM and CPL (consistent, no collisions), and +`production/netlist.ipc` is the V5.7 one (last run). Canonical: v6 state doc rev 1.2 §6 + plan rev 1.4; figure +`img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png`; lote `2026-10-22_t39-v6`. + **Command centre (2026-10-21, 20:00; Leo: «this is the command centre for all tasks»).** Rule and closing loop in ★ above. Built the bridge that lets Claude's tasks reach the board: `hbox-docs/backend/tablero.py` (stdlib; foto / revisar / aplicar / pendientes through the live API as `X-Remote-User: claude`; ledger @@ -444,7 +470,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` | -| `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`) · `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.3) · **`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 21-oct, rev 1.1: T25 + T28 + T38 applied, block A proposal α, MH rule) · **`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) · `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.4) · **`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.2 of 22-oct: T25 + T28 + T38 + **T39 block A** applied, MH rule; figure `img/2026-10-22_Drogheda_v6-T39-Bloque-A_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) | | `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`) | diff --git a/hbox-docs b/hbox-docs index 656b5cc..8a58719 160000 --- a/hbox-docs +++ b/hbox-docs @@ -1 +1 @@ -Subproject commit 656b5cc44b308adc1a74e2d004e293b5783a1add +Subproject commit 8a58719901b642092dafd769e095b8edfc207cf0