--- title: "EinarBoard v6 — Informe de cambios al esquemático" tags: [project-drogheda, hardware, einarboard, v6, esquematico, auditoria, kicad] date: 2026-09-28 project: Project Drogheda author: Helgen Technologies --- # EinarBoard v6 — Informe de cambios al esquemático !!! warning "Designadores de antes del 22-oct (T43)" Este documento conserva los designadores que tenía la tarjeta en su fecha. Desde el 22-oct (T43) la V5.6, la V5.7 y la v6 traen otros, y varios nombres viejos ahora son otra pieza: en la v6, U6 es ahora el módem A7670SA (antes U19) y el LTC4040 es U17 (antes U6). Para leerlo contra la tarjeta de hoy, usa la [tabla viejo → nuevo](designadores-t43-22oct.md#8-tablas-viejo-nuevo); lo que ya no existía el 22-oct no está en la tabla. !!! warning "EinarBoard v6 (`hbox-watchdog-v6`): en diseño, no se pide" Diseño nuevo con ZED-F9P y módem A7670SA soldados a bordo. **No es la V5.6** que se manda a fabricar esta semana (`hbox-watchdog-v5`, zócalos para simpleRTK2B y 4G NTRIP Master). Los hallazgos marcados «Impacto en V5.6» ya se aplicaron a la V5.6 y están en su informe de cambios. !!! info "Este informe cubre solo la pasada 1" Este informe cubre la **pasada 1** (correcciones de la auditoría). La **pasada 2** (puertos y sin nueva versión) y la **pasada 3** (revisión final independiente), con el esquemático final `d58a89ba…` (tras la pasada 4: estrapes LFP-HT), están en [Cambios de esquemático — resumen de 3 pasadas](v6-cambios-resumen.md). Fecha: 2026-09-28 · Proyecto: `kicad/hbox-watchdog-v6.*`, editado en su lugar (D17) · Implementa: [Auditoría completa v6](v6-auditoria-completa.md) §7.1 (Bloqueantes), §7.2 (Mayores), §7.3 Menores según D19, y las reglas de proyecto F-01 / D18 · Decisiones: `DECISIONS.md` D1–D19 (tomadas por delegación de Leo) · Autor: Helgen Technologies (elaborado con asistencia de Claude; ediciones por script sobre el texto S-expression con guarda de UUID; KiCad MCP solo para netlist, ERC, PDF, BOM, DRC y consultas de librería) · Estado: esquemático, reglas de proyecto y librería listos; **`hbox-watchdog-v6.kicad_pcb` no se tocó** (Michelle ejecuta *Update PCB from Schematic*, §10). Traducido del original en inglés (28-sep-2026). ## Resumen Se aplicaron al esquemático de v6 todos los Bloqueantes y Mayores de la auditoría que son de esquemático, y los Menores de la lista D19. El módem (U20) ahora se alimenta sólo de MAIN5V (D20/D21 eliminados), el ventilador sale de VEH5V (bloque U2 y rama Q10 en DNP) y F2 (3 A) queda antes de D10. Se añadieron limitador de antena GNSS (TPS2552), TVS en ignición, sensores TMP102 del cargador (0x48) y del módem (0x49), buffer U27 hacia el F9P, ESD en J9 y en P6/P7/P8, y se corrigieron valores (R50 1.43 k, R121 57.6 k, compensación de U20, cristales). Cada grupo se comprobó con un diff de netlist: lo esperado coincide exactamente con lo obtenido (137 cambios de componentes/campos/pines + 16 cambios de clase de red). ERC: **0 errores** (166 → 134 avisos, todos explicados). El PCB no se tocó; Michelle debe ejecutar *Update PCB* marcando «Delete footprints with no symbols». ## 0. Tabla resumen | Ítem | Resultado | |---|---| | Archivos editados en su lugar | `hbox-watchdog-v6.kicad_sch`, `hbox-watchdog-v6.kicad_pro` (solo clases de red), `hbox-watchdog-v6.kicad_dru`, `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` | | `hbox-watchdog-v6.kicad_pcb` | Byte-idéntico (SHA-256 `6ddec80d…` antes y después) | | Cambios aplicados | Grupo 1 Bloqueantes: 10 hallazgos · Grupo 2 Mayores: 13 · Grupo 3 Menores: 19 (lista D19) · Grupo 4 reglas/librería: F-01, H-04 | | Partes | **37 añadidas** (U27–U31, R135–R144, C161–C174, D35–D38, TP9–TP11, JP6), **3 eliminadas** (D20, D21, PWR_FLAG PF15), **17 puestas en DNP**, 1 símbolo sustituido (Y3 → `Device:Crystal_GND24`) | | Prueba por netlist | En cada grupo: esperado == obtenido (0 inesperados, 0 faltantes). Línea base → final: 37 añadidos / 3 eliminados / 125 campos / 22 pin-net / 16 clases de red; la composición de las expectativas por grupo = netlist final con **0 diferencias** (`netlist_diff_total.md`) | | ERC (kicad-cli 10.0.4) | **0 errores** antes y después · avisos 166 → 134 (§5) | | Solapes / cruces de cables | 30 → 30 solapes (todos preexistentes, por caja envolvente) · 8 → 9 cruces de cable (+1 es un artefacto de caja envolvente de la herramienta en U30, comprobado en el PDF) | | BOM | Toda parte poblada tiene número LCSC salvo los pads de cobre preexistentes TP1–TP8 (sin cambio). Los pads nuevos TP9–TP11 y JP6 quedan fuera del BOM | | PDF | `03-Architecture-Hardware/hbox-watchdog-v6-schematic.pdf` | ## 1. Integridad de archivos Los hashes SHA-256 de cada archivo antes y después están en el anexo de trazabilidad. Comprobación previa: los hashes de sch y pro coincidían con la línea base de la auditoría; no había `~hbox-watchdog-v6.*.lck` (solo existen los bloqueos de v5). No se ejecutó `git` en la carpeta montada. ## 2. Cambios por hallazgo Método: cada edición es un empalme sobre el texto original, acotado a un nodo S-expression (valor de propiedad, átomo de bandera, nombre de etiqueta, punto de cable, o el nodo completo en las eliminaciones). Antes de escribir, una guarda compara el multiconjunto de UUID: ningún UUID preexistente puede desaparecer o cambiar salvo en los elementos eliminados a propósito, y no pueden aparecer duplicados nuevos. Todos los bytes no tocados quedan idénticos. Los símbolos, cables y etiquetas nuevos se escriben en el formato canónico de KiCad; cada parte nueva se cablea con un cable de 2.54 mm a una etiqueta local con el nombre exacto de la net existente (etiquetas `GND` locales, como en el resto de la hoja). El único símbolo de librería no estándar es el TPS2552 (§7). ### 2.1 Bloqueantes (§7.1) | Hallazgo | Ref | De → A | LCSC | Pines / nets | |---|---|---|---|---| | A-01 | D20 | SS34 (C8678) → eliminado | — | sus etiquetas `VIN_MODEM` (K) y `24V` (A) borradas | | A-01 | D21 | PMEG3050EP (C50603) → eliminado | — | sus etiquetas `VIN_MODEM` (K) y `MAIN5V` (A) borradas | | A-01 | PF15 | PWR_FLAG en `/VIN_MODEM` → eliminado con su etiqueta | — | la net ya no existe; PF2 ya marca `/MAIN5V` | | A-01 | U20.2, C127.1, C128.1 | `/VIN_MODEM` → **`/MAIN5V`** (etiquetas renombradas) | — | no queda ninguna etiqueta `VIN_MODEM` (6 de 6 atendidas) | | A-01 | U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1, Rfreq1, Ren1, Ren2, R20, R21 | montado → DNP | sin cambio | el ventilador ahora sale de `/VEH5V` vía JP1 | | A-01 | JP1 | `…SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm` → **`Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm`** | sin parte | `/5V_FAN` = `/VEH5V` en cobre (huella tipo net-tie) | | A-01 | Q10, DzG1, Rrp1, C10, C11, C22 | montado → DNP | sin cambio | cargas de `/24V` revisadas primero: {C10, C11, C22, D20, DzG1, Q10, Ren1, U2} + PF6 virtual → no queda nada montado | | A-01 + V1-01 | F2 | `2A/125V-NANO2-in-holder` C206910 → **`3A/125V-NANO2-in-holder`**, MPN 0154003.DR, Littelfuse; misma huella de portafusible | **C206912** | P1.1 → F2 → `/VIN_FUSED` | | V1-01 | D10 | pin 1 en `/24V_IN` → **`/VIN_FUSED`** | C224019 (sin cambio) | `/VIN_FUSED` = {F2.2, D10.1, Q23.2}; topología en §8 | | A-03 | R50 | 825R/1% C50214 → **1.43k/1%** | **C22840** | 1.316–1.483 A | | B-03 | D28 | ESD9L5.0ST5G C82326, SOD-923 → **PESD0402-240**, `Diode_SMD:D_0402_1005Metric`, Littelfuse | **C1975527** | pin 1 `/RF_ANT_LTE`, pin 2 GND (símbolo conservado; pines 1/2 mapean a los pads 0402) | | C-01 | **U28 (nuevo)** | TPS2552DBVR, SOT-23-6 | **C46506** | 1 IN `/3V3_GNSS` · 2 GND · 3 ~EN `/GNSS_ANT_OFF` · 4 ~FAULT `/GNSS_ANT_SHORT_N` · 5 ILIM `/3V3_GNSS` (75 mA) · 6 OUT **`/ANT_BIAS`** | | C-01 | **R135 (nuevo)** | 100k, ~EN → GND (antena encendida por omisión) | C25803 | `/GNSS_ANT_OFF` – GND | | C-01 | **R136 (nuevo)** | 10k, pull-up de FAULT | C25804 | `/3V3_GNSS` – `/GNSS_ANT_SHORT_N` | | C-01 | L21.2, C144.1, C145.1 | `/VCC_RF_GNSS` → **`/ANT_BIAS`** | sin cambio | | | C-01 | U18.7 VCC_RF | `/VCC_RF_GNSS` → NC (etiqueta borrada, bandera no-connect añadida) | — | | | C-01 | U18.5 ANT_OFF | bandera NC → etiqueta **`/GNSS_ANT_OFF`** | — | | | F-02 | **D35 (nuevo)** | SMBJ33A, `Diode_SMD:D_SMB` (mismo símbolo que D10) | **C224019** | 1 (cátodo) `/IGN_IN`, 2 GND; colocar en P1.3 | | F-02 | Rig1 | sin cambio (22k C88614); moverlo a P1.3 es layout | — | `/IGN_IN` = {P1.3, Rig1.1, D35.1} | | H-01 | U15 | `Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm` → **`Package_SO:SOIC-16_3.9x9.9mm_P1.27mm`** | C15846 (sin cambio) | | | H-02 | U10 | C729142 (SC16IS762) → **C57156**, MPN SC16IS752IPW,128 (el valor ya era SC16IS752IPW; símbolo conservado) | **C57156** | pinout idéntico | | H-02 | R53 | 499k/1% C131054 → mismo valor, MPN RCT03499KFLF, HKR | **C177479** | | | H-04 | U25 | sin `LCSC Part` en el símbolo del esquemático; el campo venía de la huella de librería → eliminado ahí (§7) | C524806 | | | F-01 | proyecto | clases de red + `.kicad_dru` (§6) | — | | | G-01 | MH4 + par de disipador | **no aplicado** — solo tarjeta (§10) | — | | ### 2.2 Mayores (§7.2) | Hallazgo | Ref | De → A | LCSC | Pines / nets | |---|---|---|---|---| | A-04 | R121 | 53.6k/1% C23074 → **57.6k/1%** | **C23082** | U25 5.18/5.32/5.46 V | | A-05 | **C161, C162 (nuevos)** | 47uF X7R 1210 | **C5440143** | `/MAIN5V` – GND (en U6 VSYS 1/24) | | A-08 | U17 | AMS1117-3.3 C6186 → **TLV1117LV33DCYR** (TI); símbolo `Regulator_Linear:AMS1117-3.3` conservado (mismo 1 GND / 2 OUT / 3 IN, lengüeta = OUT) | **C15578** | pines sin cambio | | A-09 | C78 | 220uF/10V MVG C2827940 → **220uF/16V polímero**, Lelon OVZ221M1CTR-0608, misma CP_Elec_6.3x7.7 | **C881921** | pin 1 `/VEH5V` = pad + | | B-02 | C130, C131 | igual que C78 → **220uF/16V polímero** | **C881921** | | | B-02 | R116 | 14k C22803 → **113k/1%** | **C22862** | | | B-02 | C141 | 3.3nF C1536 → **6.8nF** X7R 0402 | **C1542** | | | B-02 | C142 | 47pF C1567 → **56pF** C0G 0402 | **C1572** | | | B-02 | **C166, C167 (nuevos)** | 22uF 16 V X5R 0805 | **C86817** | `/VBAT_MODEM` – GND (en L20.2) | | F-03 | **C163, C164 (nuevos)** | 22uF 16 V 0805 | **C86817** | `/MAIN5V` – GND (en U20.2) | | F-03 | **C165 (nuevo)** | 220uF/16V polímero, `Device:C_Polarized`, CP_Elec_6.3x7.7 | **C881921** | 1 (+) `/MAIN5V`, 2 GND | | F-51 | **U29 (nuevo)** | TMP102AIDRLR, SOT-563, **I²C 0x48** | **C99269** | 1 SCL `/I2C_SCL` · 2 GND · 3 ALERT NC · 4 ADD0 GND · 5 V+ `/3V3` · 6 SDA `/I2C_SDA` | | F-51 | **C168 (nuevo)** | 100nF 0603 | C14663 | `/3V3` – GND | | F-51 | **R137 / R138 / C169 (nuevos)** | 100k/1% arriba · 120k/1% abajo · 10nF 0603 | C25803 · **C25808** · C1589 | `/NTC` → R137 → **`/NTC_CELL`** → R138/C169 → GND | | F-51 | U16.25 PC5 | bandera NC → etiqueta **`/NTC_CELL`** (ADC1_IN15) | — | | | C-02 | U21 | AP2112K-3.3 C51118 → **TPS7A2033PDBVR** (TI); símbolo `Drogheda-sym:LDO_SOT23-5` conservado (su pinout genérico 1 VIN / 2 GND / 3 EN / 4 NC / 5 VOUT es el del TPS7A20 DBV) | **C2862740** | pines sin cambio | | E-01 | U12.2 EN | `/SYS5V` → **`/ETH_PWR_EN`** (etiqueta renombrada; U12.7 VIN sigue en `/SYS5V`) | — | | | E-01 | U16.54 PD2 | bandera NC → etiqueta **`/ETH_PWR_EN`** | — | | | E-01 | **R139 (nuevo)** | 100k PD | C25803 | `/ETH_PWR_EN` – GND | | E-02 | **R140 (nuevo)** | 4.7k | **C23162** | `/ETH_RST` – GND (en U11.37) | | D-01 | **U27 (nuevo)** | 74LVC1G125GV,125 (Nexperia), SOT-753 sobre `Package_TO_SOT_SMD:SOT-23-5` (mismo land SC-74A) | **C12518** | 1 ~OE GND · 2 A `/DOUT_4G` · 3 GND · 4 Y **`/DOUT_4G_F9P`** · 5 VCC `/3V3_GNSS` | | D-01 | **C170 (nuevo)** | 100nF 0603 | C14663 | `/3V3_GNSS` – GND | | D-01 | U18.26 RXD2 | `/DOUT_4G` → **`/DOUT_4G_F9P`** | — | PC7/R106 siguen en `/DOUT_4G` | | D-01 | Rdfu1 | 22k C88614 → **100k** | **C25803** | | | G-02 | **U30 (nuevo)** | USBLC6-2SC6, SOT-23-6 | **C7519** | 1,6 `/USB_DM` · 3,4 `/USB_DP` · 5 `/USB_VBUS` · 2 GND | | H-02b | R56, R57, R58, R85, R87, Rgs1 | C103211 (100k 5 %) → **C25803** (100k 1 %) | **C25803** | texto de valor conservado `100k`. R20/Ren1/Rfreq1 sin cambio (el bloque U2 es DNP) | | V1-01, F-12, F-05, F-06, C-04, A-07, A-02 | — | solo layout → §10 | | | ### 2.3 Menores (lista D19) | Hallazgo | Ref | De → A | LCSC | Pines / nets | |---|---|---|---|---| | A-11 | R56.2 | GND → **`/3V3` (etiqueta renombrada): CHGOFF con pull-up → cargador apagado** sin MCU | C25803 | | | A-13 | U6.20, TP2.1 | `/PFO_TP` → **`/PFO`** (etiquetas renombradas) | — | | | A-13 | U16.29 PB10 | bandera NC → etiqueta **`/PFO`** | — | | | A-13 | **R141 (nuevo)** | 100k PU | C25803 | `/3V3` – `/PFO` | | B-09 | R132, R133, R134 | 0R C304185 → **22R** | **C23345** | R131 (VDD) sigue en 0R | | B-09 | **C171 (nuevo)** | 100nF 0402 en J14.C1 | **C1525** | **`/SIMB_VDD`** – GND (J14.C1 está en `/SIMB_VDD`, después de R131; el «(`/SIM_VDD`)» del informe nombra el lado del módem) | | B-10 | **R142 (nuevo)** | 100k PD | C25803 | `/MODEM_STATUS` – GND | | B-10 | **R143 (nuevo)** | 100k PU | C25803 | `/3V3` – `/DIN_4G` | | B-10 | R106 | 100R C22775 → **1k** | **C14676** | | | C-07 | U18.50 SAFEBOOT_N | bandera NC → etiqueta **`/GNSS_SAFEBOOT_N`** | — | | | C-07 | **TP10, TP11 (nuevos)** | `TestPoint:TestPoint_Pad_D1.0mm`, fuera del BOM | sin parte | TP10 `/GNSS_SAFEBOOT_N`, TP11 `/GNSS_RESET_N` | | D-02 | Y3 | `Device:Crystal` HC-49SD C14872 → **`Device:Crystal_GND24`**, `Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm`, SCTF SX3B25.000F1010F30 (25 MHz, CL 10 pF, ESR 30 Ω) | **C2901684** | pin 1 `/HSE_IN` · **pin 3 `/HSE_OUT`** · pines 2/4 **GND** (cable nuevo + etiqueta GND). Hacía falta cambiar el símbolo: uno de 2 pines sobre el land de 4 pads habría puesto HSE_OUT en el pad 2 de GND. El pin 3 nuevo queda exactamente donde estaba el pin 2 viejo, así que la etiqueta `HSE_OUT` conecta sin cambio | | D-02 | C113, C114 | 15pF C1644 → **12pF** C0G | **C38523** | | | D-03 | Y4 | FC-135 CL 12.5 pF C32346 → **FC-135 CL 7 pF** (Epson Q13FC13500002; 7 pF confirmado en listados de distribuidores) | **C48615** | huella sin cambio | | D-03 | C115, C116 | 12pF C38523 → **6.8pF** C0G | **C1679** | | | D-05 | Rigb1 | 3.3k C22978 → **2.2k** | **C4190** | relación 0.0833 | | D-09 | **R144 (nuevo)** | 100k PD en la base de Q5 | C25803 | `/BASE_LS` – GND | | D-12 | U16.42 PA9 | bandera NC → etiqueta **`/USART1_TX`** | — | | | D-12 | **TP9 (nuevo)** | `TestPoint:TestPoint_Pad_D1.5mm`, fuera del BOM | sin parte | `/USART1_TX` | | E-03 | C95, C96 | 18pF C1647 → **33pF** C0G (Y1 conservado) | **C1663** | | | E-04 | C91 | 4.7uF C1779 0805 → **10nF** X7R, `C_0603_1608Metric` | **C1589** | `/ETH_1V2` | | E-04 | C90 | 10uF C440198 → **4.7uF** 0805 | **C1779** | `/ETH_TOCAP` | | E-04 | **C172, C173 (nuevos)** | 100nF 0603 en AVDD 4/8 y 11/21 | C14663 | `/3V3_ETH` – GND | | F-52 | **U31 (nuevo)** | TMP102AIDRLR, **I²C 0x49** (ADD0 → V+) | **C99269** | 1 `/I2C_SCL` · 2 GND · 3 NC · 4 `/3V3` · 5 `/3V3` · 6 `/I2C_SDA` | | F-52 | **C174 (nuevo)** | 100nF 0603 | C14663 | `/3V3` – GND | | G-03 | P11, P12 | `…MC_1,5_3-G-3.5_1x03_P3.50mm_Vertical` (no está en la librería) → **`Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_Horizontal`**; poblados (D10) | C5160226 (sin cambio) | | | G-03 | J10 | `Connector_RJ45:…` (alias no configurado) → **`Connector_RJ:RJ45_Hanrun_HR911105A_Horizontal`**; poblado | C12074 (sin cambio) | | | G-04 | **JP6 (nuevo)** = JP_CUT | `Jumper:SolderJumper_2_Open`, huella abierta, valor CUTOFF_BYPASS, fuera del BOM | sin parte | 1 `/MAIN5V`, 2 `/SYS5V` | | G-08 | **D36, D37, D38 (nuevos)** | PESD5V0S1BA, `Diode_SMD:D_SOD-323` (igual que D14–D16) | **C2827694** | pin 1 `/NRST` / `/NTC_TEMP` / `/NTC2`, pin 2 GND | | H-08 | C22, Y2 | texto de valor "22uF/50V" → **"10uF/50V"**; "1.8432MHz" → **"3.6864MHz"** | sin cambio | | | B-15 | R107, R108 | valor "0R-DNP" → **"0R-NEVER-FIT"** + campo `Note` (siguen DNP) | — | | | J-04 | 23 banderas NC huérfanas (x = 453.898 / 484.378) | borradas | — | | | J-04 | banderas NC en U16.37, U16.38, U10.13, U10.14 | borradas (los pines siguen en sus nets) | — | | | J-04 | tramos de cable | **2b755f7f borrado** (el tramo colgante sobre P1.4); **7c1dbfc0 recortado** de y 219.71 a 218.948 para que termine en su etiqueta GND (R52.2 sigue en GND); **46f71e27 conservado** (lleva la etiqueta GND de P1.4) y la unión de P1.4 conservada. Ver §12 | — | sin cambio de net | ## 3. Partes nuevas — dónde están en la hoja Todas las partes nuevas van en espacio libre encontrado con un mapa de ocupación de la hoja (símbolos, pines, etiquetas, cables, textos), en la rejilla de 1.27 mm, cada grupo con una nota azul «v6 audit : …» que enuncia la regla de colocación física. Coordenadas en mm de esquemático (hoja A1). | Grupo | Refs | Posición en la hoja | Bloque al que pertenece | |---|---|---|---| | C-01 | R135, U28, R136 | (402–475, 196) | debajo del bias-T U18 / L21 | | F-02 | D35 | (94, 36) | junto a P1 | | A-05 | C161, C162 | (377–391, 226) | a la derecha de C32–C34 | | F-03 | C163, C164, C165 | (184–213, 295) | a la izquierda de U20 | | B-02 | C166, C167 | (401–415, 404) | a la derecha de U19 (capacitores de VBAT) | | F-51 | U29, C168 | (257–287, 141) | arriba de los pasivos del cargador (R50/R55) | | F-51 | R137, R138, C169 | (264–298, 220) | junto a R50/R56 | | E-01 | R139 | (674, 217) | en U12 | | E-02 | R140 | (692, 60) | en U11 | | D-01 | U27, C170 | (268–304, 458) | debajo de U23/U24 | | G-02 | U30 | (489, 307) | junto a J9 | | A-13 | R141 | (218, 246) | cerca de TP1/TP2 | | B-09 | C171 | (328, 460) | arriba de J14 | | B-10 | R142, R143 | (284–298, 498) | debajo de U24 | | C-07 | TP10, TP11 | (522–538, 104) | a la derecha de U18 | | D-09 | R144 | (137, 113) | en Q5 | | D-12 | TP9 | (547, 420) | a la derecha de U16 | | E-04 | C172, C173 | (730–745, 183) | debajo de C94 | | F-52 | U31, C174 | (188–218, 414) | a la izquierda de U23/U24 (bloque del módem) | | G-04 | JP6 | (281, 25) | junto a P5 | | G-08 | D36 / D37, D38 | (328, 133) / (476–503, 232) | en P6 / cerca de P7–P8 | ## 4. Prueba por netlist Netlists exportadas con kicad-cli a través del KiCad MCP después de cada grupo confirmado (`kicad/_to_delete/v6-apply-20260928/netlists/00…05.xml`). `tools/ndiff.py` compara refs, valor, huella, lib_id, todos los campos y propiedades, banderas DNP / BOM / posición, ref.pin → net y clase de red. El conjunto de cambios esperado de cada grupo lo escribió el script de edición *antes* de confirmar el archivo y se verificó contra el diff real. | Grupo | Netlist | Esperado (añadidos / eliminados / campos / pin-net / clase) | Obtenido | Resultado | |---|---|---|---|---| | 1 Bloqueantes | 00-baseline → 01-blockers | 4 / 3 / 38 / 9 / 0 = 54 | 4 / 3 / 38 / 9 / 0 | **COINCIDE** | | 2 Mayores | 01 → 02-majors | 17 / 0 / 36 / 4 / 0 = 57 | 17 / 0 / 36 / 4 / 0 | **COINCIDE** | | 3 Menores | 02 → 03-minors | 16 / 0 / 51 / 9 / 0 = 76 | 16 / 0 / 51 / 9 / 0 | **COINCIDE** (tras la corrección de J-04, §12) | | 4 Reglas de proyecto | 03 → 04-rules (esquemático sin tocar) | 0 / 0 / 0 / 0 / 16 | 0 / 0 / 0 / 0 / 16 | **COINCIDE** | | 5 Cosmético (texto de ref de U30) | 04 → 05-final | 0 | 0 | **COINCIDE** | | Total | 00 → 05-final | composición de los grupos 1–5 | 37 / 3 / 125 / 22 / 16 | **0 diferencias** en cada ref, atributo, pin y clase | Los cambios de campo cuentan tanto `footprint` como el campo `Footprint` cuando cambia una huella. Los 22 cambios pin-net: U20.2, C127.1, C128.1 → `/MAIN5V`; D10.1 → `/VIN_FUSED`; L21.2, C144.1, C145.1 → `/ANT_BIAS`; U18.7 → NC; U18.5 → `/GNSS_ANT_OFF`; U12.2 → `/ETH_PWR_EN`; U16.54 → `/ETH_PWR_EN`; U16.25 → `/NTC_CELL`; U18.26 → `/DOUT_4G_F9P`; R56.2 → `/3V3`; U6.20, TP2.1 → `/PFO`; U16.29 → `/PFO`; U16.42 → `/USART1_TX`; U18.50 → `/GNSS_SAFEBOOT_N`; Y3.2 → GND, Y3.3 → `/HSE_OUT`, Y3.4 → GND. Lista completa: `netlist_diff_total.md`; por grupo: `out/0N-*/netlist_diff.md`. UUID: ningún símbolo existente cambió de UUID (comprobado por grupo); la guarda también se cumplió en cada escritura. ## 5. ERC (kicad-cli 10.0.4 vía KiCad MCP) Los conteos por categoría salen de copias con severidades de ERC acotadas (`kicad/_to_delete/v6-apply-20260928/erc_work/`), porque el MCP imprime solo 30 elementos. Las categorías de la línea base son las de la auditoría (`evidence/erc_summary.md`, mismo hash de archivo); las finales vienen de corridas sobre el archivo final y suman la corrida completa. | Categoría | Antes | Después | Por qué | |---|---|---|---| | Errores | 0 | **0** | | | pin_to_pin | 104 | 102 | −2 por D21 eliminado (símbolo easyeda con pines sin tipo); los símbolos nuevos tienen pines tipados | | no_connect_dangling | 23 | 0 | banderas huérfanas J-04 borradas | | lib_symbol_mismatch | 22 | 21 | Y3 ahora usa una copia fresca de `Device:Crystal_GND24` | | lib_symbol_issues (no está en la librería) | 10 | 11 | +1: `Drogheda-sym:TPS2552DBV` solo embebido (§7). Los 10 viejos siguen (re-enlace omitido, §9) | | footprint_link_issues | 3 | 0 | G-03 (P11, P12, J10) | | no_connect_connected | 2 | 0 | J-04 | | unconnected_wire_endpoint | 2 | 0 | J-04 (tramo borrado / cola recortada) | | Todas las demás comprobaciones (etiquetas sueltas, pines sin conectar, pines de potencia, …) | 0 | 0 | | | Total de avisos | **166** | **134** | | Durante el grupo 3 una corrida intermedia mostró 3 errores (etiqueta/pin sin conectar en P1.4 y R52.2) por la primera eliminación de tramos de J-04; el diff de netlist marcó los mismos dos pines. Ambos se corrigieron antes de continuar (§12). ## 6. Reglas de proyecto (F-01, D18) ### 6.1 Clases de red (`hbox-watchdog-v6.kicad_pro`) Todos los patrones viejos se sustituyeron por nombres completos exactos de net (desaparecen los duplicados sin prefijo y los patrones muertos `3V3_MODEM`, `SW3_NODE`). En la netlist final cada patrón resuelve a una net real. | Clase | Nets | Clearance | Pista | Vía | Prioridad | |---|---|---|---|---|---| | HV24 | `/24V_IN` `/VIN_FUSED` `/VIN_PROT` `/24V` `/IGN_IN` `/Q10_GATE` `/Q23_GATE` `/SW_PWRIN` `/BOOT_PWRIN` `/SW_FAN` `/BST_FAN` | 0.3 (era 0.5) | 1.0 (era 0.5) | 0.8/0.4 | 0 | | PWR_HI | `/BAT_PLUS` `/SW_BAT` `/MAIN5V` `/VEH5V` `/SYS5V` `/VIN_SW` | 0.15 (era 0.2) | 1.5 | 0.8/0.4 | 1 | | PWR_MODEM (nueva) | `/VBAT_MODEM` | 0.15 | 1.5 | 0.8/0.4 | 2 | | PWR_MID | `/SW_5V` `/SW_IN` `/5V_FAN` `/FAN_RET` | 0.15 (era 0.2) | 0.6 (era 1.0) | 0.8/0.4 | 3 | | RF (nueva) | `/RF_GNSS` `/RF_ANT_GNSS` `/RF_LTE` `/RF_ANT_LTE` | 0.2 (gap CPWG) | 0.3 (ancho CPWG; valor final con la calculadora de JLC) | 0.6/0.3 (no se pretenden vías) | 4 | | Default | todo lo demás, incl. `/3V3_ETH` (sacada de PWR_MID, J-02), `/EN_FAN`, `/EN_PWRIN`, `/SW_MODEM`, `/BST_MODEM` | 0.15 (era 0.2) | 0.2 | 0.6/0.3 | — | Cambios de clase en la netlist (16): a HV24 `/VIN_FUSED` `/VIN_PROT` `/24V` `/IGN_IN` `/Q10_GATE` `/Q23_GATE` `/SW_PWRIN` `/BOOT_PWRIN` `/BST_FAN` (desde Default) y `/SW_FAN` (desde PWR_MID); `/3V3_ETH` PWR_MID → Default; `/VBAT_MODEM` → PWR_MODEM; las cuatro nets RF → RF. **Decisión sobre la lista HV24 (difiere de la tabla del informe, anterior a A-01):** `/VIN_MODEM` ya no existe, y **`/SW_MODEM` y `/BST_MODEM` se dejaron fuera de HV24**. Con A-01, U20 corre desde `/MAIN5V` (≤ 5.5 V), así que son nodos de conmutación/boot de clase 5 V; en HV24 levantarían errores falsos de 0.3/0.5 mm alrededor de U20 (como `/ETH_SW`, se quedan en Default con la regla de ancho T15). `/SW_FAN`, `/BST_FAN`, `/24V` y `/Q10_GATE` **siguen en HV24**: las huellas de U2 y Q10 permanecen en la tarjeta como DNP y llevarían voltaje de vehículo si alguna vez se montaran. ### 6.2 `.kicad_dru` (conjunto corregido por la verificación, textual; sustituye «Minimum clearance 1», «HV24 clearance», «HV24 exception: MP1584EN land pattern») ``` (rule "Floor 0.15 (non-HV24, non-RF)" (condition "A.NetClass != 'HV24' && B.NetClass != 'HV24' && A.NetClass != 'RF' && B.NetClass != 'RF'") (constraint clearance (min 0.15mm)) ) (rule "HV24 to HV24" (condition "A.NetClass == 'HV24' && B.NetClass == 'HV24'") (constraint clearance (min 0.2mm)) ) (rule "HV24 outer" (layer outer) (condition "A.NetClass == 'HV24' && B.NetClass != 'HV24'") (constraint clearance (min 0.3mm)) ) (rule "HV24 inner" (layer inner) (condition "A.NetClass == 'HV24' && B.NetClass != 'HV24'") (constraint clearance (min 0.5mm)) ) (rule "HV24 IC land patterns" (layer outer) (condition "A.Type == 'Pad' && B.Type == 'Pad' && ((A.memberOfFootprint('U2') && B.memberOfFootprint('U2')) || (A.memberOfFootprint('U20') && B.memberOfFootprint('U20')) || (A.memberOfFootprint('U25') && B.memberOfFootprint('U25')))") (constraint clearance (min 0.15mm)) ) ``` Se añadió un encabezado de comentario de 3 líneas sobre el conjunto. La regla de texto de serigrafía y las tres reglas de aviso de ancho de potencia T15 no cambian (la regla T15 todavía nombra `/VIN_MODEM`, ahora un nombre muerto; inofensivo). La cláusula U20 de la regla de land patterns ya no coincide con nada tras la decisión HV24 de arriba; se conservó para mantener el conjunto textual de la verificación. ## 7. Librería - **H-04 corregido:** `(property "LCSC Part" "C2071691")` borrado de `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` (una línea, acotada; el resto del archivo es byte-idéntico). Esa huella la comparten U20 (AP64350, C2071691) y U25 (TPS54360B, C524806); ambos resuelven ahora por sus campos `LCSC`. La copia de U25 en la tarjeta todavía lleva el campo hasta que Michelle actualice la huella desde la librería (§10). - **Otros valores `LCSC Part` en `Drogheda-v6.pretty`, cotejados contra sus usuarios (no se quitaron):** IND-SMD_L13.5-W12.5 C840531 = L22 ✓ · LCC-LGA-102 C5120257 = U18 ✓ · LGA-124 C18548276 = U19 ✓ · LGA-12 C5126709 = U26 ✓ · RF-SMD_FRF05002 C88374 = J12, J13 ✓ · SMA_L4.4 C113952 = D22 ✓ · VSSOP-8 C730237 = U23, U24 ✓ · SOD-923 C82326 = D27 ✓ (D28 pasó a 0402) · **SOD-128 C50603 ahora sin uso** (D21 eliminado). Ninguno está mal. - **Símbolo TPS2552:** KiCad 10 no tiene símbolo TPS2552 (los interruptores MIC2007/2008 SOT-23-6 tienen otro pinout), así que se creó `Drogheda-sym:TPS2552DBV` y se embebió solo en el esquemático: símbolo de caja, 1 IN power_in, 2 GND power_in, 3 ~EN input, 4 ~FAULT open_collector, 5 ILIM passive, 6 OUT power_out, huella SOT-23-6, enlace a la hoja de datos de TI. `Drogheda-sym.kicad_sym` no se editó (fuera del conjunto de archivos de este pase; compartido con v5), que es el +1 aviso ERC «not found in library». Copiarlo a la librería en un pase de librería. - Símbolos de librería nuevos embebidos desde KiCad 10: `74xGxx:74LVC1G125`, `Power_Protection:USBLC6-2SC6`, `Device:Crystal_GND24`. `Sensor_Temperature:TMP102xxDRL` ya estaba en caché en la hoja y es idéntico en contenido a la librería. ## 8. Topología de polaridad inversa y fusible después de V1-01 / A-01 ``` P1.1 ─ /24V_IN ─ F2 (3 A Nano2, en portafusible) ─ /VIN_FUSED ─┬─ D10 SMBJ33A (pad 1 cátodo) ─ GND └─ Q23 IRFR5305: D=/VIN_FUSED, S=/VIN_PROT, G=/Q23_GATE D33 zener clamp S→G, R119 gate a GND /VIN_PROT ─ D32 SMCJ33A, C149–C151, U25 (TPS54360B) → /VEH5V /24V_IN también ─ Q10.D (rama Q10 DNP: /24V no lleva ninguna parte montada) ``` - Polaridad correcta: la corriente fluye P1 → F2 → diodo de cuerpo de Q23 (drain→source), Q23 se enciende con su gate llevado a GND (V_GS recortado a −15 V por D33) → /VIN_PROT. D10 y D32 recortan transitorios; D10 queda ahora detrás de F2, así que un TVS que falle en corto abre F2 en vez de cargar el arnés. - **P1 invertido:** /VIN_FUSED se va a negativo; el gate de Q23 (a GND) queda positivo respecto a su source, así que Q23 se mantiene apagado y su diodo de cuerpo en inversa. D10 conduce en directa GND → /VIN_FUSED a través de F2 → **F2 se funde** (en portafusible, reemplazable). Antes de V1-01, D10 estaba en /24V_IN antes de F2 y habría llevado la corriente del fusible del arnés. - El único cobre sin fusible que queda en /24V_IN es P1.1 → F2.1 y el pad Q10.D del Q10 en DNP. Si la rama Q10 se vuelve a montar algún día, mover primero Q10.D a /VIN_FUSED. - U20 queda ahora en /MAIN5V, aguas arriba del corte P5 (nota A-01): P5 sigue quitando SYS5V → MCU sin energía → R113 mantiene el EN de U20 en bajo (µA). ## 9. Elementos omitidos y decisiones **No aplicados** 1. **G-01** (restaurar MH4 en (193.2, 90.3), barrenos de la abrazadera del disipador MH11 + pareja): barrenos de montaje solo de tarjeta; Michelle (D11 lo vuelve Bloqueante). 2. **J-04, re-enlazar los 10 símbolos «not found»** (Q_*MOS_G?S ×7, D_Zener_ANK ×2, PCF8574): requiere escribir sus definiciones en la `Drogheda-sym.kicad_sym` compartida (fuera del conjunto de archivos permitido) y cambiar 10 lib_id. Cosmético; se dejó como avisos. Los 22 desajustes de librería se dejaron como pide el informe (sin actualización masiva). 3. **G-08, resistencia opcional de 100 Ω en serie en NRST:** opcional en el informe; partiría `/NRST`. No aplicada. 4. **D-08** (strap de identificación de tarjeta), **H-03** (land MWSA0804S), **J-03** (tipos de pin de librería): excluidos por D19. 5. Mayores solo de layout (V1-01 layout, F-12, F-05, F-06, C-04, A-07) y A-02: lista de layout, §10. **Decisiones tomadas al aplicar (más allá de la letra de §7)** - El marcado DNP sigue la convención existente de la hoja (`(dnp yes)` solamente, como en C146/C147, R107/R108, R124/R125, R127–R130, U22): las huellas se quedan en la tarjeta con el atributo DNP, y KiCad deja las partes DNP fuera de las salidas BOM/CPL. - U17, U21, U10 conservaron sus símbolos (numeración de pines idéntica) y solo cambiaron campos; el diff de netlist muestra en ellos solo cambios de valor/LCSC/MPN. - Los pads de prueba nuevos (TP9–TP11) y JP6 quedan fuera del BOM y de los archivos de posición (sin parte comprable). TP1–TP8 se dejaron como estaban. - Lista de nets HV24: §6.1. Eliminación de PF15: §2.1. Net de C171: §2.3. ## 10. Delta de layout para Michelle Ejecutar Tools → Update PCB from Schematic sobre `hbox-watchdog-v6.kicad_pcb` con **«Delete footprints with no symbols» marcado** (corridas anteriores no borraban las huellas eliminadas) y «Update footprints» activo para que se sustituyan las huellas cambiadas. Después correr DRC (reglas nuevas, abajo). **Huellas nuevas por colocar (37)** | Ref | Huella | Dónde / restricción (de la auditoría) | |---|---|---| | U28 | SOT-23-6 | interruptor de polarización GNSS junto a L21/C144/C145 en J12; `/ANT_BIAS` a ≥ 1 mm de la línea RF con una franja de GND cosida (F-06); alimentación corta desde `/3V3_GNSS` | | R135, R136 | 0603 | en los pines 3 y 4 de U28 | | D35 | D_SMB | **en P1.3**; con Rig1 movido a ≤ 3 mm de cobre de P1.3 para que `/IGN_IN` mida ≤ 3 mm en F.Cu y el tramo largo pase a ser `/IGN_SENSE` (F-02) | | C161, C162 | 1210 | a ≤ 2 mm de los pines VSYS 1/24 de U6, GND en el cobre del pad térmico (EP) de U6 (A-05/A-02) | | C163, C164 | 0805 | a ≤ 2–3 mm de U20.2, GND en el cobre del pad térmico (EP) de U20 (F-03) | | C165 | CP_Elec_6.3x7.7 | en U20.2 (F-03) | | C166, C167 | 0805 | a ≤ 3 mm de L20.2 (B-02) | | U29 + C168 | SOT-563 + 0603 | **entre U6 y L6, a ≤ 5 mm del pad térmico (EP) de U6** (F-51, R4) | | R137, R138, C169 | 0603 | derivación de la NTC del paquete: R138/C169 en el pad 25 de U16 (PC5); R137 en cualquier punto de `/NTC` | | R139 | 0603 | en el pin 2 de U12 (EN); pista nueva `/ETH_PWR_EN` al pad 54 de U16 (PD2) | | R140 | 0603 | en U11.37 (`/ETH_RST`) | | U27 + C170 | SOT-23-5 (SOT-753) + 0603 | **en U18.26 (RXD2)**; VCC desde `/3V3_GNSS` | | U30 | SOT-23-6 | **a ≤ 3 mm de cobre de los pads de J9**, D+/D− ruteados a través de los pads del dispositivo, vía a GND a ≤ 1 mm (G-02) | | R141 | 0603 | pull-up de `/PFO` cerca del pad 29 de U16 (PB10) | | C171 | 0402 | en J14.C1 | | R142, R143 | 0603 | en `/MODEM_STATUS` (PC9) y `/DIN_4G`, donde convenga | | TP10, TP11 | TestPoint_Pad_D1.0mm | cerca de los pines 50 (SAFEBOOT_N) y 49 (RESET_N) de U18, junto a un pad de GND (C-07) | | R144 | 0603 | en la base de Q5 | | TP9 | TestPoint_Pad_D1.5mm | pad de TX de depuración PA9 junto a TP3–TP5 (D-12) | | C172, C173 | 0603 | en los pines AVDD 4/8 y 11/21 del W5500 | | U31 + C174 | SOT-563 + 0603 | **entre U19 y U20** (F-52) | | JP6 | SolderJumper de 2 pads, abierto | a través de P5 (`/MAIN5V`–`/SYS5V`), serigrafía «CUTOFF BYPASS» (G-04) | | D36, D37, D38 | SOD-323 | a ≤ 3 mm de P6.1, P7.1, P8.1 hacia GND (G-08) | Huellas eliminadas: D20 (D_SMA), D21 (SOD-128). (PF15 es una bandera de potencia virtual, sin huella.) Cambios de huella: U15 → `SOIC-16_3.9x9.9mm` angosto (recolocar C84–C88, re-ruteo local) · D28 → `D_0402_1005Metric` (con el re-ruteo LTE de F-06) · Y3 → `Crystal_SMD_3225-4Pin_3.2x2.5mm` (pad 1 HSE_IN, pad 3 HSE_OUT, pads 2/4 GND; a ≤ 3–5 mm de PH0/PH1, sin pista interna debajo) · C91 → 0603 · JP1 → Bridged (net-tie) · J10 → alias `Connector_RJ:` (misma geometría) · P11/P12 → Horizontal (ya así en la PCB) · U25 → volver a traer la huella de la librería para que su copia en tarjeta pierda `LCSC Part` (H-04) · Y4 y F2 conservan sus huellas. Cambios de DNP: poner DNP: U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1, Rfreq1, Ren1, Ren2, R20, R21, Q10, DzG1, Rrp1, C10, C11, C22. Quitar DNP: J10, P11, P12 (poblados según D10). Nets que cambian de ruteo - `/VIN_MODEM` desaparece: U20.2, C127, C128 pasan a **`/MAIN5V`** (≥ 1.5–2 mm hasta U20; borrar el tramo de 48 mm de `/VIN_MODEM`, A-01/A-07). - `/VIN_FUSED` gana D10.1: P1.1 → F2 → {D10, Q23.D}; `/24V_IN` = P1.1, F2.1, Q10.D solamente. - `/ANT_BIAS` (U28.6 → L21.2, C144, C145); U18.7 ahora es NC; `/GNSS_ANT_OFF` (U18.5 → U28.3, R135); `/GNSS_ANT_SHORT_N` gana U28.4 y R136. - `/ETH_PWR_EN` (U12.2, U16.54, R139); U12.2 sale de `/SYS5V`. - `/DOUT_4G_F9P` (U27.4 → U18.26); U18.26 sale de `/DOUT_4G`; U27.2 entra a `/DOUT_4G`. - `/PFO` (renombrada desde `/PFO_TP`: U6.20, TP2, más U16.29 y R141). - `/NTC_CELL` (U16.25, R137, R138, C169); `/NTC` gana R137. - `/GNSS_SAFEBOOT_N` (U18.50, TP10); `/USART1_TX` (U16.42, TP9). - R56.2 pasa de GND a `/3V3`; pads de Y3 re-asignados como arriba. DRC con las reglas nuevas (corrido sobre una copia de la tarjeta actual, todavía sin actualizar): 161 errores de clearance (eran 0). **149 son proximidades de relleno de zona** (rellenos guardados a 0.15 mm de nets HV24 y RF); un refill de zonas los quita. **12 son separaciones de cobre reales:** `/IGN_IN` en In2 vs vía de GND 0.250, `/FAN_PWM` 0.291, vía de `/5V_FAN` 0.300, `/NTC2` 0.305, vía de `/VEH5V` 0.340 (todos F-02, desaparecen con el movimiento a P1.3); `/VIN_PROT` vs `/VEH5V` 0.157 y 0.191 en (175.5, 113.8); `/USB_VBUS` vs Q23.1 `/Q23_GATE` 0.225; `/SW_PWRIN` vs pista de GND 0.270; `/24V` vs `/COMP_FAN` 0.290 ×2 (rama DNP, pero el cobre existe); clase RF: vía de `/RF_LTE` vs `/PWR_CTRL` 0.150 (se va con el re-ruteo F.Cu de F-06). Salvedad: KiCad lista una sola violación entre el segmento largo de `/IGN_IN` en In2 y `/VEH5V` (la vía a 0.340 mm); las pistas paralelas de 1.0 mm de `/VEH5V` a su lado están a 0.221–0.240 mm (recalculado a partir de las coordenadas de las pistas, coincide con los 0.221 mm de la auditoría) y no se listan como elementos separados. Así que no leer el conteo del DRC como la lista completa; el movimiento de F-02 elimina de todos modos todo el tramo de `/IGN_IN` en In2. Los avisos `track_width` bajan 183 → 121 (`/3V3_ETH` ahora en Default, ancho PWR_MID 0.6). Los demás elementos del DRC no cambian (82 lib_footprint_mismatch, 4 lib_footprint_issues, 11 silk_overlap, 2 silk_over_copper, 1 silk_edge). Tras Update PCB, esperar elementos HV24 nuevos en `/VIN_FUSED` en D10 y la desaparición de los de `/VIN_MODEM`. Comprobar una vez con Inspect → Clearance Resolution que las clases sobrevivieron al guardado desde la GUI (protocolo de resincronización §5). **Notas de pedido (de las consultas de partes):** C2862740 (TPS7A2033PDBVR, U21) aparece en JLC bajo «Pre-ordered Chips»: pre-ordenarlo en la cuenta como J14. P11/P12 C5160226 stock 512 (suficiente para 20 tarjetas). Volver a revisar stock el día del pedido (D14). ## 11. Notas de firmware (para FW 0.7.x `board_v6.h`, D15) 1. **PD2 = `ETH_PWR_EN`**: enable de U12 (3V3_ETH), R139 100 k pull-down → Ethernet APAGADO en reset/DFU/batería; ponerlo en ALTO solo con energía de vehículo cuando se necesite Ethernet; mantener SPI2 y PA15 en bajo mientras esté apagado. 2. **PB10 = `PFO`**: PFO del LTC4040, open-drain, R141 100 k pull-up a 3V3; EXTI10 flanco de bajada = entrada a respaldo (VEH5V < PFI 4.40 V bajando / 4.51 V subiendo). Actualizar `V5_PFI` a 4.40 V. 3. **PC5 = `NTC_CELL`** (ADC1_IN15): NTC del paquete a través de 100 k/120 k (relación 120/220) + 10 nF; Rntc = R55·Vntc/(VEH5V − Vntc) con VEH5V desde PA4; válido solo con VEH5V presente. Alimentar `tcell` a `CHG_CELL_HOT/COOL`. 4. CHGOFF por omisión: R56 ahora es pull-up a 3V3 → PA8 (`CHRG_EN`, maneja CHGOFF del LTC4040) en alto = cargador apagado siempre que el MCU no lo maneje. Polaridad sin cambio: el firmware pone PA8 en BAJO para permitir la carga. 5. **Ignición en PA5 (ADC1_IN5), leer analógico**, sin pull interno: Rigb1 = 2.2 k → relación 2.0 k/24.0 k = **0.0833**: 12 V → 1.00 V, 24 V → 2.00 V, 36 V → 3.00 V, escala completa 39.6 V. Añadir `vign` a `$PHLG`. 6. **TMP102 en 0x48 = sensor del cargador (U29)**, **0x49 = sensor de la zona del módem (U31)**; sin choque de direcciones (0x18 SC7A20, 0x20 PCF8574, 0x44 SHT40, 0x4D SC16IS752). Añadir `tchg`, `tmodem` a `$PHLG`; cortar la carga con `tchg` > 85 °C. 7. Antena GNSS: el ANT_OFF del F9P ahora maneja el ~EN del TPS2552 (poner `CFG-HW-ANT_CFG_VOLTCTRL` = 1, `SHORTDET` = 1). PC2 `GNSS_ANT_SHORT_N` lo maneja el ~FAULT del TPS2552 (open drain, 10 k a 3V3_GNSS): BAJO = corto o riel apagado. PC1 `GNSS_ANT_DETECT` sigue sin manejar (mantener en alta impedancia, inferir antena abierta por C/N0). 8. U27 ahora aísla el RXD2 del F9P: los ciclos de energía solo del F9P con el módem encendido se vuelven seguros en tarjetas que lo tengan; mantener las reglas de retorno de corriente 0.5.5/0.5.6 para PA2/PA10/PC7/PC12. Rdfu1 es 100 k (≤ 27 µA hacia TXD2 con el F9P apagado). 9. `/MODEM_STATUS` (PC9) tiene pull-down de 100 k y `/DIN_4G` pull-up de 100 k en hardware: no hacen falta pulls internos. R106 es 1 k. 10. PA9 es un pad de prueba (TP9, `USART1_TX`): usable como log de depuración solo TX o bootloader USART de ROM. 11. El punto de ajuste de U25 es ahora 5.32 V nominal (R121 57.6 k): mantener `CHG_RAIL_ON` 5.05 V / `CHG_RAIL_OFF` 4.90 V; calcular VDDA desde VREFINT. 12. LSE: Y4 es CL 7 pF → activar `LSEMOD` (alto drive) antes de `LSEON`, respaldo LSI. HSE sigue en 25 MHz (cristal 3225 nuevo); `BOARD_SER_XTAL_HZ` = 3 686 400 (el texto de valor de Y2 ahora coincide). 13. Modo batería (D9): solo LTE (`AT+CNMP=38`), Ethernet apagado. ## 12. Incidentes y sorpresas 1. **No todos los tramos de cable de J-04 estaban colgando.** La auditoría listó tres UUID de tramos. Borrar los tres rompió dos conexiones: en P1.4 la etiqueta GND está en el extremo lejano de 46f71e27 (solo 2b755f7f es el sobrante colgante), y en R52.2 la etiqueta GND está a mitad de segmento en 7c1dbfc0 (solo una cola de 0.76 mm pasada la etiqueta colgaba). ERC mostró 3 errores nuevos y el diff de netlist marcó exactamente P1.4 y R52.2 como inesperados. Se corrigió borrando solo 2b755f7f, conservando 46f71e27 y la unión de P1.4, y recortando 7c1dbfc0 para que termine en su etiqueta. Re-verificado: esperado == obtenido, ERC 0 errores. 2. **Y3 necesitaba un cambio de símbolo**, no de huella: `Device:Crystal` (2 pines) sobre el land 3225-4P habría puesto HSE_OUT en el pad 2 de GND. Se cambió a `Device:Crystal_GND24` en su lugar (UUID conservados, pines 3/4 añadidos), probado por la netlist. 3. **El TPS2552 no tiene símbolo en la librería de KiCad** (se creó uno embebido, §7). 4. **El TPS7A2033PDBVR está en la categoría «Pre-ordered Chips» de JLC** (stock 28 370): pre-ordenar como J14. 5. Queda un cruce de cable en U30: es la caja envolvente de la herramienta MCP para el símbolo USBLC6, verticalmente asimétrico; el PDF muestra el cable de VBUS saliendo del pin hacia afuera. ## 13. Números LCSC nuevos (consulta a la base de datos de JLC vía KiCad MCP, 2026-09-28) | LCSC | Parte | Encapsulado | Stock | Tipo | Usado en | |---|---|---|---|---|---| | C206912 | Littelfuse 0154003.DR 3 A | SMD 9.7×5 (portafusible Nano2) | 2 217 | Ext | F2 | | C22840 | 1.43 kΩ 1 % | 0603 | 4 965 | Ext | R50 | | C1975527 | Littelfuse PESD0402-240 | 0402 | 9 394 | Ext | D28 | | C46506 | TI TPS2552DBVR | SOT-23-6 | 3 002 | Ext | U28 | | C224019 | Littelfuse SMBJ33A | DO-214AA | 9 624 | Ext | D35 | | C57156 | NXP SC16IS752IPW,128 | TSSOP-28 | 2 670 | Ext | U10 | | C177479 | HKR RCT03499KFLF 499 k | 0603 | 26 862 | Ext | R53 | | C23082 | 57.6 kΩ 1 % | 0603 | 3 673 | Ext | R121 | | C5440143 | Samwha 47 µF 16 V X7R | 1210 | 242 640 | Ext | C161, C162 | | C15578 | TI TLV1117LV33DCYR | SOT-223 | 26 999 | Ext | U17 | | C881921 | Lelon OVZ221M1CTR-0608 220 µF 16 V polímero | 6.3×7.7 | 2 442 | Ext | C78, C130, C131, C165 | | C22862 | 113 kΩ 1 % | 0603 | 59 728 | Ext | R116 | | C1542 | 6.8 nF 50 V X7R | 0402 | 128 063 | Pref | C141 | | C1572 | 56 pF C0G | 0402 | 83 992 | Ext | C142 | | C86817 | Murata 22 µF 16 V X5R | 0805 | 4 144 | Ext | C163, C164, C166, C167 | | C99269 | TI TMP102AIDRLR | SOT-563 | 34 854 | Ext | U29, U31 | | C25808 | 120 kΩ 1 % | 0603 | 773 686 | Basic | R138 | | C1589 | 10 nF 50 V X7R | 0603 | 6 584 349 | Ext | C169, C91 | | C2862740 | TI TPS7A2033PDBVR | SOT-23-5 | 28 370 | Ext (categoría pre-orden) | U21 | | C23162 | 4.7 kΩ 1 % | 0603 | 21 915 184 | Basic | R140 | | C12518 | Nexperia 74LVC1G125GV,125 | SOT-753 | 5 234 | Ext | U27 | | C7519 | ST USBLC6-2SC6 | SOT-23-6 | 1 415 | Ext | U30 | | C25803 | 100 kΩ 1 % | 0603 | 10 814 547 | Basic | resistencias de pull nuevas, Rdfu1, conjunto H-02b | | C14663 | 100 nF 50 V X7R | 0603 | 37 493 696 | Basic | C168, C170, C172–C174 | | C23345 | 22 Ω 1 % | 0603 | 4 031 533 | Basic | R132–R134 | | C1525 | 100 nF 16 V X7R | 0402 | 43 509 060 | Basic | C171 | | C14676 | 1 kΩ 5 % | 0603 | 757 955 | Ext | R106 | | C2901684 | SCTF SX3B25.000F1010F30 25 MHz CL 10 pF | 3225-4P | 11 076 | Ext | Y3 | | C38523 | 12 pF C0G | 0603 | 3 346 489 | Basic | C113, C114 | | C48615 | Epson Q13FC13500002 FC-135 CL 7 pF | 3215-2P | 101 342 | Ext | Y4 | | C1679 | 6.8 pF C0G | 0603 | 1 445 998 | Pref | C115, C116 | | C4190 | 2.2 kΩ 1 % | 0603 | 2 920 710 | Basic | Rigb1 | | C1663 | 33 pF C0G | 0603 | 2 808 576 | Basic | C95, C96 | | C1779 | 4.7 µF 25 V X5R | 0805 | 4 715 349 | Basic | C90 | | C2827694 | PESD5V0S1BA | SOD-323 | 303 975 | Ext | D36–D38 | | C25804 | 10 kΩ 1 % | 0603 | (Basic existente) | Basic | R136 | BOM final (`kicad/_to_delete/v6-apply-20260928/bom_final*.csv`, kicad-cli): 306 líneas de BOM pobladas; solo TP1–TP8 no tienen LCSC (pads de cobre, como antes). ## 14. Archivos - Editados en su lugar: `03-Architecture-Hardware/kicad/hbox-watchdog-v6.kicad_sch`, `.kicad_pro`, `.kicad_dru`, `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod`. - PDF: `03-Architecture-Hardware/hbox-watchdog-v6-schematic.pdf`. - El `.kicad_pcb` no se tocó. Si KiCad estaba abierto en v6 durante este pase, cerrarlo **sin guardar** y reabrir antes de Update PCB (protocolo de resincronización §5). - Git (lo ejecuta Leo; nada se confirmó desde aquí): commit dentro del submódulo `kicad` (sch, pro, dru, huella SO-8), push a Gitea `HBox_PCB`, después actualizar el gitlink del padre; `_to_delete/` está en gitignore. Ver también: [manual v6](../manuales/manual-tarjeta-v6.md) · [auditoría completa v6](v6-auditoria-completa.md) · [mapa de pines MCU v6](v6-pinmap.md) · [revisión contra lecciones V5.5](v6-revision-lecciones-v55.md) · [informe de cambios V5.6](v56-cambios-esquematico.md) (lo que de esta auditoría se llevó a la V5.6). ## Historial de revisiones | Versión | Fecha | Cambios | |---|---|---| | 1.0 | 2026-09-28 | Informe original (inglés): aplicación de los hallazgos de la auditoría v6 al esquemático. | | 1.1 | 2026-09-29 | Traducción al español; hashes, respaldos y notas de proceso al anexo de trazabilidad. Sin cambios técnicos. | ??? note "Anexo técnico — trazabilidad" **SHA-256 antes / después:** | Archivo | Antes | Después | |---|---|---| | `hbox-watchdog-v6.kicad_sch` | `ecee9fed851f02e74074340bf8361bced7c385b2502b19c368861b9851c2f04a` | `d54e330d189910afd58e18fc7cd498bdb3e6e5b7b3c4472b6cae7f95650b34c4` | | `hbox-watchdog-v6.kicad_pro` | `25c57f3936b96a4e31cb5947668c172d318189258d6a5d2fa34d230df8958028` | `d577aa43076f5f751c291041dbf3054cb93a87facfe9f339ef91b60e073bd6ce` | | `hbox-watchdog-v6.kicad_dru` | `47538e6cfadc0c53421ff59dadabc0e7f0ad5f11d9e2250618728788080aca1a` | `31ce0f4f23e8178b4b5e837b452e7bb8647d446ffd420559049eaaae78100831` | | `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` | `0171be85ff9bf1d27232731a9931ad9d6c3c2bcdee2f5f3558ee94d2566413f9` | `3f38f26e435c477a7701636d4d5e1c05b4c7bd523e8dd04f9f57128657736313` | | `hbox-watchdog-v6.kicad_pcb` | `6ddec80d1c15f79e69dff6c1a850b28345a5d826389f79cee8c61998240b36bf` | sin cambio | | `hbox-watchdog-v6-schematic.pdf` | — | `a2c94a49…` | Respaldos (nada se borró): `kicad/_to_delete/v6-apply-20260928/` — `00-pre/` (sch, pro, dru, prl, huella SO-8, archivo lateral de DRC), `01-blockers/`, `02-majors/`, `03-minors/`, `04-rules/`, `05-final/`, `netlists/00-baseline … 05-final.xml`, `erc_work/` (copias de aislamiento de ERC), `drc_work/` (DRC sobre una copia de la tarjeta con las reglas nuevas; reporte + JSON), `scratch/` (PDF intermedios, archivo de extracción de librería), `bom_final.csv`, `bom_final_ungrouped.csv`. Área de trabajo del contenedor: `/home/claude/v6audit/apply/` — este informe, `netlist_diff_total.md`, `out/0N-*/` (logs de edición, conjuntos esperados, diffs por grupo), `tools/` (editor, modelo, diff, scripts por grupo), `drc/`, el PDF. **Nota de proceso:** durante el grupo 1 una segunda confirmación de archivo reenvió una copia en caché y escribió la primera versión; se detectó por el hash del archivo en la Mac y desde entonces cada confirmación usó una ruta única. Cada estado confirmado en este informe se comprobó por hash en la Mac.