diff --git a/backend/lotes/2026-10-22_fota-equipo.json b/backend/lotes/2026-10-22_fota-equipo.json new file mode 100644 index 0000000..658e3c4 --- /dev/null +++ b/backend/lotes/2026-10-22_fota-equipo.json @@ -0,0 +1,19 @@ +{ + "lote": "2026-10-22_fota-equipo", + "autor": "claude", + "motivo": "Lo que FOTA necesita además del código: equipo de banco (ST-Link y relé) y llaves de firma", + "fuente": "/hardware/fota-4g-factibilidad/#11-que-hace-falta-ademas-del-codigo", + "cambios": [ + { "crear": { "id": "t-fota-equipo-banco", + "titulo": "FOTA: equipo de banco — ST-Link con pinzas a TP3/TP4/TP5 y relé para cortar los 24 V desde la laptop", + "pista": "compras", "estado": "por-hacer", "responsable": "jesus", + "fecha_limite": "2026-10-30", + "descripcion": "Primero revisar si ya hay un ST-Link (el README del firmware lo menciona). Relé: módulo de 1 canal + USB-serie o un Blackpill. ≈ MX$300–700 en total; es lo único de FOTA que se compra, y espera al pago si no hay en existencia.", + "enlaces": [{ "titulo": "Qué hace falta además del código", "url": "/hardware/fota-4g-factibilidad/#11-que-hace-falta-ademas-del-codigo" }], + "etiquetas": ["fota"] }, + "si_no_hay": ["ST-Link"] }, + + { "id": "d-22-6-fota", + "nota": "Llaves (pregunta 3): propuesta de dos pares Ed25519, producción y recuperación, con las públicas en el bootloader y las privadas cifradas y fuera de línea con respaldo. Perder las dos = solo USB; si se filtra una, se rota con la otra." } + ] +} diff --git a/backend/lotes/2026-10-22_t42a-v5.json b/backend/lotes/2026-10-22_t42a-v5.json new file mode 100644 index 0000000..4fec96c --- /dev/null +++ b/backend/lotes/2026-10-22_t42a-v5.json @@ -0,0 +1,108 @@ +{ + "lote": "2026-10-22_t42a-v5", + "autor": "claude", + "fecha": "2026-10-22", + "motivo": "Victorias rápidas de V5.6 y V5.7 (Leo, 22-oct 13:28): T42a probado en copias (BOM con existencia para las 430, TRS3232E, D10 = C83325, /IGN_IN a 0.3 mm en In1, segunda vía de /SYS5V en la V5.7); hallazgo de la clase HV24 (T42b) y D-22-7 para Leo", + "fuente": "/hardware/v56-v57-victorias-rapidas-22oct/", + "cambios": [ + { + "crear": { + "id": "d-22-7-t42a-piloto", + "titulo": "D-22-7: ¿T42a entra al piloto? (a) completo, recomendada · (b) solo el BOM · (c) solo D10 — decide Leo", + "pista": "ingenieria", + "estado": "por-hacer", + "responsable": "leo", + "version_tarjeta": "V5.6", + "fecha_limite": "2026-10-23", + "descripcion": "T42a está probado en copias de los archivos de las 13:00; no se ha tocado la Mac. (a) Recomendada: BOM y cobre. D10 = C83325, U15 = TRS3232E y los 22 µF a C45783 (C86817 no alcanza para 430). Además, 6 Extended más a Basic y 2 a Preferred, /IGN_IN a 0.3 mm en In1 con la vía de Rig1 0.35 mm abajo, y la 2.ª vía de /SYS5V en la V5.7 (E-11). DRC igual al de la auditoría; el Gerber cambia solo ahí. ≈ 40 min. (b) Solo el BOM (--solo-bom): el Gerber auditado no cambia; ≈ 20 min. (c) Solo D10, como dice la auditoría. El pedido ya espera a los quick wins del tablero y al pago, así que (a) no mueve fechas. Sí → t-v5-t42a-aplicar.", + "enlaces": [ + { + "titulo": "Victorias rápidas V5.6/V5.7 (T42a), §5", + "url": "/hardware/v56-v57-victorias-rapidas-22oct/#5-d-22-7-que-entra-al-piloto-decide-leo" + }, + { + "titulo": "Auditoría final", + "url": "/hardware/auditoria-final-22oct/" + } + ], + "etiquetas": [ + "decisión", + "piloto", + "bom" + ] + }, + "si_no_hay": [ + "D-22-7" + ] + }, + { + "crear": { + "id": "t-v5-t42a-aplicar", + "titulo": "T42a: aplicar en V5.6 y V5.7, rellenar, DRC, regenerar Rev6/Rev7_PROD y commit (antes del pedido del piloto)", + "pista": "ingenieria", + "estado": "por-hacer", + "responsable": "leo", + "version_tarjeta": "V5.6", + "bloqueada_por": [ + "d-22-7-t42a-piloto" + ], + "descripcion": "Con KiCad cerrado, en kicad/: python3 tools/t42a_v5_quickwins.py hbox-watchdog-v5 --apply y lo mismo con hbox-watchdog-v57; con (b), agregar --solo-bom. Después: kicad-cli pcb drc --schematic-parity --refill-zones --save-board en cada tarjeta, que debe dar 3 errores de MOD1, 0 sin conectar y 13 de paridad. Con (a), el sha256 de los .kicad_pcb debe empezar con b1313cd1 (V5.6) y 4e0a40f6 (V5.7): así es exactamente lo que probó Claude. Luego Fabrication Toolkit para Rev6_PROD y Rev7_PROD, commit de kicad/ con production/ y push. Pasos completos en el documento, §5.", + "enlaces": [ + { + "titulo": "Pasos (§5)", + "url": "/hardware/v56-v57-victorias-rapidas-22oct/#5-d-22-7-que-entra-al-piloto-decide-leo" + } + ], + "etiquetas": [ + "layout", + "piloto", + "bom" + ] + }, + "si_no_hay": [ + "T42a: aplicar" + ] + }, + { + "crear": { + "id": "t-v5-t42b-hv24", + "titulo": "T42b: clase HV24 con diagonal + reglas de la v6 en V5.6/V5.7 y los 14 / 15 arreglos de cobre (antes de las 108/322)", + "pista": "ingenieria", + "estado": "por-hacer", + "responsable": "claude, michelle", + "version_tarjeta": "V5.6", + "descripcion": "Hallazgo del 22-oct: en los dos .kicad_pro, los patrones 24V, IGN_IN y Q10_GATE de HV24 van sin «/», así que solo /24V_IN entra a la clase. /24V, /IGN_IN y /Q10_GATE (y en la V5.7 /VIN_FUSED, /SW_PWRIN y /BOOT_PWRIN) se revisan a 0.15 mm, no a 0.5. A 32 V no es riesgo eléctrico, pero la regla del equipo no se aplicaba. Con patrones y reglas de la v6 (F-01) salen 14 errores en la V5.6 y 15 en la V5.7 (28 y 27 sin T42a). V5.6: /24V junto a U2, /24V en In2, Cbst1 y la vía de /IGN_IN. V5.7: /EN_PWRIN junto a C150/R124 (EN de U25 aguanta 8.4 V), dos vías de GND y la vía de /IGN_IN. Por script, ≈ 1 día, después de generar el paquete del piloto; Michelle lo revisa.", + "enlaces": [ + { + "titulo": "Hallazgo HV24 (§4)", + "url": "/hardware/v56-v57-victorias-rapidas-22oct/#4-hallazgo-la-clase-hv24-solo-atrapa-24v_in-t42b" + } + ], + "etiquetas": [ + "layout", + "drc" + ] + }, + "si_no_hay": [ + "T42b", + "clase HV24" + ] + }, + { + "id": "t-v56-piloto", + "nota": "22-oct, tarde: antes de pedir va D-22-7 (T42a). Correcciones a la lista: D10 = C83325 (C8838 no está en JLC y C2688178 tenía 39 piezas); los 10 nF van en C57112 (Basic), no en C1589; en el visor, agregar el pin 1 de U15 (TRS3232E, con T42a)." + }, + { + "id": "t-paquetes-aldair", + "nota": "22-oct, tarde: corrección. Los 10 nF se unifican en C57112 (Basic), no en C1589, y D10 = C83325 (Littelfuse). Con T42a (D-22-7), U15 TRS3232E ya entra al piloto porque hay existencia. Si se aplica, se regeneran los paquetes Rev6/Rev7_PROD antes de mandarlos." + }, + { + "id": "t-preorden-108-322-bom", + "nota": "22-oct, tarde: con T42a, el BOM ya trae TRS3232E (C308878, en existencia), los 10 nF en C57112 (Basic; no en C1589) y C22 = 10uF/50V. En la pre-orden queda THVD1410DR por SP3485 (U14). Antes de las 108/322 va también T42b (clase HV24)." + }, + { + "id": "t-decisiones-puertos-d10", + "nota": "22-oct, tarde: el código de D10 es C83325 (Littelfuse SMBJ33CA, 100 948 en existencia el 1-ago). C8838 no está en la base de JLC y C2688178 (WPMtek) tenía 39 piezas. T42a lo cambia en el esquemático y en el PCB (D-22-7)." + } + ] +} diff --git a/docs/bitacora.md b/docs/bitacora.md index 081d593..e13ff1e 100644 --- a/docs/bitacora.md +++ b/docs/bitacora.md @@ -23,6 +23,7 @@ Arriba, lo que pasó en el tablero de pendientes y en las actas en los últimos ### Octubre de 2026 **22 oct** +: [Victorias rápidas V5.6/V5.7 (T42a)](hardware/v56-v57-victorias-rapidas-22oct.md): T42a listo y probado en copias (sin tocar la Mac). BOM con existencia para las 430: D10 = **C83325** (los códigos de la auditoría no servían), U15 → TRS3232E, los 22 µF a C45783 (C86817 no alcanzaba) y 8 Extended menos. `/IGN_IN` a 0.3 mm en In1 (de 0.15 a 0.54 mm de las señales) y 2.ª vía de `/SYS5V` en la V5.7. DRC igual al de la auditoría. Hallazgo: la clase HV24 solo atrapa `/24V_IN` (T42b). Decide Leo: D-22-7; lote `2026-10-22_t42a-v5`. : [FOTA por 4G: factibilidad por tarjeta](hardware/fota-4g-factibilidad.md): **sí en V5.6/V5.7** (bajada por la toma RTCM en PC7 con marcos propios que inyecta el caster de Helgen, subida por `$PHLG`) **y en la v6** (HTTPS por el A7670SA, dentro de FW-3), **sin tocar cobre**; **no en V3, V4 ni V5.5** (el MCU no recibe nada del módem: siguen por USB). Lo que decide el costo es la imagen de fábrica: propuesta **D-22-6** (bootloader A/B firmado y receptor en las 108/322 y las 130 v6) y piezas FOTA 0 a 4, ≈ 3 semanas. : [Instalaciones por sitio](tableros/instalaciones.md): tablero nuevo, una tarjeta por unidad con **en qué vehículo está** (número económico, tipo, 12/24 V), sus actas y su etapa: enviada → recibida → instalada → **probada en sitio** → en operación, más «con falla». Acta nueva [Prueba en sitio](formularios/prueba-sitio.html): solo con ella aprobada una unidad cuenta para la meta de 1–2 por sitio. : [Estado de la v6, rev. 1.3: T40, MH4 libre](hardware/v6-estado-21oct.md#7-t40-22-oct-tarde-mh4-libre): D23 y D24 fuera del barreno, `/SIM_CLK` por In1, `/SIM_RST` por arriba de D25 y `/NTC` alrededor del barreno; las tres TVS de la SIM y los pines 92/94 de U19 con vía de GND propia. DRC: **11 errores** (los encimes de margen), 0 sin conectar. Leo decide D-22-4: las TVS siguen del lado del módem y Claude recomienda pasarlas junto a J14. Falta el push de T40; lote `2026-10-22_t40-v6`. diff --git a/docs/datos/proyecto.json b/docs/datos/proyecto.json index 158fe56..3bd8e2c 100644 --- a/docs/datos/proyecto.json +++ b/docs/datos/proyecto.json @@ -121,6 +121,11 @@ "Rev6_PROD", "22 oct, verificado" ], + [ + "falta", + "T42a", + "22 oct, Claude: probado; D-22-7" + ], [ "bloqueado", "5 piezas", @@ -138,13 +143,17 @@ ] ], "detalle": "Auditoría final del 22-oct (Claude, a petición de Leo): el paquete HBOX_v5_Rev6_PROD es idéntico a una regeneración con relleno fresco (0.000 mm²), DRC solo con los 3 de MOD1, 0 sin conectar, paridad limpia, RS1 Kelvin; BOM y CPL cuadran. GO al piloto de 5 con tres condiciones de pedido: vías Epoxy Filled & Capped + rayos X en U6, rotación/polaridad en el visor de JLC, D10 → SMBJ33CA. NO-GO para las 108 hasta el banco con 0.7.0. Re-verificada a las 13:30 sobre los archivos de las 13:00: P-1 cerrado, mismo cobre.", - "siguiente": "D-22-1 (junta del 22-oct): el pedido de 5 + 5 se hace al terminar los quick wins, con la lista de §7 (BOM D10, ENIG, vías tapadas, rayos X en U6, visor) → P-1 hecho a las 13:00 (re-verificado): commit de kicad/ y production/ → 0.7.0-pre antes de que lleguen (≈ 29-oct) → banco del piloto (8 criterios) → las 108, con SD-15B.", - "quien": "Leo (pedido al terminar los quick wins, P-1) · Claude (auditoría hecha; 0.7.0 con Leo) · Jesús (banco del piloto) · Aldair (pedido e inventario)", + "siguiente": "D-22-7 (Leo): T42a antes del pedido (BOM con existencia para las 430, D10 = C83325, /IGN_IN a 0.3 mm; ≈ 40 min) → D-22-1 (junta del 22-oct): el pedido de 5 + 5 se hace al terminar los quick wins, con la lista de §7 (BOM D10, ENIG, vías tapadas, rayos X en U6, visor) → P-1 hecho a las 13:00 (re-verificado): commit de kicad/ y production/ → 0.7.0-pre antes de que lleguen (≈ 29-oct) → banco del piloto (8 criterios) → las 108, con SD-15B.", + "quien": "Leo (pedido al terminar los quick wins, P-1) · Claude (auditoría y T42a hechos; 0.7.0 con Leo) · Jesús (banco del piloto) · Aldair (pedido e inventario)", "docs": [ [ "Auditoría final del 22-oct (GO con condiciones)", "/hardware/auditoria-final-22oct/" ], + [ + "Victorias rápidas (T42a) y D-22-7", + "/hardware/v56-v57-victorias-rapidas-22oct/" + ], [ "El pedido del piloto, paso a paso (§7)", "/hardware/auditoria-final-22oct/#7-el-pedido-de-hoy-40-min-y-el-camino-a-las-108-322" @@ -207,6 +216,11 @@ "Rev7_PROD", "22 oct, verificado" ], + [ + "falta", + "T42a", + "22 oct, Claude: probado, con E-11; D-22-7" + ], [ "bloqueado", "5 prototipos", @@ -224,13 +238,17 @@ ] ], "detalle": "Auditoría final del 22-oct: paquete HBOX_v5_Rev7_PROD verificado igual que el de la V5.6. La fuente U25 (TPS54360B, 5.32 V / 600 kHz) cubre 9–32 V sin la SD-15B; C149/C150 se quedan (D-21-2 se sostiene) y el timbre se mide en banco. D10 → SMBJ33CA es obligatorio: con el arnés al revés el SMBJ33A abre F2, que es SMD. GO a los 5 prototipos con las mismas condiciones; NO-GO para las 322 hasta el banco. Re-verificada a las 13:30: P-1 cerrado, mismo cobre.", - "siguiente": "Mismo pedido que la V5.6 (al terminar los quick wins) → commit (P-1 ya está en el archivo) → prototipos en banco: 9/12/24/32 V con 2.8 A, polaridad invertida, U25 < 110 °C y D34 < 100 °C a 32 V, cámara térmica en las vías de entrada a 9 V, ignición a 12 V por ADC, timbre de SW/VIN (D-21-2) → pedido de 327.", - "quien": "Leo (pedido) · Claude (auditoría hecha; procedimiento de banco) · Jesús (prototipos en banco)", + "siguiente": "D-22-7 (Leo): T42a antes del pedido (el mismo BOM, /IGN_IN a 0.3 mm y la 2.ª vía de /SYS5V, E-11) → Mismo pedido que la V5.6 (al terminar los quick wins) → commit (P-1 ya está en el archivo) → prototipos en banco: 9/12/24/32 V con 2.8 A, polaridad invertida, U25 < 110 °C y D34 < 100 °C a 32 V, cámara térmica en las vías de entrada a 9 V, ignición a 12 V por ADC, timbre de SW/VIN (D-21-2) → pedido de 327.", + "quien": "Leo (pedido) · Claude (auditoría y T42a hechos; procedimiento de banco) · Jesús (prototipos en banco)", "docs": [ [ "Auditoría final del 22-oct (GO con condiciones)", "/hardware/auditoria-final-22oct/" ], + [ + "Victorias rápidas (T42a) y D-22-7", + "/hardware/v56-v57-victorias-rapidas-22oct/" + ], [ "Hallazgos E-7 a E-10 de la V5.7", "/hardware/auditoria-final-22oct/#3-hallazgos-problema-arreglo" diff --git a/docs/hardware/auditoria-final-22oct.md b/docs/hardware/auditoria-final-22oct.md index 0971ca2..d47ffe0 100644 --- a/docs/hardware/auditoria-final-22oct.md +++ b/docs/hardware/auditoria-final-22oct.md @@ -20,6 +20,9 @@ audience: Leo (decide el pedido), Michelle, Jesús, Aldair, Adriana **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ó diff --git a/docs/hardware/fota-4g-factibilidad.md b/docs/hardware/fota-4g-factibilidad.md index b360e6f..238bbb5 100644 --- a/docs/hardware/fota-4g-factibilidad.md +++ b/docs/hardware/fota-4g-factibilidad.md @@ -233,3 +233,24 @@ actualización por USB en visita; el experimento F0-d decide si vale la pena má | b | Carrusel a 1 KB/s durante 30 min con cielo abierto | Fix 4 sostenido; `UBX-RXM-RTCM` sin fallas de CRC en los mensajes de la base | | c | `$$$AS+R?` mandado por el Modo B (MCU → K1 → DIN) | La respuesta de la app aparece en DOUT | | d | Marcos de tipos que el F9P no soporta, con `UBX-RXM-RTCM` activado en UART1 | El F9P los reporta (decide el experimento de §6) | + +## 11. Qué hace falta además del código + +Casi todo es firmware y servidor: **no hay que comprar módulos ni tocar las tarjetas**. Lo que no es código: + +| Qué | Para qué | Costo / estado | +|---|---|---| +| ST-Link V2/V3 con pinzas o pogo pins a TP3 (SWDIO), TP4 (SWCLK), TP5 (NRST) y GND | Depurar el bootloader (el salto a la ranura, la tabla de vectores) sin adivinar. V5.6, V5.7 y v6 tienen los pads, sin header | ≈ MX$200–600; revisar primero si ya hay uno (el README del firmware lo menciona) | +| Relé controlado desde la laptop (módulo de 1 canal + USB-serie, o un Blackpill) | Cortar los 24 V en momentos al azar durante la descarga, el borrado y el cambio de ranura (matriz FOTA 4) | ≈ MX$100 | +| Tarjetas de banco | Bootloader: cualquier V5.5 o V4 de banco (mismo STM32F411, misma flash). Receptor: una V5.6 del piloto (PC7), o una V5.5 de banco con un cable provisional a PC7 — solo en banco | el piloto ya va en camino | +| Compilador | El bootloader es un proyecto en C aparte, sin Arduino, para que quepa en 32 KB y no dependa del núcleo: arm-none-eabi-gcc, que ya viene dentro de STM32duino en la Mac | gratis | +| STM32CubeProgrammer / `dfu-util` | Grabar la imagen de fábrica y fijar el BOR en los *option bytes* | ya se usan | +| Llaves de firma | Dos pares Ed25519 (producción + recuperación), con las dos públicas dentro del bootloader; las privadas cifradas, fuera de línea y con respaldo. Si se pierden las dos, solo queda USB; si se filtra una, se rota con la otra | decide Leo | +| Herramienta de liberación | Script en Python (PyNaCl) en la Mac: compila las dos ranuras, firma y publica | parte de FOTA 1 | +| Caster de prueba | Un mountpoint de prueba en HelgenSRV para F0 y para desarrollar el receptor sin tocar a la flota | depende de la pregunta 1 de §9 | +| Proceso | Imagen de fábrica y procedimiento de regrabado actualizado (en V5.6+ solo imágenes de fábrica); el acta de ensamble anota versión y ranura; liberar = 2 builds + firma | parte de FOTA 1 y FOTA 4 | +| Manos en el banco | Claude escribe y compila; grabar y correr la matriz lo hace alguien en el banco (Jesús) | ≈ 3–4 días de banco en total | + +Lo delicado del software, para planear: ligar la app en `0x0801 0000` con STM32duino; mover la EEPROM al sector 3 +sin chocar con lo que usa el núcleo; el IWDG no se apaga una vez encendido (el bootloader lo refresca mientras +verifica); USART6 por DMA para no perder bytes cuando el loop se bloquea; y los 1–2 s de borrado por sector. diff --git a/docs/hardware/img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png b/docs/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/docs/hardware/img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png differ diff --git a/docs/hardware/index.md b/docs/hardware/index.md index b883a6f..5c8ae60 100644 --- a/docs/hardware/index.md +++ b/docs/hardware/index.md @@ -15,14 +15,17 @@ Estado de cada versión de la EinarBoard al **22-oct-2026**, con sus documentos [**▶ Auditoría final (veredicto, hallazgos, riesgos)**](auditoria-final-22oct.md) · [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](auditoria-final-protocolo.md). Antes: [auditoría del 21-oct (pasadas 4 a 6)](v56-v57-auditoria-21oct.md) · [re-auditoría del 19-oct](re-auditoria-19oct.md) · [qué es crítico en la V5.6](v56-clasificacion-19oct.md) · [plan v6 (rev. 1.5)](v6-plan-fines-de-semana.md). +!!! tip "22-oct (tarde): victorias rápidas V5.6/V5.7 — T42a listo; decide Leo (D-22-7)" + BOM con existencia para las 430: D10 = **C83325** (los códigos de la auditoría no servían), U15 → TRS3232E (±15 kV), 22 µF → C45783 (Basic) y 8 piezas Extended menos. `/IGN_IN` (la ignición cruda) a 0.3 mm en In1 y su vía junto a Rig1 0.35 mm abajo: pasa de 0.15 a 0.54 mm de las señales. En la V5.7, 2.ª vía de `/SYS5V` (E-11). DRC igual al de la auditoría. **Hallazgo:** la clase HV24 solo atrapa `/24V_IN` → T42b antes de las 108/322. [Victorias rápidas (T42a)](v56-v57-victorias-rapidas-22oct.md) + !!! info "22-oct: FOTA por 4G — sí en V5.6/V5.7 y v6 sin tocar cobre; no en V3, V4 ni V5.5" La V5.6/V5.7 ya tiene bajada (toma RTCM en PC7) y subida (Modo B); la v6 maneja su módem por AT. Falta firmware y servidor (≈ 3 semanas) y que la **imagen de fábrica** de las 108/322 y de las 130 v6 lleve bootloader A/B y receptor (propuesta D-22-6). [Factibilidad por tarjeta](fota-4g-factibilidad.md). | Tarjeta | Estado | Pedido | Proyecto KiCad | Firmware | |---|---|---|---|---| | V5.5 | En campo (15 pzas, 22-ago). No se fabrica más. | — | `hbox-watchdog-v5` (tag `v5.5-as-fabbed`) | `hbox-v5-bringup_0.6.0` CAMPO · 0.6.3 banco | -| V5.6 | **Auditoría final del 22-oct: GO al piloto** con tres condiciones de pedido (vías tapadas + rayos X en U6, visor de JLC, D10 → SMBJ33CA). Paquete `HBOX_v5_Rev6_PROD` verificado = cobre con relleno fresco; DRC y paridad limpios. P-1 cerrado a las 13:00 (relleno fresco en el repo, re-verificado; falta el commit) ([auditoría final](auditoria-final-22oct.md)). | 113 (piloto de 5 primero, se pide hoy) | `hbox-watchdog-v5` | 0.7.0: `board_v56.h` listo; 0.7.0-pre por escribir (1 día) | -| V5.7 | **Auditoría final del 22-oct: GO a los 5 prototipos** con las mismas condiciones. Fuente U25 a 5.32 V / 600 kHz: 9–32 V sin la SD-15B; C149/C150 se quedan (D-21-2) y el timbre se mide en banco; D10 → SMBJ33CA es obligatorio aquí (con el arnés al revés abre F2, que es SMD) ([auditoría final](auditoria-final-22oct.md)). | 327 (5 prototipos primero, se piden hoy) | `hbox-watchdog-v57` (convive con v5) | el mismo 0.7.0 (mismos pines de MCU) | +| V5.6 | **Auditoría final del 22-oct: GO al piloto** con tres condiciones de pedido (vías tapadas + rayos X en U6, visor de JLC, D10 → SMBJ33CA). Paquete `HBOX_v5_Rev6_PROD` verificado = cobre con relleno fresco; DRC y paridad limpios. P-1 cerrado a las 13:00 (relleno fresco en el repo, re-verificado; falta el commit) ([auditoría final](auditoria-final-22oct.md)). **T42a** listo: BOM con existencia y `/IGN_IN` a 0.3 mm; decide Leo, D-22-7 ([victorias rápidas](v56-v57-victorias-rapidas-22oct.md)). | 113 (piloto de 5 primero, se pide hoy) | `hbox-watchdog-v5` | 0.7.0: `board_v56.h` listo; 0.7.0-pre por escribir (1 día) | +| V5.7 | **Auditoría final del 22-oct: GO a los 5 prototipos** con las mismas condiciones. Fuente U25 a 5.32 V / 600 kHz: 9–32 V sin la SD-15B; C149/C150 se quedan (D-21-2) y el timbre se mide en banco; D10 → SMBJ33CA es obligatorio aquí (con el arnés al revés abre F2, que es SMD) ([auditoría final](auditoria-final-22oct.md)). **T42a** listo, con la 2.ª vía de `/SYS5V` (E-11); D-22-7 ([victorias rápidas](v56-v57-victorias-rapidas-22oct.md)). | 327 (5 prototipos primero, se piden hoy) | `hbox-watchdog-v57` (convive con v5) | el mismo 0.7.0 (mismos pines de MCU) | | v6 | Revisada el 22-oct (`d5f5002` + T40): **NO LISTA**. T28 cerró 2 de los 8 bloqueantes de la [auditoría v6](v6-auditoria-produccion-16oct.md), T25 regresó los barrenos, T38 corrigió courtyards, MH6 y el `/3V3` bajo los barrenos, **T39 hizo el bloque A** (D34 entre U25 y L22, MH8 libre) y **T40 liberó MH4**. Faltan los bloques B a H y D-22-4 ([estado, §7](v6-estado-21oct.md#7-t40-22-oct-tarde-mh4-libre)). Plan: [fines de semana 24-oct → 22-nov](v6-plan-fines-de-semana.md). | 130 + reemplazos (piloto de 20, pedido previsto el 2-nov) | `hbox-watchdog-v6` | 0.7.x (`board_v6.h` + NTRIP), no existe | | V4 | En prueba y campo. Sin producción nueva. | — | `hbox-watchdog-v4` | `hbox-tarjetaV4_0.6.0` CAMPO | | V3 | 3 unidades en campo. Registro congelado. | — | `hbox-watchdog-v3-PROD` (no editar) | `hbox-tarjetaV3_4.0.0` | @@ -67,7 +70,7 @@ Lleva Mean Well SD-15B-05 externa (igual que V5.5). | | Documentos | |---|---| -| Vigentes | [**▶ Auditoría del 21-oct, pasadas 5 y 6**](v56-v57-auditoria-21oct.md) · [Pasada 4 (19-oct)](v56-v57-layout-pasada-4.md) · [Re-auditoría 19-oct](re-auditoria-19oct.md) · [Auditoría de producción 16-oct](auditoria-produccion-16oct.md) (requisitos uno por uno, prueba de RS1) · [ECO V5.6 — requisitos R1–R5](v56-eco.md) · [Cambios al esquemático V5.5 → V5.6](v56-cambios-esquematico.md) · [Reglas de layout esquemático → PCB](v56-layout-instrucciones.md) | +| Vigentes | [**▶ Victorias rápidas (T42a, 22-oct)**](v56-v57-victorias-rapidas-22oct.md) · [Auditoría final (22-oct)](auditoria-final-22oct.md) · [**▶ Auditoría del 21-oct, pasadas 5 y 6**](v56-v57-auditoria-21oct.md) · [Pasada 4 (19-oct)](v56-v57-layout-pasada-4.md) · [Re-auditoría 19-oct](re-auditoria-19oct.md) · [Auditoría de producción 16-oct](auditoria-produccion-16oct.md) (requisitos uno por uno, prueba de RS1) · [ECO V5.6 — requisitos R1–R5](v56-eco.md) · [Cambios al esquemático V5.5 → V5.6](v56-cambios-esquematico.md) · [Reglas de layout esquemático → PCB](v56-layout-instrucciones.md) | | Referencia | [Hoja de datos V5.6](v56-datasheet.md) · [Pinout V5.6](v56-pinout.md) — generados de la netlist del 28-sep: **todavía listan P12 y no traen U26**; se regeneran al cerrar la pasada 4 | | Históricos | [Layout pasada 3 (16-oct)](v56-v57-layout-pasada-3.md) — cerrada; lo pendiente pasó a la pasada 4 · [Layout pasada 2 (13-oct)](v56-layout-pasada-2.md) y [auditoría del 13-oct (inglés)](v56-auditoria-layout-13oct.md) · [Layout pasada 1 (12-oct)](v56-layout-pasada-1.md) | | Firmware | 0.7.0 con `board_v56.h` (control del módem por MODEM_EN/RST, ciclo de 10 s en batería, Ethernet de campo, SC16IS752/RS-485, acelerómetro, ignición por ADC, paquete LFP-HT). No existe todavía; ningún 0.6.x enciende su módem. | @@ -90,7 +93,7 @@ Lleva Mean Well SD-15B-05 externa (igual que V5.5). | | Documentos | |---|---| -| Vigentes | [**▶ Auditoría del 21-oct, §3.2**](v56-v57-auditoria-21oct.md#32-v57-hbox-watchdog-v57) · [Pasada 4, parte B](v56-v57-layout-pasada-4.md#parte-b-v57-hbox-watchdog-v57-medio-dia) · [Re-auditoría 19-oct, §4](re-auditoria-19oct.md#4-v57-punto-por-punto) · [Auditoría de producción 16-oct](auditoria-produccion-16oct.md) (§5 rango de entrada) · [ECO V5.7 — fuente a bordo (v0.2)](v57-eco-fuente.md) | +| Vigentes | [**▶ Victorias rápidas (T42a, 22-oct)**](v56-v57-victorias-rapidas-22oct.md) · [Auditoría final (22-oct)](auditoria-final-22oct.md) · [**▶ Auditoría del 21-oct, §3.2**](v56-v57-auditoria-21oct.md#32-v57-hbox-watchdog-v57) · [Pasada 4, parte B](v56-v57-layout-pasada-4.md#parte-b-v57-hbox-watchdog-v57-medio-dia) · [Re-auditoría 19-oct, §4](re-auditoria-19oct.md#4-v57-punto-por-punto) · [Auditoría de producción 16-oct](auditoria-produccion-16oct.md) (§5 rango de entrada) · [ECO V5.7 — fuente a bordo (v0.2)](v57-eco-fuente.md) | | Históricos | [Pasada 3, parte B (16-oct)](v56-v57-layout-pasada-3.md) — cerrada · [Guía de layout V5.7 (Leo, 13-oct)](v57-layout-guia.md) y [colocación y ruteo (14-oct)](v57-colocacion-ruteo.md) — superadas: la fuente ya está colocada · ECO v0.1 del 12-oct (`03-Architecture-Hardware/2026-10-12_Drogheda_EinarBoard-V5.7_ECO-Fuente-a-bordo_ES_v0.1.md`, repositorio) | | Hereda de V5.6 | Todo lo demás: [ECO V5.6](v56-eco.md), [cambios al esquemático](v56-cambios-esquematico.md), acelerómetro, sin P12. Hoja de datos y pinout propios: pendientes. | | Decisiones pendientes (Leo) | D10 → **SMBJ33CA** (bidireccional, misma huella) para que la polaridad invertida no abra F2; puertos como en V5.6 (D-19-1); **D-21-2:** C149/C150 se quedan como están ([auditoría §4](v56-v57-auditoria-21oct.md#4-decisiones-para-leo)). | diff --git a/docs/hardware/v56-v57-victorias-rapidas-22oct.md b/docs/hardware/v56-v57-victorias-rapidas-22oct.md new file mode 100644 index 0000000..bf3b267 --- /dev/null +++ b/docs/hardware/v56-v57-victorias-rapidas-22oct.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/docs/tableros/ingenieria.md b/docs/tableros/ingenieria.md index 41ab9f7..232dfe0 100644 --- a/docs/tableros/ingenieria.md +++ b/docs/tableros/ingenieria.md @@ -37,6 +37,7 @@ hide:

Últimas decisiones

Lo decidido manda hasta que otra decisión con fecha posterior lo cambie. Fuente: notas del proyecto; detalle en la sección de hardware.