hbox-docs/docs/hardware/v6-plan-correccion.md

1540 lines
121 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "EinarBoard v6 — Plan de corrección y estado (28-sep-2026)"
tags: [project-drogheda, hardware, hbox, v6, pcb, auditoria, jlcpcb, correccion, puertos]
project: Project Drogheda
author: Helgen Technologies
date: 2026-09-28
version: 1.2
status: ACTIVO — NO se ordena hasta cerrar la lista de liberación
audience: Leo, Michelle (layout), Jesús (banco), ingenieros
---
# EinarBoard v6 — Plan de corrección y estado (28-sep-2026)
!!! 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.
!!! tip "¿Qué sigue para ordenar?"
La versión corta, con el orden, quién hace qué y cuánto tarda: **[Próximos pasos para ordenar](v6-proximos-pasos.md)**.
!!! danger "Veredicto: TODAVÍA NO se ordena — pero el esquemático ya está terminado"
**Esquemático: terminado y verificado de forma independiente.** El 28-sep se hicieron cuatro pasadas:
1. **Correcciones de la auditoría:** 126 cambios. La verificación independiente dio **173 PASS / 0 FAIL**.
2. **Puertos y «sin nueva versión»:** todos los puertos funcionan como están dibujados.
3. **Revisión final independiente:** **26 PASS / 1 FAIL**. El FAIL era la huella de los inductores y ya está corregida.
4. **Paquete LFP-HT (igual que V5.6):** JP2 puenteado 2-3 y R55 = 5.6 k (C23189) → flotación **3.50 V** en vez de 4.00 V.
Esquemático final `d58a89ba…e7b`, **ERC 0 errores**. **El PCB no se tocó.**
**Lo que queda para poder ordenar:**
1. **Layout (Michelle):** la [lista de trabajo](#5-lista-de-trabajo-de-michelle-layout) L-1…L-67 de la sección 5.
2. **Actualizar el PCB desde el esquemático y revisarlo** (paso 0 de la lista).
3. **DRC limpio con las reglas nuevas.** Es la puerta de salida: 0 errores de separación.
4. **Compras y pre-órdenes:** THVD1410DR, TPS7A2033PDBVR y J14; conectores hembra de P11/P12; stackup con control de impedancia (sección 7).
El firmware 0.7.x es necesario para que la v6 funcione en batería, pero **no** detiene el pedido.
**Tarjeta:** `hbox-watchdog-v6` (repo **HBox_PCB**) · **Pedido previsto:** 20 prototipos en JLCPCB
(PCB + ensamble) · **Fecha:** 28-sep-2026 ·
[Auditoría completa (español)](v6-auditoria-completa.md) · [original en inglés](v6-full-audit.md) ·
[Cambios de esquemático — resumen de 3 pasadas](v6-cambios-resumen.md)
!!! warning "Requisito de Leo (28-sep): todos los puertos funcionan y no hay nueva versión"
*«Todos los puertos tienen que funcionar (RS-232, RS-485, Ethernet, USB) y no quiero hacer una nueva versión de la
tarjeta.»*
→ **No habrá nueva versión: todo se hace en este pedido.** Lo que no se hace queda
**[aceptado permanentemente](#9-aceptado-permanentemente)**, con su razón escrita.
**Qué se revisó:** esquemático `ecee9fed…` (25-sep) y PCB `6ddec80d…` (28-sep), KiCad 10.0.4, en solo lectura.
Cuatro auditores por bloque y dos verificadores independientes, que volvieron a calcular **cada** Blocker y Major
desde las fuentes (0 refutados). Resultado tras fusionar duplicados: **81 hallazgos** —
11 Blocker (10 + G-01, que por la decisión D11 ya es Blocker) · 19 Major · 30 Minor · 21 Note.
**Ningún hallazgo cambia la arquitectura de la v6.**
!!! tip "Cómo leer esta página"
- **Leo:** secciones 1 (decisiones), 8 (lista de liberación), 9 (aceptado permanentemente) y 11 (impacto en V5.6).
- **Michelle:** sección 4 (el porqué de cada punto) y sección 5 (lista de trabajo con casillas).
- **Jesús y banco:** secciones 3 (puertos) y 10 (qué medir cuando lleguen las tarjetas).
- **Firmware:** sección 6.
---
## 1. Qué decidimos (y por qué)
Leo pidió: *«si un cambio se puede hacer en el esquemático, hay que hacerlo; toma las mejores decisiones por mí»*.
Claude tomó estas decisiones el 28-sep (17:20 CST). Las preguntas vienen de la §10 del informe.
| # | Decisión | Por qué | Hallazgos |
|---|---|---|---|
| D1 | Entrada = **24 V regulados del gabinete** (Mean Well DDR-60G-24); la tarjeta conserva su margen de 9–36 V. Ignición = **cruda de la máquina, de 12 V y de 24 V**. | Restricción del proyecto. En ICAVE: RTG, Reach Stacker, Empty Handler a 24 V; Tractoplana y Montacargas a 12 V. | F-02, D-05 |
| D2 | **U20 (buck del módem) solo desde `/MAIN5V`**: se quitan D20 y D21 (conexión directa). **Ventilador desde `/VEH5V`** (bloque U2 sin montar, JP1 puenteado). Rama `/24V` de Q10 sin montar. **F2 = 3 A (C206912), eléctricamente antes de D10.** En la misma pasada: A-04, A-05, capacitores de entrada de U20 y valores de lazo de B-02. | Quita la falla de D21 y la rama sin fusible, con menos piezas. Verificado: U25 queda en ≤ 2.95 A. | A-01, V1-01 |
| D3 | **R50 = 1.43 kΩ (C22840)** | ≥ 1.3 A en todas las esquinas y abajo del máximo de 2.5 A del LTC4040. | A-03 |
| D4 | **R121 = 57.6 k (C23082)** → 5.18 / 5.32 / 5.46 V; firmware `V5_PFI` → 4.40 V | El 5 V actual queda abajo del arranque del cargador. | A-04 |
| D5 | ESD de la antena LTE: **se monta PESD0402-240 (C1975527)** en huella 0402 | Se conserva la protección porque el cable de antena sale de la caja. | B-03 |
| D6 | Bias de antena GNSS con **TPS2552DBVR (C46506)**: ILIM→IN (75 mA), ANT_OFF→EN̅, FAULT̅→ANT_SHORT_N | Limita la corriente y avisa del corto. | C-01 |
| D7 | «Sensor a ≤ 10 mm de U6» es **obligatorio**: F-51 completo (TMP102 C99269 en 0x48 junto a U6 + NTC del paquete a PC5: 100 k C25803 / 120 k C25808 / 10 nF C1589) | Requisito R4; lección F5. | F-51 |
| D8 | **PD2 = `ETH_PWR_EN`** (habilita U12, pull-down 100 k). La identificación de tarjeta queda **solo en firmware**: al arrancar, WHO_AM_I del SC7A20 en 0x18 y el F9P respondiendo en USART2, antes de manejar cualquier pin exclusivo de la v6. PA9 queda como pad de TX de depuración. | Cortar la energía por hardware vale más que un strap; la tarjeta se puede detectar. | E-01, D-08, D-12 |
| D9 | En batería: **solo LTE** (`AT+CNMP=38`) y **Ethernet apagado** | Los picos GSM de 2.8 A superan el límite del respaldo. | A-05, B-16 |
| D10 | **J10, P11 y P12 se montan** (Ethernet y RS-485/RS-232 son funciones de la v6, decisiones EinarBoard 1.1). Huellas del esquemático corregidas a las piezas pedidas (P11/P12 de ángulo recto = la huella *Horizontal* del PCB; J10 a una librería que sí existe). Michelle quita los DNP del PCB. | Paridad esquemático ↔ PCB. | G-03 |
| D11 | La v6 debe entrar en la **placa base y standoffs de la V5.5** (el brief dice «sin rehacer gabinete») → **G-01 = Blocker**: restaurar MH4 de la V5.5 y los barrenos de la abrazadera del disipador (MH11 + pareja). L6 se mueve de todos modos por A-02. | No hay retrabajo de gabinete. | G-01 |
| D12 | Fabricación: **JLC04161H-7628 con control de impedancia, ENIG, cobre interno de 1 oz** (y aun así ensanchar las pistas internas de potencia) | Impedancia de RF real y corriente en capas internas. | F-06, A-07, J-02 |
| D13 | Herramienta de BOM: **Fabrication Toolkit** → borrar `LCSC Part` de la huella de U25 en `Drogheda-v6.pretty` y en la tarjeta | El toolkit lee ese campo primero. | H-04 |
| D14 | **20 prototipos primero**; re-verificar stock el día del pedido; pre-ordenar J14 (y U18/U19 si se va a 100) | Stock limitado. | H-02, H-02b |
| D15 | Firmware: §8 del informe → **FW 0.7.x `board_v6.h`**; no es parte de la pasada de esquemático | — | §8 |
| D16 | Minors que son solo valor/campo de esquemático: se aplican **cuando son triviales y seguros**. El resto va al layout o queda aceptado permanentemente (sección 9). **No habrá nueva versión.** | — | §7.3 |
| D17 | Se edita **en el mismo archivo** `hbox-watchdog-v6.*` (regla de Leo, 28-sep: las iteraciones de una tarjeta se editan en su lugar; lo anterior se recupera de git). Copias previas en `kicad/_to_delete/v6-apply-20260928/`. **El `.kicad_pcb` no se toca** (es el archivo de Michelle): ella corre *Actualizar PCB desde esquemático*. | Preferencias del proyecto. | — |
| D18 | **Netclasses y reglas DRC** aplicadas ya en `.kicad_pro` (patrones, clases RF y PWR_MODEM) y `.kicad_dru` (reglas corregidas por el verificador 2) | Así el DRC se vuelve la puerta de salida. | F-01 |
| D20 | **Química del paquete = LFP-HT 26650, la misma que V5.6** (decisión de Leo del 28-sep para V5.6): JP2 puenteado 2-3 (F2 a GND → flotación **3.50 V**), R55 (RNTB) = **5.6 k C23189** con NTC 10 k **B3380** → ventana de carga ≈ +8…+60 °C | Un paquete LFP en una tarjeta con estrapes Li-ion se flotaría a 4.00 V: sobrecarga. v6 usa el mismo paquete que V5.6. | A-02, F-51 |
??? note "Alcance de las pasadas de esquemático (D19 y cierre sin nueva versión)"
- **Pasada 1 — correcciones de la auditoría:** todo lo de la §7.1 (Blockers) y §7.2 (Majors) que toca esquemático o
proyecto, con las decisiones de arriba. G-01 es solo layout (Michelle).
- **Minors aplicados en la pasada 1** (solo esquemático, bajo riesgo): A-11 (R56 → pull-up: cargador apagado por
defecto), A-13 (PFO → PB10 + 100 k), B-09 (22 Ω + 100 nF), B-10 (pull-ups/downs + R106 → 1 k), C-07 (pads de
prueba), D-02 (Y3 → 3225 C2901684 + 12 pF), D-03 (Y4 CL 7 pF + 6.8 pF), D-05 (Rigb1 → 2.2 k; el firmware lee la
ignición por ADC), D-09, D-12 (TP9), E-03 (**se queda Y1**, C95/C96 → 33 pF C1663, sin cambio de huella), E-04,
**F-52 (TMP102 del módem en 0x49)**, G-03 (huellas según D10, montadas), G-04 (JP_CUT), G-08 (3 ESD),
H-08 (textos de valor), J-04 (banderas NC huérfanas o sobre pines conectados, trozos de cable),
B-15 (R107/R108 DNP con nota «nunca montar»).
- **Pasada 2 — puertos y sin nueva versión:** RS-485, RS-232, H4, Ethernet, CTS del SC16IS752 y TP12 (sección 3);
**H-03 hecho** (huella MWSA0804S) y **B-13 hecho** (K1 DNP, enlace directo R148).
- **Pasada 3 — revisión final:** huella MWSA0804S corregida a la tierra de Sunlord, C176 en U28 (N2), Y3 confirmado (N1).
- **No aplicado → aceptado permanentemente** (sección 9): D-08 (identificación solo por firmware) y J-03 (tipos de
pin de la librería; cosmético).
---
## 2. Estado por hallazgo (Blockers y Majors)
**Quién:** *Esquemático* = Claude, 28-sep · *Layout* = Michelle · *Firmware* = FW 0.7.x · *Compras* = pedido JLC.
Cada punto de esquemático se comprobó contra el netlist final. La verificación independiente cubrió 126 ítems:
**173 PASS / 0 FAIL**, ERC 0 errores.
| ID | Problema | Por qué importa | Corrección | Quién | Estado |
|---|---|---|---|---|---|
| **A-01** | La rama `/24V` no tiene fusible y alimenta a U20 (módem) y U2 (ventilador); D21 (30 V) la une con `/MAIN5V` | D21 puede embalarse térmicamente a 45–60 °C; en corto pone 24 V sin fusible en el 5 V | U20 solo desde `/MAIN5V` (sin D20/D21); ventilador desde `/VEH5V`; rama Q10 sin montar; F2 3 A primero | Esquemático · Layout | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| **F-02** | La ignición cruda `/IGN_IN` corre 106.5 mm en In2 a 0.221 mm de `/VEH5V` | Es la geometría del corto del 23-jul; una capa interna no se inspecciona ni se repara | TVS D35 SMBJ33A en P1.3; Rig1 a ≤ 3 mm de P1.3; el tramo largo pasa a `/IGN_SENSE` | Esquemático · Layout | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| **F-01** | Las netclasses no resolvían y una regla de 0.15 mm anulaba todas: el DRC no veía el 24 V | «DRC 0 errores» no significaba nada: F-02 lo pasó | Tabla de netclasses + `.kicad_dru` corregido; rellenar y DRC como puerta | Esquemático (reglas del proyecto) · Layout | ✅ Reglas aplicadas en el proyecto y verificadas (28-sep) · cobre pendiente |
| **H-04** | La huella de U25 trae `LCSC Part` = C2071691 (AP64350, 40 V) y Fabrication Toolkit lee ese campo primero | JLC montaría un buck de 40 V detrás de un clamp de 53 V: pasa el banco y muere en campo | Campo borrado en la librería; Michelle actualiza la huella de U25 en el PCB | Esquemático · Layout | ✅ Aplicado en la librería y verificado (28-sep) · campo en PCB pendiente |
| **C-01** | El bias de la antena GNSS no tiene límite de corriente | Un coaxial en corto (fallas H0005/H0014) daña L21 y VCC_RF del F9P, y nadie se entera | U28 TPS2552 (C46506) a 75 mA, aviso de corto a PC2; C176 de desacople | Esquemático · Layout · Firmware | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| **B-03** | El ESD de la antena LTE (D28) es unidireccional de 5 V en una línea que llega a 14.1 V pico | Recorta la señal, genera espurias (homologación) y D28 puede quedar en corto | D28 → PESD0402-240 (C1975527), bidireccional 24 V, huella 0402 | Esquemático · Layout | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| **A-02** | Cobre y colocación del cargador LTC4040 (U6) repiten la lección F5: `/SW_BAT` 0.5 mm, EP sin vías, L6 a 8.65 mm | Se calienta en carga y respaldo; no se cumple R5 (≥ 1.3 A sin ciclado térmico) | Re-agrupar U6; `/SW_BAT` polígono ≥ 2 mm; 9 vías en el EP | Layout | Pendiente — layout |
| **A-03** | R50 = 825 Ω programa 2.42 A (hasta 2.57 A, más que los 2.5 A del LTC4040) | Repite H0008; U25 trabaja en el límite de RS1 siempre que carga | R50 → 1.43 kΩ (C22840): 1.316–1.483 A | Esquemático | ✅ Aplicado en esquemático y verificado (28-sep) |
| **H-01** | U15 (SO-16 angosto) está sobre una huella SOIC-16 ancha | No se puede soldar: RS-232 muerto en todas las tarjetas | Huella `SOIC-16_3.9x9.9mm`; U15 ahora es TRS3232EIDR (sección 3) | Esquemático · Layout | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| **H-02** | U10 y R53 no tienen stock para ningún pedido | JLC no las coloca; sin R53 el respaldo de batería no regula | U10 → C57156 (SC16IS752), R53 → C177479 | Esquemático · Compras | ✅ Aplicado en esquemático y verificado (28-sep) · stock el día del pedido |
| **G-01** | Cambiaron los barrenos vs V5.5: falta MH4 en (193.2, 90.3) — L6 quedó encima — y los de la abrazadera del disipador | No entra en la placa base de la V5.5; un standoff metálico presionaría L6 / `/BAT_PLUS` | Restaurar MH4 y poner la pareja de la abrazadera junto a U19 (D11) | Layout | Pendiente — layout |
| V1-01 | D10 (TVS de entrada) está antes del fusible F2 | Con P1 al revés, D10 conduce directo sobre el arnés sin fusible de tarjeta y falla en corto | F2 primero: P1 → F2 → D10 ∥ Q23 | Esquemático · Layout | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| D-01 | U24 manda 3.3 V a RXD2 del F9P aunque el F9P esté apagado | El riel del F9P queda pre-polarizado y su reinicio por corte de energía falla sin avisar (lección 0.5.5/0.5.6) | Compuerta U27 74LVC1G125 (C12518) alimentada de `/3V3_GNSS`; Rdfu1 → 100 k | Esquemático · Layout · Firmware | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| A-04 | U25 da 5.00 V nominal (4.87–5.14 V), abajo del arranque del cargador (5.05 V) | Con los umbrales del firmware la mayoría de las unidades nunca empieza a cargar | R121 → 57.6 k (C23082): 5.18 / 5.32 / 5.46 V; `V5_PFI` 4.40 V | Esquemático · Firmware | ✅ Aplicado en esquemático y verificado (28-sep) · firmware pendiente |
| B-02 | El bulk de VBAT_MODEM es electrolítico de 85 °C y la compensación de U20 es la de 5 V | En frío o envejecido, los picos GSM bajan VBAT a < 3.4 V: «módem oscuro» en ~1 año | C130/C131 → polímero; R116 113 k, C141 6.8 nF, C142 56 pF; + C166/C167 22 µF | Esquemático · Layout | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| E-01 | 3V3_ETH (W5500) no se puede apagar | En batería gasta más que todo el presupuesto de sueño (lección F8) | EN de U12 → PD2 (`/ETH_PWR_EN`) con R139 100 k a GND | Esquemático · Layout · Firmware | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| A-05 | En batería, un pico GSM con todo encendido pide 2.25–2.33 A al boost (91–97 % de 2.5 A); CSYS efectiva 57–69 µF | En el límite cae VSYS y el módem se apaga (el síntoma de la V5.5 por otro camino) | + C161/C162 47 µF (C5440143) en VSYS de U6; secuencia de firmware y solo LTE | Esquemático · Layout · Firmware | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| F-51 | Ninguna temperatura del cargador ni de la celda llega al MCU | La inhibición térmica del firmware no tiene sensor (R4) | U29 TMP102 (C99269, 0x48) junto a U6 + NTC del paquete a PC5 (`/NTC_CELL`) | Esquemático · Layout · Firmware | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| F-12 | 69 vías de tierra (V5.5: 165); 1 bajo el módem, 0 bajo el F9P, 0 en los EP de reguladores | El LTE desensibiliza al GNSS; los chips pierden su camino de calor | ≥ 400 vías: EP, U19 ≥ 30, U18 ≥ 24, cerca de vías en la orilla | Layout | Pendiente — layout |
| F-03 | Lazos calientes grandes en U25 (≈ 311 mm²), U20 y U12 | Ruido hacia GNSS/LTE y sobrevoltaje en la entrada de U25 | Cin ≤ 2 mm, una sola isla de GND, lazo ≤ 1 cm²; U20 + C163/C164 22 µF + C165 220 µF | Esquemático · Layout | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| A-07 | El camino de 5 V (hasta 2.5 A) va por pistas internas de 0.5 y 0.8 mm | Cobre interno caliente bajo U6/Q7; es prerrequisito de A-01 | ≥ 2 mm en F.Cu o polígono; sensado Kelvin en RS1; cobre interno de 1 oz | Layout · Compras | Pendiente — layout |
| F-06 | El LTE corre 22 mm por In1 bajo pistas de potencia; ninguna línea RF es de 50 Ω en el stackup real | Desacople y desensibilización del F9P; la prueba G3 probablemente falla | Stackup real + control de impedancia; CPWG 0.30/0.20 en F.Cu; cerca de vías ≤ 3 mm | Layout · Compras | Pendiente — layout |
| F-05 | In1, el «plano de tierra», está 19 % vacío y lleva 1572 mm de pistas de 49 redes | Los retornos rodean las ranuras; diafonía entre capas | Despejar In1 bajo USB, cristales, nodos SW, RF y SIM; ≤ 3 islas | Layout | Pendiente — layout |
| C-04 | El interruptor del F9P (Q1) está a 9 mm de la antena LTE; `/SW_5V` cruza 181 mm por In1 | El transmisor LTE se mete al riel del receptor GNSS | Mover Q1/Q5/R1/R2 a la isla GNSS; `/SW_5V` ≤ 15 mm y nada en In1 | Layout | Pendiente — layout |
| G-02 | El USB-C del módem (J9) no tiene ESD | J9 es la única vía de recuperación del módem | U30 USBLC6-2SC6 (C7519) a ≤ 3 mm de J9 | Esquemático · Layout | ✅ Aplicado en esquemático y verificado (28-sep) · layout pendiente |
| C-02 | U21 (AP2112K) no tiene arranque suave; la rampa del F9P queda con margen no especificado | Arranques fallidos ocasionales del F9P (≈ 52 000 arranques al año) | U21 → TPS7A2033 (C2862740): 239–367 µs/V | Esquemático · Compras | ✅ Aplicado en esquemático y verificado (28-sep) · pre-orden de C2862740 |
| A-08 | U17 (AMS1117) se queda sin margen en batería | 3V3 degradado en batería, lectura de batería hasta +4 % alta, consumo de 25–55 mW | U17 → TLV1117LV33 (C15578) | Esquemático · Firmware | ✅ Aplicado en esquemático y verificado (28-sep) · firmware pendiente |
| E-02 | `/ETH_RST` no tiene pull-down (y uno de 100 k nunca funcionaría) | El W5500 sale de reset en cada reset del MCU y gasta hasta 128 mA (lección F8) | R140 4.7 kΩ (C23162) a GND en U11.37 | Esquemático · Firmware | ✅ Aplicado en esquemático y verificado (28-sep) · firmware pendiente |
| A-09 | C78 (bulk de 5 V) es electrolítico de 85 °C / 2000 h | ≈ 1 año de vida en una caja de puerto | C78 → polímero C881921 | Esquemático | ✅ Aplicado en esquemático y verificado (28-sep) |
| H-02b | Stock justo: C103211 alcanza para 78 tarjetas, U19 hay 96, U18 hay 104; J14 requiere pre-orden | El pedido se detiene | C103211 → C25803; pre-ordenar J14 (y U18/U19 si ≳ 100) | Esquemático · Compras | ✅ Aplicado en esquemático y verificado (28-sep) · compras pendiente |
---
## 3. Puertos — todos deben funcionar
Cada puerto se revisó de punta a punta: conector → protección → pasivos → transceptor/PHY → pin del MCU o del módem →
periférico de firmware, contra hojas de datos. **Después de la pasada de puertos, todos funcionan como están dibujados.**
La revisión final confirmó cada cambio (pinouts, polaridades, EFCR, orientación del SM712, LEDs de J10 con el plano de Hanrun).
!!! success "USB-C: CC de 5.1 kΩ en los dos conectores ✅"
J9 (Rcc1/Rcc2) y J11 (R100/R101) tienen 5.1 kΩ 1 % (C23186) de CC1 y CC2 a GND; D+ (A6/B6) y D− (A7/B7) unidos en las
dos filas; VBUS no retro-alimenta la tarjeta. No hubo cambios.
### RS-485 (P11)
| Aspecto | Detalle |
|---|---|
| **Cadena** | P11.1 A / P11.2 B / P11.3 GND → **D39 SM712** → R82 120 Ω + JP5 (terminación, abierto) · R145/R146 390 Ω (polarización, DNP) → **U14 THVD1410DR** → RO `/SER_RXA` → U10 canal A (SC16IS752) · DE/RE̅ ← `/RS485_DE` ← **U32 74LVC1G04** ← RTSA̅ (U10.1) |
| **Qué estaba mal** | El SP3485 solo tenía ±2 kV HBM y fail-safe con entradas abiertas. DE/RE̅ iban directo a RTSA̅, que queda en **ALTO** tras el reset: el transceptor **transmitía y bloqueaba el bus** durante el reset, en DFU o sin firmware. |
| **Qué cambió** | U14 → **THVD1410DR (C2671345)**, mismo pinout, ±18 kV IEC contacto, fail-safe con bus abierto, en corto o inactivo · **U32 inversor 74LVC1G04 (C7827) + C175 100 nF**: arranca en recepción · **D39 SM712 (C12067)** en P11 · **R145/R146 390 Ω (C23151), DNP**: opción de polarización |
| **Estado** | ✅ Esquemático aplicado y verificado |
| **Qué falta — layout** | L-49, L-50, L-59 |
| **Qué falta — firmware** | EFCR = 0x10 (dirección automática), vaciar el FIFO RX después de cada trama, CTS sin usar (sección 6) |
| **Compras** | Pre-ordenar THVD1410DR; conector hembra 15EDGK-3.5-03P |
### RS-232 (P12)
| Aspecto | Detalle |
|---|---|
| **Cadena** | P12.1 TX ← U15 T1OUT · P12.2 RX → U15 R1IN · P12.3 GND · **U15 TRS3232EIDR** (bomba C85–C88 100 nF, desacople C89) ↔ U10 canal B (TXB; R1OUT → R147 1 k → RXB) |
| **Qué estaba mal** | U15 estaba sobre la huella ancha (H-01), y el MAX3232 (no-E) **no tiene especificación ESD**. |
| **Qué cambió** | Huella angosta `SOIC-16_3.9x9.9mm` (H-01) · U15 → **TRS3232EIDR (C308878)**, mismo pinout, ±15 kV HBM, **±8 kV IEC contacto**, ±15 kV aire |
| **Estado** | ✅ Esquemático aplicado y verificado |
| **Qué falta — layout** | L-37 (huella, en el paso 0), L-51, L-59 |
| **Qué falta — firmware** | 8N1 sin control de flujo. El canal B lo comparten P12 y H4: usar uno a la vez. La tarjeta transmite por el pin 1 (tipo DTE; cruzar al RX del otro extremo). |
### Header TTL H4 (UART B)
| Aspecto | Detalle |
|---|---|
| **Cadena** | H4.1 3V3 · H4.2 `/SER_TXB` · H4.3 `/SER_RXB` · H4.4 GND |
| **Qué estaba mal** | H4.3 estaba en paralelo directo con la salida R1OUT del transceptor: un TX TTL externo peleaba contra una salida CMOS. |
| **Qué cambió** | **R147 1 kΩ (C21190)** entre R1OUT y RXB: el dispositivo externo gana (≤ 3.3 mA) |
| **Estado** | ✅ Esquemático aplicado y verificado |
| **Qué falta — layout** | L-51 (H4.3 se conecta del lado de U10, no en U15), L-59 |
| **Qué falta — firmware** | H4 **o** P12, nunca los dos a la vez |
### Ethernet (J10)
| Aspecto | Detalle |
|---|---|
| **Cadena** | U11 W5500 ↔ J10 HR911105A (C12074) · SPI2 PB12–PB15, INT̅ PC0, RST̅ PA15 + R140 4.7 k · 3V3_ETH de U12 con EN = PD2 (`/ETH_PWR_EN`) + R139 100 k |
| **Qué estaba mal** | J10 DNP en el PCB · el LED amarillo (ACT) estaba **invertido** (pines 11/12) y nunca encendía · J10.8 (retorno del capacitor Bob-Smith de 1000 pF) sin conectar · 3V3_ETH no se podía apagar (E-01) · `/ETH_RST` sin pull-down (E-02) · TOCAP/1V2O (E-04) |
| **Qué cambió** | J10 montado con `Connector_RJ:RJ45_Hanrun_HR911105A_Horizontal` (D10) · **J10.12 = ánodo amarillo** (`/ETH_ACT_A`, R97 330 Ω), **J10.11 = cátodo** (`/ETH_ACTLED` → U11.27) · **J10.8 → GND** («Connect CHS GND to PCB Ground», plano de Hanrun) · E-01, E-02, E-04 aplicados · Y1 se queda con C95/C96 de 33 pF (E-03) |
| **Estado** | ✅ Esquemático aplicado y verificado |
| **Qué falta — layout** | Quitar DNP (paso 0), L-44, L-52, L-66 |
| **Qué falta — firmware** | Secuencia de encendido del W5500 y apagado en batería (sección 6) |
### USB-C J11 (DFU del MCU)
| Aspecto | Detalle |
|---|---|
| **Cadena** | GCT USB4085 (C7095263) · CC1/CC2 → R100/R101 5.1 k a GND · D+ A6+B6 → D14 → PA12 · D− A7+B7 → D15 → PA11 · VBUS → D16, D13 → `/LDO_IN` (D12 bloquea el regreso a SYS5V) · BOOT0 = SW2 + R98 |
| **Qué estaba mal** | Nada en el esquemático. Los ESD cuelgan de stubs (F-14, layout) y el cristal HSE estaba lejos (D-02). |
| **Qué cambió** | Nada en el conector · Y3 → cristal 3225 (D-02) |
| **Estado** | ✅ Funciona como está dibujado |
| **Qué falta — layout** | L-42, L-43, L-58, L-59 |
| **Qué falta — firmware** | El DFU de ROM (BOOT0 + NRST) necesita el HSE de 25 MHz; en el CDC de la aplicación, **desactivar el sensado de VBUS** (PA9 es TP9) |
### USB-C J9 (módem)
| Aspecto | Detalle |
|---|---|
| **Cadena** | USB4085 · CC1/CC2 → Rcc1/Rcc2 5.1 k a GND · D± → **U30 USBLC6-2SC6** → U19.27/28 · VBUS → U30.5 + U19.24 (solo detección) · U19.6 USB_BOOT → TP8, con **TP12 (1V8)** al lado |
| **Qué estaba mal** | Sin ESD (G-02) · no había un pad de 1.8 V junto a TP8 para forzar el modo de descarga |
| **Qué cambió** | U30 USBLC6-2SC6 (C7519) · **TP12** en `/1V8_MODEM` |
| **Estado** | ✅ Esquemático aplicado y verificado |
| **Qué falta — layout** | L-41, L-43, L-55, L-58, L-59, L-65 |
| **Qué falta — firmware** | J9 solo enumera con el módem encendido: comando de servicio que lo mantenga encendido. Descarga forzada: TP8–TP12 (1.8 V) al encender el módem; si no enumera, TP8–GND (los documentos de SIMCom se contradicen). |
### Otros puertos
| Puertos | Qué estaba mal / qué cambió | Estado | Qué falta |
|---|---|---|---|
| P1 24 V + ignición, P2 banco 5 V, P3 batería, P4 ventilador, P5 corte + JP6, P6 reset externo, P7/P8 NTC, P9 LED de panel, P10 RGB externo, J12 antena GNSS, J13 antena LTE, J14 nano-SIM, pads SWD, SW1/SW2, UART del módem, UARTs del GNSS | Ya corregidos por la pasada 1: F2 primero y D35 en P1 (V1-01, A-01, F-02), C-01 en J12, B-03 en J13, B-09 en J14, D36–D38 en P6/P7/P8, JP6 en P5. **UART del módem: K1 fuera (DNP), PC6 → R148 0 Ω → `/DIN_4G` directo (B-13).** P2 sin protección (A-10, aceptado). P9: LED de panel con Vf ≤ 2.2 V. P10: azul/verde más tenues, funcional. | ✅ | L-54 (R148), L-56 (fila de pads SWD), L-62 (revisar el bloque de P1), serigrafía L-59 |
### Mapa I²C (I²C1, PB6/PB7, pull-ups de 4.7 k a `/3V3`, bus a 100 kHz)
| Dirección (7 bits) | Dispositivo | Ref | Strap |
|---|---|---|---|
| 0x18 | SC7A20 acelerómetro (INT1 → PB9) | U26 | SDO/SA0 = GND |
| 0x20 | PCF8574T expansor (LEDs de batería, RGB) | U13 | A0–A2 = GND |
| 0x44 | SHT40 humedad/temperatura | U3 | fija |
| 0x48 | TMP102 del cargador | U29 | ADD0 = GND |
| 0x49 | TMP102 del módem | U31 | ADD0 = V+ |
| 0x4D | SC16IS752 doble UART | U10 | A1 = A0 = GND |
**Sin colisiones.** El rango del SC16IS752 (0x48–0x57) se cruza con el de los TMP102 (0x48–0x4B), pero 0x4D queda fuera
de los cuatro valores posibles del TMP102. El DDC del ZED-F9P (0x42) no está conectado. El PCF8574 es de **100 kHz**,
así que todo el bus corre a 100 kHz; a esa velocidad el SC16IS752 alcanza para Modbus RTU a ≤ 38.4 kBd más RS-232 a ≤ 57.6 kBd.
---
## 4. Instrucciones de corrección, una por una
Cada punto tiene: **qué pasa** (con los números), **por qué importa**, **cómo se corrige** (esquemático / layout /
firmware) y **cómo se verifica**. Los pasos de layout L-1…L-48 son los de la §6 del informe; L-49…L-66 vienen de los
informes de puertos y de revisión final. En la sección 5 están como casillas. Coordenadas = coordenadas del PCB v6,
en mm. Vías 0.3 mm de barreno / 0.6 mm de pad, salvo que se diga otra cosa.
### Blockers
#### A-01 · Rama de 24 V sin fusible y D21 de 30 V
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente
**Qué pasa.** Después de Q10 sale una rama `/24V` que **no pasa por F2** y alimenta a U20 (buck del módem, vía D20)
y a U2 (buck del ventilador). D21 (Schottky PMEG3050EP, 30 V) une `/MAIN5V` con la entrada del módem. Con el bus
cargando a 28.8 V, D21 ve **23.5 V en inverso** (78 % de su máximo); con 36 V durante 60 min (ISO 16750-2) ve
**30.7 V, más que sus 30 V**. U2 (MP1584) tiene 30 V de máximo absoluto.
**Por qué importa.** La fuga de D21 crece con la temperatura: a 45 °C ≈ 7 mA / 0.17 W, a 60 °C ≈ 20 mA / 0.48 W →
el embalamiento térmico es plausible en una caja de puerto. Si D21 falla en corto pone `/24V` **sin fusible** en
`/MAIN5V` (VSYS del LTC4040, 6 V máx., U21, U17, F9P, MCU). Un corto en C10/C22/U2/U20/D22 jala corriente del fusible
del vehículo por cobre de 0.3–1.5 mm (riesgo de fuego y de arnés). D21, U20/D20 en la rama sin fusible y el modo de
falla de D21 son **nuevos en la v6**.
**Qué se cambió en el esquemático (Claude, 28-sep):**
- D20 (SS34) y D21 **eliminados**; `/VIN_MODEM` desaparece y U20.2, C127, C128 quedan en `/MAIN5V`.
- Bloque del ventilador **sin montar (DNP)**: U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1, Rfreq1, Ren1, Ren2, R20, R21.
JP1 → `Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm` (puenteado, sin pieza de BOM) → `/5V_FAN` = `/VEH5V`.
El ventilador queda apagado en batería, como hoy.
- La rama `/24V` se queda sin cargas → **DNP**: Q10, DzG1, Rrp1, C10, C11, C22. Q23 queda como el único FET de polaridad inversa.
- **F2 → 0154003.DR de 3 A, LCSC C206912**, mismo porta-fusible Nano2, eléctricamente primero (ver V1-01).
- En la misma pasada van sus prerrequisitos: A-04 (R121), A-05 (C161/C162), los capacitores de entrada de U20 de F-03
(C163/C164 22 µF + C165 220 µF) y los valores de lazo de B-02.
**Cómo se corrige — layout (Michelle):**
1. (L-5) F2 eléctricamente primero: P1.1 → F2 → D10 y Q23 en paralelo a la salida de F2. En el cobre de P1.1 no hay nada más que F2.
2. (L-6) Borrar el cobre `/24V`, `/SW_FAN`, `/BST_FAN` de las piezas que quedaron DNP (Q10, DzG1, Rrp1, C10, C11, C22 y el bloque U2).
3. (L-7) Borrar la pista de 48 mm de `/VIN_MODEM` desde D20 (136.5, 113.8) hasta U20. Donde estaba D21, unir las dos redes en cobre.
4. (L-7) `/MAIN5V` de Q7/U6 hasta U20.2 de **≥ 1.5 mm** todo el camino.
**Firmware:** la política del ventilador no cambia; con A-01 el ventilador tiene alimentación exactamente cuando hay vehículo.
!!! note "Registro para Leo"
U20 queda **antes** del corte P5. La intención de la ECO §A («el corte apaga todo») se cumple igual: al cortar
`/SYS5V` el MCU se apaga y R113 mantiene EN de U20 en bajo (corriente de apagado de µA). La única pieza sin fusible
que queda en `/24V_IN` es el pad Q10.D del Q10 sin montar; si algún día se vuelve a montar esa rama, primero mover
Q10.D a `/VIN_FUSED`.
**Cómo se verifica.** Con el arreglo (verificador 1): entrada de U20 ≈ 5.25 V; camino de RS1 cargando a 1.43 k
más LTE TX = **2.08 A** (< 2.35–2.65 A de límite); U25 ≤ **2.95 A** contra 3.5 A nominales; corriente de F2:
0.74 A a 24 V, 1.48 A a 12 V, 1.97 A a 9 V. En el PCB: DRC sin cobre en `/24V` ni `/VIN_MODEM`. En banco: el
arranque en frío en batería de A-05 mide la entrada de U20.
#### F-02 · Ignición cruda en capa interna junto a `/VEH5V`
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente
**Qué pasa.** `/IGN_IN` (ignición cruda, 9–36 V) va de P1.3 (177.5, 135.0) a Rig1 (123.55, 50.675): 4.08 mm en F.Cu +
**106.47 mm en In2**, de 0.5 mm, con una vía. En In2 pasa a **0.221 mm** de una pista `/VEH5V` de 1.0 mm en
(147.34, 67.49); también a 0.250 mm de una vía GND, 0.291 mm de `/FAN_PWM`, 0.300 mm de una vía `/5V_FAN`,
0.340 mm de una vía `/VEH5V`, y en In1 a 0.305 mm de `/NTC2`. `/IGN_IN` no tenía TVS; D5 (BAT54) solo recorta
positivos y un pulso negativo ISO 7637-2 mete ≈ −27 mA a PA5 (el MCU admite −5 mA).
**Por qué importa.** Es la geometría que tiró la tarjeta del **23-jul**: `VEH5V ↔ IGN_IN` a 0.2 mm en In2. La v6 está
a 0.02 mm de eso, en el mismo par de redes. Un solo defecto de capa interna pone 9–36 V (y pulsos de load dump) en
`/VEH5V` (entrada del LTC4040, clase 6 V, y todo el 5 V). Las capas internas **no se pueden inspeccionar ni retrabajar**.
**Qué se cambió en el esquemático (Claude, 28-sep):**
- TVS nuevo **D35 = SMBJ33A (C224019**, DO-214AA) de `/IGN_IN` a GND, para ir en P1.3. También recorta los pulsos
negativos a ≈ −1 V y elimina la inyección en PA5.
- La red se divide: `/IGN_IN` = {P1.3, Rig1.1, D35.1}; el tramo largo es `/IGN_SENSE`.
- Rig1 queda en 22 k 0603 (C88614). *(Aparte, D-05: Rigb1 → 2.2 k para leer la ignición por ADC.)*
**Cómo se corrige — layout (Michelle):**
1. (L-8) Mover **Rig1** para que el cobre de P1.3 a Rig1.1 mida **≤ 3 mm**, solo en F.Cu.
2. (L-8) Poner D35 de `/IGN_IN` a GND justo en P1.3.
3. (L-8) El tramo largo Rig1.2 → MCU es ahora `/IGN_SENSE` (clase Default). Rig2, Rigb1, C9 y D5 se quedan junto al MCU.
4. (L-8) Borrar la pista vieja de `/IGN_IN` en In2 (106.5 mm) y la vía de In1 en (127.3, 50.5).
5. (L-9) Sacar `/24V_IN` de In1: la pista de 27 mm de (167.5, 128.65) a (143.25, 121.75) pasa a F.Cu por la orilla
sur. Si tuviera que ir en In1: ≥ 1.0 mm de cualquier red de bajo voltaje y nada cruzándola.
Por qué basta: con Rig1 en P1.3, si el tramo largo se llegara a puentear con una red de 5 V, la corriente queda
limitada a (36 − 5 V)/22 k = 1.4 mA (2.5 mA a 58 V). C9 junto al MCU mantiene τ = 0.25 ms.
**Firmware:** leer PA5 por ADC (sección 6).
**Cómo se verifica.** Rellenar zonas + DRC con las reglas nuevas (F-01): desaparecen todas las violaciones internas de
`/IGN_IN`. Ojo: KiCad reporta una sola violación entre el tramo largo de In2 y `/VEH5V` (la vía a 0.340 mm), aunque las
pistas paralelas están a 0.221–0.240 mm; mover el tramo a P1.3 elimina todo el tramo de In2 de todos modos.
#### F-01 · El DRC no veía ningún espaciado de 24 V
**Estado:** ✅ Reglas aplicadas en el proyecto y verificadas (28-sep) · Cobre: pendiente (layout)
**Qué pasa.** En `.kicad_pro` los patrones de HV24 sin «/» inicial no coincidían con nada: **solo `/24V_IN` estaba en
HV24**; `/24V`, `/IGN_IN`, `/VIN_PROT`, `/VIN_FUSED`, `/SW_PWRIN`, `/RF_LTE`… estaban en Default. Faltaban las clases
**RF** y **PWR_MODEM** (se pierden al guardar desde la interfaz). Además, la regla «Minimum clearance 1» de 0.15 mm, sin
capa, es la última que aplica y por eso **anula todas las demás** (Default 0.2 mm, zonas 0.3 mm). Prueba: los rellenos
guardados quedan a 0.1505 mm de cualquier red que no sea HV24.
**Por qué importa.** El «DRC 0 errores» no podía ver una repetición del 23-jul. F-02 es exactamente eso, y pasó el DRC
con 0 errores.
**Qué se cambió en el proyecto (Claude, 28-sep, D18).** Netclasses por nombre exacto, tal como quedaron aplicadas:
| Clase | Redes | Separación | Pista | Vía |
|---|---|---|---|---|
| HV24 | `/24V_IN` `/VIN_FUSED` `/VIN_PROT` `/24V` `/IGN_IN` `/Q10_GATE` `/Q23_GATE` `/SW_PWRIN` `/BOOT_PWRIN` `/SW_FAN` `/BST_FAN` | 0.3 (reglas por capa abajo) | 1.0 | 0.8/0.4 |
| PWR_HI | `/BAT_PLUS` `/SW_BAT` `/MAIN5V` `/VEH5V` `/SYS5V` `/VIN_SW` | 0.15 | 1.5 | 0.8/0.4 |
| PWR_MODEM | `/VBAT_MODEM` | 0.15 | 1.5 | 0.8/0.4 |
| PWR_MID | `/SW_5V` `/SW_IN` `/5V_FAN` `/FAN_RET` | 0.15 | 0.6 | 0.8/0.4 |
| RF | `/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 (sin vías previstas) |
| Default | todo lo demás (incluye `/3V3_ETH`, `/EN_FAN`, `/EN_PWRIN`, `/SW_MODEM`, `/BST_MODEM`) | **0.15** | 0.2 | 0.6/0.3 |
Diferencias con la tabla del informe, que es anterior a A-01: `/VIN_MODEM` ya no existe; `/SW_MODEM` y `/BST_MODEM`
quedan en Default porque U20 ahora trabaja desde `/MAIN5V` (≤ 5.5 V) y en HV24 darían errores falsos alrededor de U20.
`/SW_FAN`, `/BST_FAN`, `/24V` y `/Q10_GATE` **siguen en HV24**, porque las huellas de U2 y Q10 quedan en la tarjeta como
DNP y llevarían voltaje del vehículo si algún día se montaran. El verificador lo revisó y lo dio por correcto.
Reglas del `.kicad_dru`, en este orden (la última que aplica gana): piso de **0.15 mm** entre redes que no son HV24 ni RF ·
**HV24 ↔ HV24 0.2 mm** · **HV24 ↔ otras 0.3 mm en capas externas** · **HV24 ↔ otras 0.5 mm en capas internas** ·
pad a pad 0.15 mm dentro de las huellas de U2/U20/U25.
??? note "Texto exacto del `.kicad_dru` (informe §2 4-F)"
```
(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)))
```
De dónde salen los valores: IPC-2221B (fila 51–100 V, porque el riel llega al clamp de 53.3 V y a 58 V de load dump
suprimido) pide 0.10 mm interno y 0.13 mm externo con máscara. Los **0.5 mm internos** son margen por defectos/CAF
aprendido el 23-jul; los **0.3 mm externos** bajo máscara (2.3 × IPC) caben entre las filas de pines SO-8. El piso debe
quedarse en **0.15 mm**: con Default a 0.2 mm fallarían 471 pares de elementos. La regla de texto de serigrafía y las
tres reglas T15 de ancho **no se tocaron** en esta pasada (ver L-3).
**Cómo se corrige — layout (Michelle):**
1. (L-1…L-4) Poner el stackup real, revisar que las clases estén como arriba, ajustar la regla de texto y las T15, y
comprobar con *Inspeccionar → Resolución de separación* (ver sección 5-A).
2. Rellenar todas las zonas y correr el DRC. En una copia del PCB sin actualizar, con las reglas nuevas, salieron **161
errores de separación**: **149 son proximidades del relleno** (se van al rellenar) y **12 son cobre real** (lista en 5-A).
3. (L-10) Corregir los puntos externos: pista `/VIN_PROT` de 1.5 mm contra `/VEH5V` de 0.8 mm → **≥ 0.5 mm**, y tapar (tent)
la vía `/VEH5V` de ahí; `/USB_VBUS` lejos de Q23 (≥ 0.3 mm de `/Q23_GATE` y `/VIN_PROT`); quitar el cuello GND de U20
(F-03); `/SW_PWRIN` y `/BST_MODEM` a ≥ 0.3 mm de pistas GND. **Tapar todas las vías** salvo las de prueba.
**Cómo se verifica.** DRC con las reglas nuevas: **0 errores de separación**. Después de cada guardado desde la interfaz,
revisar que las netclasses sigan ahí.
#### H-04 · U25 se ensamblaría como AP64350 (40 V)
**Estado:** ✅ Aplicado en la librería y verificado (28-sep) · Campo en PCB: pendiente (layout)
**Qué pasa.** 14 huellas de la v6 heredadas de easyeda (`Drogheda-v6.pretty`) traen un campo `LCSC Part`. En U25 decía
**C2071691 (AP64350, 40 V)**, mientras que `LCSC` dice C524806 (TPS54360B, el correcto). Fabrication Toolkit busca
primero `LCSC Part` y usa el primero que no esté vacío. U20 y U25 comparten la huella
`SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP`.
**Por qué importa.** Los dos chips tienen el mismo pinout y el mismo FB de 0.8 V, así que las tarjetas **pasan el banco**
y luego fallan en el primer transitorio de más de 40 V detrás de un clamp de 53 V. Riesgo de daño.
**Qué se cambió (Claude, 28-sep):** `LCSC Part` borrado de
`Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod`. U20 (C2071691) y U25 (C524806) ahora se resuelven por
su campo `LCSC`. Los demás `LCSC Part` de la librería se revisaron contra sus piezas y están bien.
**Cómo se corrige — layout (Michelle):** la copia de U25 en el PCB **todavía trae el campo**. Actualizar la huella de
**U25 desde la librería** (solo esa referencia), o borrar el campo en *Propiedades de la huella*. Debe quedar solo
`LCSC` = C524806.
**Cómo se verifica.** Generar BOM/CPL con Fabrication Toolkit y confirmar que U25 = **C524806** en el BOM y en la
vista previa de JLC.
#### C-01 · Bias de antena GNSS sin límite de corriente
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente · Firmware: pendiente
**Qué pasa.** El bias de la antena (`/VCC_RF_GNSS`: U18.7 → L21 → antena) no tenía limitador ni supervisor. L21 es de
68 nH y **400 mA**; VCC_RF del ZED-F9P es de 50 mA en operación y **300 mA de máximo absoluto**. u-blox exige un límite
(«se requiere una resistencia de 10 Ω»). ANT_DETECT (pin 4) y ANT_SHORT_N (pin 6) son **entradas** del F9P que en la v6
solo iban a PC1/PC2 (entradas del MCU): nadie las manejaba. ANT_OFF (pin 5) estaba al aire.
**Por qué importa.** Un coaxial aplastado o mojado (la clase de falla de campo **H0005/H0014**) deja que U21 (límite
≈ 0.6–0.8 A) empuje más de lo que aguantan VCC_RF y L21, el 3V3_GNSS se cae en un ciclo de brown-out del F9P, y la
«telemetría de antena» en PC1/PC2 nunca lo reporta. Camino de daño de hardware.
**Qué se cambió en el esquemático (Claude, 28-sep):** **U28 = TPS2552DBVR (C46506**, SOT-23-6):
| Pin | Conexión |
|---|---|
| 1 IN | `/3V3_GNSS`, con **C176 100 nF (C14663)** junto al pin (revisión final, N2) |
| 2 GND | GND |
| 3 EN̅ | `/GNSS_ANT_OFF` = U18.5 ANT_OFF, con **R135 100 k (C25803) a GND** → antena encendida por defecto |
| 4 FAULT̅ | `/GNSS_ANT_SHORT_N` (U18.6 + PC2), con **R136 10 k (C25804) a `/3V3_GNSS`** |
| 5 ILIM | a IN → **75 mA típico** |
| 6 OUT | red nueva **`/ANT_BIAS`** = L21.2 + C144 + C145 |
U18.7 (VCC_RF) queda **sin conectar**. ANT_DETECT no se implementa (la antena abierta se infiere del C/N0). En corto,
el TPS2552 entrega corriente constante (≈ 0.25 W a 3.3 V); FAULT̅ tiene 7.5 ms de filtro. El símbolo del TPS2552 se
dibujó a mano (KiCad no lo trae) y quedó embebido en el esquemático.
**Cómo se corrige — layout (Michelle):**
1. (L-33) U28 cerca de L21/J12; `/ANT_BIAS` a **≥ 1 mm** de la línea RF con una franja de GND cosida entre ambas (o en In2
después de desacoplar con 100 pF + 100 nF); L21 toma la línea sin stub en J12; mover D27 sobre el pad de J12 (sin stub).
2. (L-64) **C176 a ≤ 2 mm del pin 1 (IN) de U28**, en la misma capa; su pad GND a un plano con vía a ≤ 1 mm, y el pin 2 de
U28 en la misma zona de GND. `/3V3_GNSS` llega a U28.1 pasando por el pad de C176.
**Firmware:** `CFG-HW-ANT_CFG_VOLTCTRL` / `SHORTDET` = 1 en el F9P; PC2 pasa a ser una entrada real de «antena en
corto» (bajo = corto o riel apagado), sin pull del MCU. PC1 se queda en alta impedancia.
**Cómo se verifica.** Prueba de corto de antena en banco (sección 10).
#### B-03 · ESD unidireccional en la antena LTE
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente
**Qué pasa.** D28 (onsemi ESD9L5.0ST5G, C82326) es un TVS **unidireccional de 5 V** (ruptura 5.4 V), en línea con la
antena LTE a 1.8 mm de J13, en una línea sin DC. El voltaje pico del transmisor a 50 Ω es 4.47 V en LTE (23 dBm) y
**14.1 V en GSM** (33 dBm); con ROE 3:1, 6.7 / 21.2 V. SIMCom pide un ESD **bidireccional**.
**Por qué importa.** El diodo conduce en cada semiciclo negativo (≈ −0.6 V), aun en LTE, y entra en avalancha en los
picos de GSM: recorte, emisiones espurias (homologación), pérdida de potencia, estrés del PA; D28 se calienta y puede
fallar en corto (antena muerta).
**Qué se cambió en el esquemático (Claude, 28-sep, D5):** D28 → **Littelfuse PESD0402-240 (C1975527)**: bidireccional,
24 V de trabajo, 0.25 pF (|Γ| ≈ 0.07 a 1.9 GHz), huella **`Diode_SMD:D_0402_1005Metric`**. D27 en la línea GNSS se queda
(bias de 3.2 V, sin TX: ahí un unidireccional de 5 V es correcto).
**Cómo se corrige — layout (Michelle, L-31):** la huella cambia a 0402 con el *Update PCB* (paso 0); dejarla en el mismo
lugar en línea, junto con el re-ruteo del LTE de F-06.
**Cómo se verifica.** BOM/CPL: D28 = C1975527 en 0402. El enlace LTE se valida con la prueba G3 (sección 10).
#### A-02 · Cobre y colocación del cargador LTC4040 (U6)
**Estado:** Pendiente — layout (no tiene parte de esquemático)
**Qué pasa** (medido por el verificador 1):
| Punto | v6 hoy | Objetivo (ECO D2) |
|---|---|---|
| `/SW_BAT` U6.21/22 → L6.1 | **0.5 mm × 11.89 mm**, con cuellos de 0.25 y 0.30 mm en los pines, 0 vías | polígono ≥ 2 mm |
| `/BAT_PLUS` P3 → L6.2 | 1.0 mm × 21.27 mm | ≥ 1.5 mm + vías |
| `/BAT_PLUS` L6.2 → U6.23 | 1.0 mm, luego 0.5 mm × 10.49 mm, luego 0.25 mm × 5.38 mm | toma Kelvin desde L6.2/CBAT |
| EP de U6 (2.65 × 3.65 mm) | **0 vías** | ≥ 9 vías |
| L6.1 ↔ U6.21/22 | **8.65 mm** | ≤ 5 mm |
| C30 / C31 → U6.6 (VIN) | 7.20 / 6.18 mm | ≤ 3 mm |
| C32 / C33 / C34 → U6.1 (VSYS) | 3.90 / 3.44 / 4.74 mm, tras cuellos de 0.30 mm | ≤ 2 mm, polígono |
| C35 (CBAT) → L6.2 | 20.2 mm | junto a L6.2 / pin BAT |
| In1 bajo U6 | cortado por 7 tramos de `/VFB_BST` + `/IGATE` + `/CHRG_*` | sólido ≥ 5 mm alrededor |
| Sensor de temperatura a ≤ 10 mm | ninguno; U3 (SHT40) a **71.4 mm** | ≤ 10 mm (F-51) |
**Por qué importa.** Calentamiento IPC-2221 en `/SW_BAT` de 0.5 mm: **+32 °C a 2.42 A** y **+80 °C a 3.6 A** de
respaldo; la misma corriente en 2.0 mm da +8 °C. El LTC4040 solo tiene apagado por sobretemperatura, no regula la
corriente de carga por temperatura. Repite la **lección F5** de la V5.5 (ECO D2 / EMC 🔴 #1 y #2); no se cumple R5
(≥ 1.3 A sin ciclado térmico).
**Cómo se corrige — layout (Michelle):**
1. (L-53/L-63) L6 usa ahora la huella **`Drogheda-v6:IND-SMD_MWSA0804S`** (pads 2.75 × 5.5 mm a ±3.375 mm); medir las
distancias contra los pads nuevos.
2. (L-11) Re-agrupar U6: pad 1 de L6 a **≤ 5 mm** (orilla) de los pines 21/22; C30/C31 a ≤ 3 mm del pin 6;
C32/C33/C34 **y C161/C162 (47 µF 1210 nuevos, A-05)** a ≤ 2 mm de los pines VSYS 1/24, con sus GND sobre el cobre del EP;
C35 (o un 22 µF 0805 extra, C86817) en L6.2 junto al pin BAT 23. L6 no puede quedar sobre (193.2, 90.3): ahí vuelve MH4 (G-01).
3. (L-12) `/SW_BAT`: polígono en F.Cu de **≥ 2 mm** desde la salida combinada de los pines 21+22 hasta L6.1, compacto
(es nodo de conmutación), sin cuellos de 0.25/0.30 mm después de la salida de los pines.
4. (L-13) `/BAT_PLUS`: P3 → L6.2 de ≥ 1.5 mm en F.Cu o polígono; si algún tramo va interno, ≥ 4 vías por cambio de capa
y ≥ 2.5 mm (1.5 × 1.65 por el cobre interno de 0.5 oz). El sensado del pin BAT (U6.23) como toma Kelvin desde L6.2/C35.
5. (L-14) `/MAIN5V`: polígono desde los pines 1/24 de U6 sobre C32–C34 hasta el drenador de Q7, ≥ 2 mm, sin cuellos de 0.3/0.5 mm.
6. (L-15) EP de U6: **9 vías, 3 × 3 a 0.9 × 1.2 mm de paso**, 0.3/0.6 mm, tapadas/rellenas (via-in-pad de JLC) o con
máscara; conexión del pad a la zona: **sólida**.
7. (L-16) In1 e In2 de GND **sólidos ≥ 5 mm** alrededor de U6 y L6: sacar de In1 los 7 tramos de `/VFB_BST`, `/IGATE` y `/CHRG_*` en esa zona.
8. (L-17) U29 (TMP102) va entre U6 y L6 (ver F-51).
**Cómo se verifica.** Cámara térmica sobre U6/L6 a 1.4 A de carga y a 2.3 A de respaldo, 1 h cada una; pinza DC en el
cable del paquete + IR en U6/L6 durante la carga (seguimiento de H0008). Aceptación de layout: EP con 9 vías y
`/SW_BAT` ≥ 2 mm.
#### A-03 · R50 programa 2.42 A de carga
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep)
**Qué pasa.** RPROG = 2000 V / ICHG, con ±5 %; máximo del LTC4040: 2.5 A.
| R50 (1 %) | ICHG mín. | nom. | máx. |
|---|---|---|---|
| 825 Ω (antes, C50214) | 2.280 A | 2.424 A | **2.571 A** (más que 2.5 A) |
| **1.43 kΩ (ahora)** | **1.316 A** | 1.399 A | 1.483 A |
| 1.5 kΩ (ECO C, C22843) | 1.254 A | 1.333 A | 1.414 A |
**Por qué importa.** Con 825 Ω la v6 repetía **H0008** (V5.5 con el mismo R50: ≈ 1.3 A promedio, 8.5 h hasta terminar,
carga pulsada), ponía a U25 en el límite de RS1 (≈ 2.5 A) cada vez que cargaba, y en la esquina alta pasaba el máximo
del chip. A 1.4 A la pérdida del chip baja ≈ 3 veces. **Lección F4.**
**Qué se cambió en el esquemático (Claude, 28-sep, D3):** **R50 → 1.43 kΩ 1 % 0603, LCSC C22840** (Extended). Es el mayor
valor E96 cuyo mínimo en el peor caso es ≥ 1.3 A.
**Cómo se verifica.** Pinza DC en el cable del paquete durante la carga: debe quedar en 1.316–1.483 A (sección 10).
#### H-01 · U15 sobre la huella equivocada
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente
**Qué pasa.** U15 era MAX3232**ESE** (C15846), SO-16 **angosto**. En el PCB está sobre `SOIC-16W_7.5x10.3mm`, con filas de
pads a 9.3 mm: las patas terminan 0.5–0.6 mm antes de llegar a los pads. Es una **regresión de la v6**: la V5.5 se
fabricó con la huella angosta; se rompió en la re-sincronización del 02-sep.
**Por qué importa.** RS-232 (P12) muerto en todas las tarjetas; JLC rechaza el trabajo o coloca una pieza que no se
puede soldar.
**Qué se cambió en el esquemático (Claude, 28-sep):** huella → `Package_SO:SOIC-16_3.9x9.9mm_P1.27mm`. En la pasada de
puertos U15 pasó además a **TRS3232EIDR (C308878)**, mismo pinout y misma huella angosta, con ESD IEC (sección 3). El campo
viejo de los esquemáticos V5.x también hay que corregirlo (sección 11).
**Cómo se corrige — layout (Michelle):** la huella cambia con el *Update PCB* (paso 0). Luego (L-51) **C85–C88 (bomba) a
≤ 3 mm** y **C89 (desacople) a ≤ 2 mm de U15.16**, y re-rutear localmente. *Corrección a L-37: C84 es el desacople de U14,
no de U15.*
**Cómo se verifica.** Vista 3D y vista previa de JLC: patas sobre los pads; BOM: U15 = C308878 en SOIC-16 de 3.9 mm.
#### H-02 · U10 y R53 sin stock
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Compras: re-verificar el día del pedido
**Qué pasa** (base de JLC, 28-sep). U10 C729142 (SC16IS762IPW): **15 piezas**. R53 C131054 (499 k 1 %): **6 piezas**, y el
mínimo de JLC es 20: no se cumple para ninguna cantidad de tarjetas.
**Por qué importa.** JLC dejaría U10 (puente RS-485/RS-232) y R53 sin colocar. **R53 fija el voltaje del boost de
respaldo** del LTC4040: sin ella el respaldo no regula.
**Qué se cambió en el esquemático (Claude, 28-sep):**
- **U10 → C57156, SC16IS752IPW,128**: mismo TSSOP-28, pinout y registros; U10 trabaja en modo I²C, donde 752 y 762 son idénticos.
- **R53 → C177479**, HKR RCT03499KFLF (499 k, 1 %, 100 ppm, 0603). Los dos son reemplazos directos.
**Compras:** re-verificar stock el día del pedido.
**Cómo se verifica.** BOM con C57156 y C177479, y stock suficiente para 20 tarjetas en el carrito de JLC.
#### G-01 · Barrenos de montaje distintos a la V5.5
**Estado:** Pendiente — layout (Blocker por la decisión D11)
**Qué pasa.** El contorno es igual al de la V5.5 (140.00 × 100.00 mm), pero los barrenos no: la v6 tiene MH5 (65.2, 45.3),
MH6 (65.2, 135.3), MH7 (195.2, 45.3) y MH8 (195.2, 135.3), un patrón de 130 × 90 mm. La V5.5 tenía **MH4 en (193.2, 90.3)**:
en la v6 ese punto cae **dentro del courtyard de L6**. Faltan también los barrenos de la **abrazadera del disipador del
módem** (MH11 en (168.3, 84.6) y su pareja); el punto de MH11 queda ahora a 0.6 mm del courtyard de U19. En MH6 hay una
pista `/3V3` a 3.55 mm del centro.
**Por qué importa.** En un gabinete barrenado para la V5.5 la v6 no se puede atornillar del lado derecho, y un standoff
metálico en (193.2, 90.3) presionaría L6 / `/BAT_PLUS`. Sin la abrazadera no hay disipador del módem (compuerta térmica T1).
Decisión D11: la v6 usa la placa base existente.
**Cómo se corrige — layout (Michelle, L-40):**
1. Restaurar **MH4 (Ø3.2, NPTH) en (193.2, 90.3)**. L6 se mueve de todos modos por A-02.
2. Poner la **pareja de barrenos de la abrazadera del disipador** junto a U19. La posición de MH11 de la V5.5 ya no sirve
(queda a 0.6 mm de U19): hay que elegir una nueva.
3. Dejar un radio **≥ 4.0 mm sin cobre** en F.Cu y B.Cu alrededor de cada barreno (mover ≥ 0.5 mm la pista `/3V3` de MH6),
o especificar rondanas de nylon.
**Cómo se verifica.** Sobreponer los barrenos al dibujo de la placa base de la V5.5; en el visor 3D, nada de cobre ni
componentes dentro del radio de las rondanas.
### Majors
#### V1-01 · D10 antes del fusible derrota la protección de polaridad
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente
**Qué pasa.** D10 (SMBJ33A, C224019) estaba en `/24V_IN`, **antes de F2** y antes de los FET de polaridad inversa Q10/Q23.
**Por qué importa.** Si P1 se conecta al revés, D10 queda en directa sobre el arnés sin fusible de tarjeta: aguanta la
corriente del fusible del arnés hasta que falla, normalmente en corto.
**Qué se cambió en el esquemático (Claude, 28-sep):** F2 eléctricamente primero: **P1 → F2 → D10 ∥ Q23** (D10 pasa a la
salida de F2, `/VIN_FUSED` = {F2.2, D10.1, Q23.2}). Mismo F2 que A-01 (C206912). Así, una conexión al revés **funde el
fusible Nano2**, que se cambia sin soldar; Q23 se queda apagado. El pulso 1 de ISO 7637-2 es ≈ 7 % del I²t de un Nano2 de 3 A.
**Cómo se corrige — layout (Michelle, L-5):** P1.1 → F2 → D10 y Q23 en paralelo; en el cobre de P1.1 solo F2.
**Cómo se verifica.** En el PCB, D10 conectado a `/VIN_FUSED` y nada más que F2 en P1.1.
#### D-01 · U24 alimenta al F9P apagado a través de RXD2
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente · Firmware: pendiente
**Qué pasa.** U24 (74LVC2T45) tiene el lado B en `/3V3` (siempre encendido) y manejaba RXD2 del F9P (U18.26), aunque el
F9P estuviera apagado (PA1 bajo). El F9P admite en sus entradas VCC + 0.5 V: con VCC = 0, un alto de 3.3 V lo excede por
2.8 V. Caminos menores al mismo receptor: Rdfu1 22 k (≈ 0.12 mA), pull-up interno de PA10 (≈ 0.5 mA si se deja activo),
pull-up de PC7 por R106 (≈ 70 µA).
**Por qué importa.** Con el módem encendido y PA1 bajo, el riel del F9P quedaba pre-polarizado (≈ 2–2.7 V, estimado):
no hay rampa limpia, el **reinicio del F9P por corte de energía falla sin avisar** y la estructura ESD de RXD2 sufre. Es el
mismo mecanismo de la lección de FW 0.5.5/0.5.6 (UART en alto que mantenía vivos los rieles de la V5.5).
**Qué se cambió en el esquemático (Claude, 28-sep):**
- **U27 = Nexperia 74LVC1G125GV,125 (C12518**, SOT-753): 1 OE̅ = GND, 2 A = `/DOUT_4G`, 3 GND,
4 Y = red nueva `/DOUT_4G_F9P` → U18.26, 5 VCC = **`/3V3_GNSS`**; **C170 100 nF (C14663)** en VCC.
- PC7/R106 se quedan en `/DOUT_4G` (para no perder MODEM_STATUS ni la toma de RTCM con el F9P apagado).
- **Rdfu1 22 k → 100 k (C25803)**.
**Cómo se corrige — layout (Michelle):** U27 + C170 junto a U18.26, alimentado de `/3V3_GNSS`; re-ruteo corto en U18.26.
**Firmware:** con U27 montado, reiniciar solo el F9P con el módem encendido ya es seguro. Se mantienen las reglas de
0.5.5/0.5.6: con PA1 bajo, PA2 entrada sin pull, PA10 sin pull, PC7 sin pull-up, PC12 liberado, PA7/PC3 sin pull-up.
**Cómo se verifica.** En banco: `/3V3_GNSS` **< 0.3 V** con PA1 en bajo y el módem encendido.
#### A-04 · El 5 V de U25 queda abajo del arranque del cargador
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Firmware: pendiente
**Qué pasa.** Vout = 0.8 V · (1 + R121/R122), con R122 = 10.2 k y Vref de 0.792–0.808 V.
| R121 | mín. | nom. | máx. |
|---|---|---|---|
| 53.6 k (antes) | 4.871 V | **5.004 V** | 5.140 V |
| **57.6 k (ahora)** | **5.176 V** | **5.318 V** | **5.463 V** |
El firmware 0.6.0 arranca la carga con `CHG_RAIL_ON` = 5.05 V: con 53.6 k el nominal quedaba abajo. La esquina alta con
57.6 k queda 37 mV abajo del máximo de operación del LTC4040 (5.5 V).
**Por qué importa.** Con los umbrales actuales **la mayoría de las unidades v6 nunca empezaría a cargar** (R5 y R3′
fallan), y el margen bajo picos del módem es delgado cuando el módem pasa a `/MAIN5V` (A-01). **Lección F7.**
**Qué se cambió en el esquemático (Claude, 28-sep, D4):** **R121 → 57.6 k 1 % 0603, LCSC C23082**.
**Firmware:** `V5_PFI` 4.60 → **4.40 V** (PFI del LTC4040: bajando 4.27 / 4.40 / 4.54 V, subiendo 4.38 / 4.51 / 4.66 V);
se mantienen `CHG_RAIL_ON` 5.05 / `CHG_RAIL_OFF` 4.90; calibrar VDDA con VREFINT.
**Cómo se verifica.** Medir `/VEH5V` con 24 V de entrada: 5.18–5.46 V (nominal 5.32 V); con FW 0.7.x el cargador arranca.
#### B-02 · Bulk y compensación de VBAT_MODEM
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente
**Qué pasa.** C130 y C131 eran electrolíticos SamYoung MVG (85 °C / 2000 h, ≈ 8 000 h a 65 °C locales), no polímero.
La capacidad de baja ESR a la salida era solo ≈ 14 µF efectivos (SIMCom pide ≥ 300 µF). La compensación (R116 14 k /
C141 3.3 nF / C142 47 pF) era la fila de **5.0 V** de la tabla del AP64350, pero la salida es de 3.8 V.
| Condición (modelo del verificador 1) | Caída en pico GSM de 2 A | LTE 0.7 A |
|---|---|---|
| Batería, MVG nuevos | 0.28 V (VBAT 3.52 V) | 0.08 V |
| Batería, MVG fríos o envejecidos | **0.52 V (3.29 V < 3.4 V mín.)** | 0.13 V |
| Batería, polímero + 113 k / 6.8 nF / 56 pF | 0.06 V | 0.02 V |
**Por qué importa.** El día 1 funciona (con solo LTE en batería); en frío o con los capacitores envejecidos, los picos
GSM bajan VBAT a menos de 3.4 V → **«módem oscuro» probable en un año**. Lección F1.
**Qué se cambió en el esquemático (Claude, 28-sep)** — todo junto (113 k solo es válido con polímero):
- C130, C131 → **C881921** (Lelon OVZ 220 µF / 16 V polímero, 105 °C / 2000 h, misma lata 6.3 × 7.7).
- R116 14 k → **113 k 1 % (C22862)**; C141 3.3 nF → **6.8 nF X7R 0402 (C1542)**; C142 47 pF → **56 pF C0G 0402 (C1572)**.
- **C166 y C167, 22 µF 0805 (C86817)** nuevos en L20.2. Resultado: margen de fase ≈ 60°.
**Cómo se corrige — layout (Michelle, L-36):** polígono de `/VBAT_MODEM` en F.Cu de **≥ 3 mm** de L20.2 → C130 → C131 →
C132–C136 → pines 55/56/57 de U19 (a los tres pads, sin cuello de 0.5 mm); **C131 a ≤ 5 mm** de los pads; C166/C167
a ≤ 3 mm de L20.2.
**Cómo se verifica.** Escalón de carga 0.1 → 2 A en VBAT_MODEM: caída **≤ 150 mV**, sin oscilación.
#### E-01 · 3V3_ETH no se puede apagar
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente · Firmware: pendiente
**Qué pasa.** El EN de U12 (MP1584EN, 3V3_ETH) estaba unido a su VIN (`/SYS5V`): el W5500 estaba encendido siempre que
había `/SYS5V`, en batería también. El W5500 consume 128 mA (100M), 75 mA (10M) y 13 mA apagado por software.
**Por qué importa.** Aun los 13 mA de apagado cuestan ≈ 57 mW de batería, más que todo el piso de sueño de 20–50 mW.
Es la **lección F8** repetida.
**Qué se cambió en el esquemático (Claude, 28-sep, D8):** red nueva **`/ETH_PWR_EN`**: U12.2 (EN) → U16 pad 54 (**PD2**),
con **R139 100 k (C25803) a GND** → apagado en reset, DFU y batería; PD2 en 3.3 V lo enciende. U12.7 (VIN) sigue en `/SYS5V`.
**Cómo se corrige — layout (Michelle, L-38):** R139 junto a U12.2 y la pista `/ETH_PWR_EN` hasta el pad 54 del MCU.
**Firmware:** PD2 en bajo al arrancar y en batería; RSTn en bajo ≥ 500 µs antes de liberarlo; pines de SPI2 en bajo o
alta impedancia mientras 3V3_ETH esté apagado (sección 6).
**Cómo se verifica.** Con PD2 en bajo, 3V3_ETH apagado; en respaldo, la corriente de batería no incluye al W5500.
#### A-05 · Presupuesto de corriente en batería
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente · Firmware: pendiente
**Qué pasa.** En batería todo sale del boost del LTC4040 por `/MAIN5V` (VSYS 4.60 / 4.79 / 4.99 V). Con un pico GSM de
2 A y todo lo demás encendido, `/MAIN5V` pide **2.25–2.33 A (91–97 % de los 2.5 A garantizados)**. CSYS = 104 µF
nominales, **≈ 57–69 µF efectivos** a 4.8 V, abajo de los 75 µF que pide la hoja de datos.
**Por qué importa.** Al tocar el límite, VSYS cae: primero se sale de regulación U17, luego VBAT_MODEM baja de 3.4 V —
el síntoma «módem oscuro en batería» de la V5.5, por otro mecanismo. Con los arreglos y la secuencia de firmware baja a
1.95 A (78 %); con solo LTE en batería, ≈ 1.2 A (48 %).
**Qué se cambió en el esquemático (Claude, 28-sep):** **C161 y C162, 47 µF 16 V X7R 1210 (C5440143)**, en `/MAIN5V` en los
pines VSYS 1/24 de U6 (≈ 113 µF efectivos). Además cuentan E-01, A-01, A-07 y F-03.
**Cómo se corrige — layout (Michelle, L-11):** C161/C162 a ≤ 2 mm de los pines 1/24, con GND sobre el cobre del EP.
**Firmware:** en batería **solo LTE** (`AT+CNMP=38`), W5500 apagado, F9P asentado antes de encender el módem, y no
arrancar el módem en frío con VBAT < ≈ 3.4 V.
**Cómo se verifica.** Arranque en frío solo con batería, VBAT 3.5 V, con osciloscopio en `/MAIN5V` y VIN de U20 y sonda de
corriente en `/BAT_PLUS` (ECO §I-1).
#### F-51 · Ninguna temperatura de cargador ni de celda llega al MCU
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente · Firmware: pendiente
**Qué pasa.** Fuentes de temperatura en la v6 antes del arreglo: SHT40 (U3) a **71.4 mm** de U6; dos sondas externas
(P7 → PB1, P8 → PC4) solo por conector; el NTC del paquete (P3.3 → `/NTC`) iba **solo a U6.17**; el TMP102 de la V5 se
borró. `CHG_CELL_HOT/COOL` (45/40 °C) no tenía sensor de celda. R4 no se cumplía en firmware (la celda seguía protegida por
la pausa NTC del LTC4040 a 42.4 °C).
**Por qué importa.** Sin temperatura del chip cargador, el ciclado térmico tipo A-02 es invisible en la telemetría.
Decisión D7: el sensor a ≤ 10 mm de U6 es **obligatorio** (lección F5).
**Qué se cambió en el esquemático (Claude, 28-sep):**
- **U29 = TMP102AIDRLR (C99269**, SOT-563) en I²C1, **dirección 0x48** (ADD0 → GND), **C168 100 nF (C14663)** en V+.
- NTC del paquete al MCU: `/NTC` → **R137 100 k (C25803)** → red nueva **`/NTC_CELL`** → **PC5** (U16 pad 25); de esa red
a GND, **R138 120 k (C25808)** y **C169 10 nF (C1589)**. PC5 ≤ 0.545 × 5.46 V = 2.98 V; la carga de 220 k mueve el umbral
caliente del LTC4040 ≈ 0.7 °C.
**Cómo se corrige — layout (Michelle, L-17):** U29 **entre U6 y L6**, a **≤ 5 mm del EP** de U6, con C168 en V+;
R138/C169 junto al pad 25 (PC5); R137 en cualquier punto de `/NTC`.
**Firmware:** `tchg` (TMP102 0x48) y `tcell` (PC5) al final de `$PHLG`; el gobernador inhibe con `tcell`
(Li-ion 45 °C / LFP 55–60 °C) y corta la carga con `tchg` > 85 °C. `tcell` solo es válido con `/VEH5V` presente.
**Cómo se verifica.** Durante la prueba térmica de U6/L6 (A-02), `tchg` y `tcell` aparecen en `$PHLG` y siguen a la cámara.
#### F-12 · Vías de tierra
**Estado:** Pendiente — layout (no agrega piezas al BOM)
**Qué pasa.** 69 vías de GND en toda la tarjeta (V5.5: 165). **1** bajo el módem U19, **0** bajo el F9P U18, **0** en los EP
de U6, U25, U20, U2 y U12. El polígono GND del este (U19, U20, U25, J13, D34) baja a los planos por **5 vías**. 10 de 35
celdas de 20 × 20 mm sin ninguna vía; la distancia máxima a una vía GND es 27.8 mm, junto a J13.
**Por qué importa.** Las corrientes de retorno del módem (LTE 23 dBm, picos GSM de 2 A) llegan a los planos por 5 vías
separadas 30–70 mm: el polígono se comporta como un parche resonante a 1–2.7 GHz → el LTE desensibiliza al F9P (el riesgo
#1 del brief). U19 y los reguladores pierden su camino de calor (sin vías y con spokes, θ ≈ el doble).
**Cómo se corrige — layout (Michelle, L-24…L-29):**
1. EP: U25 y U20 (EP 3.2 × 2.5) → **2 × 3 = 6 vías a 1.0 mm**, o 2 × 4 = 8 a 0.8 mm con vías 0.3/0.5 (3 × 3 a 1.0 mm no cabe);
U12 → 2 × 3; U6 → 9 (A-02).
2. Conexión **sólida por pad** (no para toda la zona) en: todos los EP, todos los pads GND de U18 y U19, ánodos de D34/D11,
pads GND de Cin/Cout de los bucks. **No** poner la zona en «alivio térmico solo para PTH»: volvería sólidos 23 pads 0402 y
142 pads 0603 de GND (efecto lápida).
3. U19: una vía tapada en cada hueco de 1.7 mm entre pads GND centrales de 2.1 mm (0.55 mm de separación por lado) + anillo
en los pads GND del perímetro: **≥ 30, meta 40**, nunca dentro de un pad.
4. U18: vías en los centros intersticiales diagonales de la rejilla de 2.1 mm (0.41 mm a las esquinas de los pads): **≥ 24**.
Bajo U18/U19, vías tapadas o «epoxy filled & capped» de JLC.
5. 2 vías GND a ≤ 1 mm de cada pad GND de J12 y J13, y en D28.
6. Toda isla GND de F.Cu ≥ 20 mm² con ≥ 2 vías; ningún punto del polígono GND a más de 5 mm de una vía (hoy mediana 10.4 mm,
máximo 29.5 mm); cerca de vías en la orilla a ≤ 5 mm de paso (≈ 96 vías); **total ≥ 400 vías GND**.
**Cómo se verifica.** Aceptación: 0 celdas de 20 mm vacías; todo pad GND de U19/U18/U20/U25/J12/J13 en un grupo de F.Cu
con ≥ 1 vía al plano a ≤ 2 mm. En banco: prueba G3 de desensibilización.
#### F-03 · Lazos calientes de los reguladores conmutados
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente
**Qué pasa.**
- **U25** (TPS54360B, 24–36 V): el GND de C149/C150/C151 está en la isla de U6, y el EP de U25 y el ánodo de D34 en el
polígono del este → lazo de entrada **≈ 311 mm²** (meta ≤ 1 cm²). EP sin vías; L22 a 13.75 mm del SW; `/SW_PWRIN` 45.8 mm².
- **U20** (AP64350): el GND de C128/C127 llega al EP (6.86 / 8.48 mm) por una **pista GND de 0.25 mm** metida entre U20.1 y
U20.2; EP sin vías. Rizo de entrada ≈ 65 mV p-p.
- **U12** (MP1584EN, 3V3_ETH): C101 a **6.40 mm** del VIN; D11 a 11.92 mm; L8 a 15.10 mm; R87 (FB) a 25.9 mm, con
`/ETH_FB` bajo `/ETH_SW` en In1.
**Por qué importa.** Oscilaciones en SW/VIN y EMI hacia los receptores GNSS/LTE; el sobretiro en VIN de U25 (≈ 9–15 V
sobre el clamp de 53.3 V, estimado) se come el margen al máximo de 65 V; ruido en los FB. No se cumple la ECO §E.4.
**Qué se cambió en el esquemático (Claude, 28-sep):** en U20.2 (`/MAIN5V`), **C163 y C164, 22 µF 16 V 0805 (C86817)** +
**C165, 220 µF 16 V polímero (C881921)**: rizo 65 → 17 mV p-p. Los 16 V solo son válidos con la entrada de 5 V de A-01.
**Cómo se corrige — layout (Michelle, L-20…L-23):**
1. Regla común (U25, U20, U12): Cin (pads VIN y GND) a **≤ 2 mm** de los pines VIN y GND/EP; GND de Cin, ánodo del diodo y EP en
**una sola área sólida de F.Cu**, sin cuellos de GND de menos de 1 mm; ≥ 2 vías a ≤ 1 mm de cada pad GND de Cin; diodo a
≤ 3 mm del SW; inductor a ≤ 5 mm; cobre SW ≤ 25 mm²; divisor FB a ≤ 3 mm del pin FB; nada en In1 bajo el cobre SW.
2. **U25:** C149/C150 a ≤ 2 mm de los pines 2/7 sobre el cobre del EP/D34; cátodo de D34 a 2–3 mm del pin 8, ánodo en el GND de
Cin; L22 a ≤ 5 mm del pin 8; `/SW_PWRIN` ≤ 25 mm², no sobre pistas de señal de In1; 4 vías GND a ≤ 2 mm del nodo Cin/D34;
pad GND de D34 sólido.
3. **U20:** borrar la pista GND de 0.25 mm entre U20.1 y U20.2; GND de C127/C128 hacia el EP con F.Cu sólido; C163/C164 a
≤ 3 mm de U20.2 y C165 (polímero 6.3 × 7.7) en U20.2; R110/R111 a ≤ 2 mm de U20.5, del lado opuesto al pin 8; sensado de
VBAT con pista dedicada desde C131; borrar el desvío de 5.6 mm por In1 del FB.
4. **U12:** C101 a ≤ 2 mm de U12.7 con GND junto al pin 5; D11 a ≤ 2 mm del pin 1 con su ánodo en el GND de C101; L8 a ≤ 5 mm;
R87/R88 a ≤ 3 mm de U12.4, R87 alimentado por pista Kelvin desde C102/C94; `/ETH_FB` ≤ 5 mm en F.Cu, nada bajo `/ETH_SW`;
cambiar las uniones GND de 0.2 mm por polígono.
**Cómo se verifica.** Aceptación: cada lazo de entrada ≤ 1 cm². En banco: IR de D34/U25 a carga completa.
#### A-07 · Camino de 5 V por pistas internas delgadas
**Estado:** Pendiente — layout · Compras: cobre interno de 1 oz (D12)
**Qué pasa.** `/VEH5V` L22.2 → RS1.1: **In1 de 0.5 mm × 13.6 mm** (+ In2 1.0 mm × 66.6 mm); a 2.5 A de carga → +168 °C según
IPC-2221 interno (IPC-2152 ≈ la mitad). `/VIN_SW` RS1.2 → Q7: **In2 de 0.8 mm × 23.6 mm**, +77 °C a 2.5 A. `/MAIN5V`
Q7 → U6: F.Cu de 0.5 mm. El sensado CLN (U6.7) toma 1.66 mm abajo en la pista de RS1.2 → el límite de entrada efectivo
queda en 2.14–2.41 A en vez de 2.35–2.65 A. El cobre interno de JLC04161H es de 0.5 oz por defecto.
**Por qué importa.** Cobre interno caliente bajo U6/Q7 a corriente de carga. A-01 suma horas en el límite de RS1, así que
A-07 es **prerrequisito de A-01**.
**Cómo se corrige — layout (Michelle, L-19 y L-14):** `/VEH5V` L22.2 → RS1.1 en F.Cu de **≥ 2 mm** o polígono (acercar
L22/C153/C154 a RS1), o ≥ 2 mm interno con ≥ 4 vías por cambio; `/VIN_SW` RS1.2 → Q7 en F.Cu ≥ 2 mm, Q7 a ≤ 5 mm de RS1/U6;
sensado de U6.7 (CLN) y U6.6 (VIN) desde el **borde interior de los pads de RS1** (Kelvin); `/MAIN5V` según A-02 y
≥ 1.5 mm hasta U20.
**Compras:** cobre interno de **1 oz** (D12), y aun así ensanchar las pistas internas.
**Cómo se verifica.** Con el DRC, avisos de `track_width` solo en redes dejadas a propósito con la regla T15.
#### F-06 · Líneas de RF
**Estado:** Pendiente — layout · Compras: control de impedancia (D12)
**Qué pasa.** LTE: `/RF_LTE` sale de U19.60, 4.01 mm en F.Cu, **22.14 mm en In1** con vías en (174.25, 58.25) y
(194.27, 53.72), luego R118 → 5.62 mm → D28 → J13. Sobre el tramo de In1 pasan `/VBAT_MODEM`, `/SYS5V`, `/SW_IN`…; solo
1 vía GND a menos de 3.5 mm; 30–47 Ω. GNSS: el bias corre junto a la línea RF a **0.274 mm**. En el stackup real
(JLC04161H-7628) una pista de 0.5 mm da 42.1 Ω; el archivo trae el stackup genérico.
**Por qué importa.** Desacople en LTE con dos transiciones de vía sin blindaje y la alimentación del PA cruzando la línea
RF → ruido en la antena y desensibilización del F9P vecino. La prueba G3 en banco probablemente falla.
**Cómo se corrige — layout (Michelle, L-1, L-30…L-33):**
1. Stackup real en *Board Setup* (sección 5-A) y pedir **control de impedancia**.
2. Las dos líneas RF solo en **F.Cu, como CPWG sobre In1 sólido**, empezando en **ancho 0.30 / gap 0.20 mm**; ajustar con
la calculadora de JLC para 50 Ω (la clase RF del proyecto usa esos valores como punto de partida).
3. LTE: re-rutear U19.60 → R118/C146/C147 → D28 → J13 todo en F.Cu (girar J13 o acercarlo al lado RF de U19); quitar el
tramo de In1 y sus dos vías; nada arriba ni abajo de la línea; `/VBAT_MODEM` a ≥ 3 mm. Con esto también desaparece la
violación RF de la vía de `/RF_LTE` contra `/PWR_CTRL` (0.150 mm).
4. Cerca de vías GND a ambos lados de las líneas RF a **≤ 3 mm de paso**, a ≤ 1 mm del borde del gap; 2 vías por pad GND de U.FL.
5. GNSS: `/ANT_BIAS` a ≥ 1 mm de la línea RF (ver C-01).
**Cómo se verifica.** Geometría igual a la de la calculadora para 50 Ω; cercas ≤ 3 mm; prueba G3 en banco.
#### F-05 · In1 no es un plano
**Estado:** Pendiente — layout
**Qué pasa.** El relleno GND de In1 tiene 8 islas y **18.8 % de vacío**; lleva **1571.9 mm de pistas de 49 redes**
(`/SW_5V` 181 mm, `/DOUT_4G` 95, `/KCOIL` 85, `/MAIN5V` 73…). Hay paralelos «de frente» sin plano entre ellos:
I2C_SDA sobre `/SER_TXB` 14.2 mm, ETH_XO sobre `/ETH_RST` 6.95 mm, NRST sobre `/USART6_RX` 7.2 mm.
**Por qué importa.** Los retornos rodean las ranuras (emisiones, susceptibilidad) y hay diafonía entre capas; se rompe la
regla del Plan de Cobre de «In1 sin cortes» para el receptor RF.
**Cómo se corrige — layout (Michelle, L-35):** como mínimo despejar In1 bajo los pares USB (J9 y J11), cada cristal y sus
líneas, todos los nodos SW, `/VBAT_MODEM` y la zona RF, las líneas de SIM y los tres paralelos de arriba. Pasar las pistas de
In1 a In2/B.Cu (o F.Cu si son cortas), en este orden: `/SW_5V`, `/MAIN5V`, `/KCOIL`, `/USART6_TX/RX`, `/DOUT_4G`, `/CHRG_*`,
`/SER_TXB/RXB`, `/ETH_*`, `/VFB_BST`, `/IGATE`. (Con K1 sin montar, `/KCOIL` ya no lleva corriente, pero su cobre sigue ahí.)
**Cómo se verifica.** **≤ 3 islas en In1** y ninguna red crítica sobre un vacío de más de 1 mm.
#### C-04 · Interruptor del F9P junto a la antena LTE
**Estado:** Pendiente — layout
**Qué pasa.** Q1 (AO3401A, `/SW_IN` → `/SW_5V`) está en (197.28, 59.81), **a 9.0 mm de J13**; Q5 a 7.1 mm. `/SW_5V` va de
Q1.3 a U21.1 por **181.32 mm en In1** + 19.7 mm en F.Cu.
**Por qué importa.** La alimentación del F9P nace en el campo cercano del transmisor LTE y recorre ≈ 17–20 cm como ranura
en el plano de GND; el PSRR del LDO a frecuencias LTE es ≈ 0 dB, así que la envolvente del TX llega al riel del receptor
(desensibilización, el riesgo #1).
**Cómo se corrige — layout (Michelle, L-34):** mover **Q1, Q5, R1, R2** (F1 opcional) y R144 a la isla GNSS junto a
U21/C3/C40/C119; llevar hasta ahí `/SYS5V` (o `/SW_IN`); `/PWR_CTRL` pasa a ser la señal larga; **`/SW_5V` ≤ 15 mm y 0 mm en In1**.
**Cómo se verifica.** Medir en el PCB la longitud de `/SW_5V`; prueba G3 en banco.
#### G-02 · J9 (USB del módem) sin ESD
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Layout: pendiente
**Qué pasa.** `/USB_DP`, `/USB_DM` y `/USB_VBUS` iban de J9 a U19 sin ningún dispositivo de protección; J9 está a 64.6 mm
de U19. J9 es el puerto de actualización y recuperación (USB_BOOT) del módem.
**Por qué importa.** Una descarga durante el servicio en campo entra directo al PHY USB del A7670SA; el módem es el único
enlace de la unidad y J9 su única vía de recuperación. Lección F8, ECO §E.5.
**Qué se cambió en el esquemático (Claude, 28-sep):** **U30 = USBLC6-2SC6 (C7519)**: pines 1/6 → `/USB_DM`, 3/4 → `/USB_DP`,
5 → `/USB_VBUS`, 2 → GND (igual que D19 de la V5.6).
**Cómo se corrige — layout (Michelle, L-41):** a **≤ 3 mm de cobre** de los pads de J9, D± pasando por los pads del
dispositivo (flow-through), vía GND a ≤ 1 mm.
**Cómo se verifica.** Revisión visual del ruteo: D± pasan por los pads del USBLC6, sin stubs; en banco, J9 enumera con el módem encendido.
#### C-02 · Rampa de alimentación del F9P
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Compras: pre-ordenar C2862740
**Qué pasa.** U21 (AP2112K-3.3) no tenía arranque suave. El ZED-F9P pide una rampa de VCC entre 20 y 8000 µs/V; con el
AP2112 quedaba ≈ 28 µs/V cerca de regulación: dentro, pero el margen del lado rápido (≈ 1.4×) dependía de un límite de
corriente no especificado.
**Por qué importa.** El F9P se apaga y enciende en cada ventana de 10 min (R1: ≈ 52 000 arranques al año): un arranque
fallido deja el receptor oscuro hasta el siguiente ciclo.
**Qué se cambió en el esquemático (Claude, 28-sep):** U21 → **TPS7A2033PDBVR (C2862740)**, mismo pinout SOT-23-5
(1 IN / 2 GND / 3 EN / 4 NC / 5 OUT); arranque 750–1150 µs → **239–367 µs/V**. La huella no cambia. JLC lo tiene en la
categoría «Pre-ordered Chips»: hay que pre-ordenarlo como J14.
**Cómo se verifica.** Osciloscopio en la subida de `/3V3_GNSS`: entre **100 y 1000 µs/V**.
#### A-08 · U17 (AMS1117) sin margen en batería
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Firmware: pendiente
**Qué pasa.** En batería la entrada del LDO es VSYS − D12 = **4.27–4.67 V**; el AMS1117 necesita ≈ 4.3 V (caída ≈ 1.0 V).
Su corriente de tierra (5–11 mA) cuesta 27–60 mW de batería. VDDA = 3V3 y el firmware supone 3.30 V → BAT_SENSE y
5V_SENSE leen hasta +4 % alto; el corte de batería baja de 3.40 V dispara en ≈ 3.27 V reales.
**Por qué importa.** 3V3 degradado justo en batería, telemetría de batería equivocada y un piso de sueño tan grande como
toda la meta (20–50 mW).
**Qué se cambió en el esquemático (Claude, 28-sep):** U17 → **TI TLV1117LV33DCYR (C15578)**: SOT-223, mismo pinout
(1 GND / 2 OUT / 3 IN), 1 A, 455 mV de caída a 1 A, ≈ 100 µA de consumo. **No** usar C48937499 (mismo número de parte
listado, pero otro chip: 1.2 V de caída, 12 V). La huella no cambia.
**Firmware:** calcular VDDA con VREFINT en cada ventana; nunca suponer 3.30 V.
**Cómo se verifica.** `/3V3` en batería se mantiene regulado; las lecturas de batería coinciden con un multímetro.
#### E-02 · `/ETH_RST` sin pull-down
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Firmware: pendiente
**Qué pasa.** `/ETH_RST` = {U11.37, PA15}. PA15 arranca como JTDI con pull-up (30–50 kΩ) y el RSTn del W5500 tiene su
propio pull-up interno (62–112 kΩ). Un pull-down de 100 k daría **2.75 V (lee alto)**. Con **4.7 k**: peor caso 0.62 V
(típico 0.49 V) → bajo seguro; 0.70 mA cuando el firmware lo mantiene en alto.
**Por qué importa.** El W5500 sale de reset en cada reset del MCU, DFU o bootloader y consume hasta 128 mA; en batería es
el consumo de la **lección F8**. Una V5.6 con R112 = 100 k tiene el mismo error (sección 11).
**Qué se cambió en el esquemático (Claude, 28-sep):** **R140 = 4.7 kΩ 0603 (C23162, Basic)** de `/ETH_RST` a GND junto a U11.37.
Con E-01 aplicado, este punto baja a Minor, pero se hizo igual.
**Firmware:** PA15 en bajo como primera línea de `setup()`.
**Cómo se verifica.** Con el MCU en reset, `/ETH_RST` ≈ 0.49 V típico (0.62 V en el peor caso), abajo del VIL de 0.8 V.
#### A-09 · C78 electrolítico de 85 °C en el 5 V
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep)
**Qué pasa.** C78 (bulk de `/VEH5V`) era SamYoung MVG 16 V 220 µF, 85 °C / 2000 h, 130 mA de rizo. A 65 °C locales
(supuesto) ≈ 8 000 h: 0.9 años en operación continua.
**Por qué importa.** La capacidad y la ESR se degradan en el primer año y afectan la respuesta de U25.
**Qué se cambió en el esquemático (Claude, 28-sep):** C78 → **Lelon OVZ221M1CTR-0608, 220 µF 16 V polímero (C881921)**,
misma lata 6.3 × 7.7, 105 °C / 2000 h. Efecto en el lazo de U25: benigno (margen de fase ≈ 68°).
**Cómo se verifica.** BOM: C78 = C881921.
#### H-02b · Stock para la cantidad del pedido
**Estado:** ✅ Aplicado en esquemático y verificado (28-sep) · Compras: pendiente
**Qué pasa** (base de JLC, 28-sep). C103211 (RALEC 100 k **5 %**): 702 piezas, 9 por tarjeta → **78 tarjetas máximo**.
U19 A7670SA-LASC (C18548276): 96. U18 ZED-F9P-04B (C5120257): 104. J14 (C2977286) está en «Pre-ordered Products».
**Por qué importa.** Un pedido de 100 se detiene por U18/U19/C103211; J14 falla sin pre-orden.
**Qué se cambió en el esquemático (Claude, 28-sep):** C103211 → **C25803** (UNI-ROYAL 100 k **1 %**, Basic) en R56, R57, R58,
R85, R87, Rgs1 (R20, Ren1 y Rfreq1 quedan DNP con A-01).
**Compras:** pre-ordenar J14; pre-ordenar o consignar U18 y U19 si se va a ≳ 100; re-verificar todo el día del pedido.
**Cómo se verifica.** Carrito de JLC sin faltantes para 20 tarjetas.
---
## 5. Lista de trabajo de Michelle (layout)
!!! warning "Antes de empezar — tres reglas"
1. **Primero `git pull`.** Los cambios de esquemático, reglas del proyecto y las huellas nuevas de `Drogheda-v6.pretty`
vienen en el pull. Si KiCad estaba abierto en v6, cerrarlo **sin guardar** y volver a abrir.
2. En *Actualizar PCB desde esquemático*, **«Reemplazar huellas»** sí va marcado: solo cambia las referencias cuya huella
cambió en el esquemático (tabla del paso 0). **Nunca** correr la actualización **global** *Actualizar huellas desde
librería* (L-45): desde librería, solo por referencia (U25 y, si hiciera falta, L2/L6/L8/L20).
3. Si KiCad avisa que el archivo **cambió en disco**, elegir **Recargar**. Nunca guardar encima una copia vieja.
Orden: paso 0, luego reglas y stackup, luego el cobre de los Blockers, los Majors, los puertos y al final la aceptación
(L-48). El número L-n es el paso de la §6 del informe (L-1…L-48), del informe de puertos (L-49…L-62) o de la revisión
final (L-63…L-66). Detalle de cada pieza nueva en el [resumen de cambios](v6-cambios-resumen.md).
### 0 · Actualizar el PCB desde el esquemático (primero)
- [ ] `git pull` en HBox_PCB; abrir `hbox-watchdog-v6.kicad_pro`.
- [ ] *Herramientas → Actualizar PCB desde esquemático* con **«Eliminar huellas sin símbolo»** marcado y
**«Reemplazar huellas con las del esquemático»** marcado. **Revisar la lista del diálogo antes de aplicar:** solo
deben cambiar de huella las referencias de esta tabla, y solo deben borrarse **D20 y D21**. Si propone otra cosa
(por ejemplo borrar barrenos MH o pads TP), cancelar y avisar a Leo.
| Ref | Huella nueva | Hallazgo |
|---|---|---|
| U15 | `Package_SO:SOIC-16_3.9x9.9mm_P1.27mm` (SOIC angosto; ahora TRS3232EIDR) | H-01, P-2 |
| D28 | `Diode_SMD:D_0402_1005Metric` | B-03 |
| Y3 | `Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm` (pad 1 HSE_IN, pad 3 HSE_OUT, pads 2/4 GND) | D-02 |
| JP1 | `Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm` (puenteado) | A-01 |
| C91 | `C_0603_1608Metric` | E-04 |
| L2 (DNP), L6, L8, L20 | `Drogheda-v6:IND-SMD_MWSA0804S` (pads 2.75 × 5.5 mm a ±3.375 mm) | H-03, L-63 |
J10, P11 y P12 ya tienen en el esquemático la misma huella que en el PCB (`Connector_RJ:RJ45_Hanrun_HR911105A_Horizontal`
y `PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_Horizontal`): no cambian de huella, **pasan a montadas**. Y4, F2, U10, U14,
U17 y U21 conservan su huella (reemplazos directos).
- [ ] **Revisar los DNP** después del Update. Montadas ahora: **J10, P11, P12**. DNP: U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1,
Rfreq1, Ren1, Ren2, R20, R21, Q10, DzG1, Rrp1, C10, C11, C22 (A-01); K1, Q6, D6, R40, R41 (B-13); R145, R146 (opción de
polarización RS-485).
- [ ] **U25:** *Actualizar huella desde librería* **solo en U25**, para que pierda el campo `LCSC Part` (H-04). Debe quedar solo
`LCSC` = C524806.
- [ ] Colocar las **46 piezas nuevas** (tabla abajo), cada una en el lugar que marca su grupo.
- [ ] Borrar el cobre de las piezas que quedaron DNP por A-01 (grupo B) y poner R148 en lugar de K1 (L-54).
??? note "Las 46 piezas nuevas y dónde van"
| Ref | Pieza | Hallazgo | Dónde va |
|---|---|---|---|
| D35 | SMBJ33A (TVS de ignición) | F-02 | en P1.3 |
| U28, R135, R136 | TPS2552 + 100 k (EN̅) + 10 k (FAULT̅) | C-01 | cerca de L21/J12 (L-33) |
| C176 | 100 nF | N2 | ≤ 2 mm de U28 pin 1 (L-64) |
| U27, C170 | 74LVC1G125 + 100 nF | D-01 | junto a U18.26 |
| U29, C168 | TMP102 (0x48) + 100 nF | F-51 | entre U6 y L6, ≤ 5 mm del EP |
| R137, R138, C169 | 100 k / 120 k / 10 nF (toma NTC) | F-51 | R138/C169 junto a PC5 (pad 25) |
| C161, C162 | 47 µF 1210 | A-05 | ≤ 2 mm de VSYS 1/24 de U6 |
| C163, C164, C165 | 2 × 22 µF 0805 + 220 µF polímero | F-03 | en U20.2 |
| C166, C167 | 22 µF 0805 | B-02 | ≤ 3 mm de L20.2 |
| U30 | USBLC6-2SC6 | G-02 | ≤ 3 mm de J9 (L-41) |
| R139 | 100 k | E-01 | en U12.2; pista `/ETH_PWR_EN` a PD2 (pad 54) |
| R140 | 4.7 k | E-02 | en U11.37 |
| C172, C173 | 100 nF | E-04 | AVDD 4/8 y 11/21 del W5500 |
| U31, C174 | TMP102 (0x49) + 100 nF | F-52 | entre U19 y U20 |
| R141 | 100 k pull-up de `/PFO` | A-13 | cerca de PB10 (pad 29) |
| R142, R143 | 100 k en `/MODEM_STATUS` (a GND) y `/DIN_4G` (a 3V3) | B-10 | donde convenga |
| C171 | 100 nF 0402 | B-09 | en J14.C1 |
| R144 | 100 k | D-09 | en la base de Q5 |
| TP9 | pad 1.5 mm | D-12 | PA9, en la fila de pads de depuración (L-56) |
| TP10, TP11 | pads 1 mm | C-07 | U18.50 / U18.49, junto a un pad GND |
| JP6 | puente de soldadura abierto (JP_CUT) | G-04 | sobre P5, serigrafía «CUTOFF BYPASS» |
| D36, D37, D38 | PESD5V0S1BA | G-08 | ≤ 3 mm de P6.1, P7.1, P8.1 |
| U32, C175 | 74LVC1G04 + 100 nF | P-1 | ≤ 5 mm de U14 pines 2/3 (L-49) |
| D39 | SM712 | P-1 | ≤ 5 mm de cobre de P11 (L-50) |
| R145, R146 | 390 Ω, **DNP** | P-4 | junto a P11 (L-50) |
| R147 | 1 k | P-2 | ≤ 3 mm de U15.12 (L-51) |
| R148 | 0 Ω | B-13 | entre U16.37 (PC6) y U23.7 (L-54) |
| TP12 | pad 1.5 mm en `/1V8_MODEM` | P-5 | a 2.54 mm de TP8 (L-55) |
R56 cambia de red (A-11): ahora va a `/3V3`.
### A · Reglas DRC y stackup
- [ ] **L-1 Stackup:** *Board Setup → Physical Stackup* = JLC04161H-7628: Cu 0.035 / prepreg 0.2104 (εr 4.4) / Cu 0.035 /
núcleo 1.065 (εr 4.6) / Cu 0.035 / prepreg 0.2104 (εr 4.4) / Cu 0.035; acabado **ENIG**.
- [ ] **L-2 Netclasses:** revisar que estén como en la tabla de F-01 (ya aplicadas en `.kicad_pro`): HV24 con `/SW_FAN`,
`/BST_FAN`, `/24V`, `/Q10_GATE`; `/SW_MODEM` y `/BST_MODEM` en Default; PWR_HI, PWR_MODEM, PWR_MID, RF y Default.
- [ ] **L-3 Reglas:** el `.kicad_dru` ya tiene las 5 reglas de F-01. **Falta:** cambiar la regla de texto a altura mín.
**0.8 mm** / trazo mín. **0.15 mm** (hoy 0.5 / 0.1) y relajar los avisos T15 en `/5V_FAN`, `/FAN_RET`, `/SW_FAN`,
`/SW_5V`, `/SW_IN`, `/SYS5V`, manteniendo ≥ 0.8 mm en `/VIN_PROT`/`/VIN_FUSED`. La regla T15 todavía nombra
`/VIN_MODEM`, que ya no existe: se puede quitar.
- [ ] **L-4 Comprobar:** *Inspeccionar → Resolución de separación* en una red HV24 (`/24V_IN` o `/VIN_PROT`) contra la zona
GND de In1 → **0.5 mm**, y zona GND contra una red Default → **0.15 mm**. Después de cada guardado desde la
interfaz, revisar que las netclasses sigan ahí.
- [ ] Rellenar zonas (**B**) y correr el DRC. Las proximidades del relleno se van al rellenar. Los **12 puntos de cobre real**
que salieron en la copia de prueba son la lista del grupo B y de F-06: `/IGN_IN` en In2 contra vía GND 0.250,
`/FAN_PWM` 0.291, vía `/5V_FAN` 0.300, `/NTC2` 0.305 y vía `/VEH5V` 0.340 (todos F-02, desaparecen con L-8);
`/VIN_PROT` contra `/VEH5V` 0.157 y 0.191 en (175.5, 113.8); `/USB_VBUS` contra Q23.1 `/Q23_GATE` 0.225; `/SW_PWRIN` contra
pista GND 0.270; `/24V` contra `/COMP_FAN` 0.290 × 2 (rama DNP, se va con L-6); vía de `/RF_LTE` contra `/PWR_CTRL`
0.150 (se va con L-31). Después del Update aparecen elementos HV24 nuevos en `/VIN_FUSED` junto a D10.
### B · Potencia: entrada de 24 V e ignición (A-01, V1-01, F-02, F-01)
- [ ] **L-5 Fusible primero:** F2 (ahora 3 A, C206912, mismo porta-fusible Nano2) eléctricamente primero: P1.1 → F2 →
D10 (SMBJ33A) y Q23 en paralelo a la salida de F2. En el cobre de P1.1 solo F2.
- [ ] **L-6 Quitar la rama sin fusible:** borrar el cobre `/24V`, `/SW_FAN`, `/BST_FAN` de Q10, DzG1, Rrp1, C10, C11, C22 y del
bloque U2 (U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1, Rfreq1, Ren1, Ren2, R20, R21). JP1 puenteado → `/5V_FAN` = `/VEH5V`.
- [ ] **L-7 Entrada del buck del módem:** borrar la pista de 48 mm de `/VIN_MODEM` desde D20 (136.5, 113.8) hasta U20; donde
estaba D21, unir en cobre. `/MAIN5V` de Q7/U6 a U20.2 de **≥ 1.5 mm** todo el camino.
- [ ] **L-8 Ignición:** Rig1 a **≤ 3 mm** de cobre de P1.3, solo F.Cu; D35 (SMBJ33A) de `/IGN_IN` a GND en P1.3; el tramo
largo es `/IGN_SENSE` (Default); Rig2, Rigb1, C9, D5 junto al MCU; borrar la pista vieja en In2 (106.5 mm) y la vía
de In1 en (127.3, 50.5).
- [ ] **L-9 `/24V_IN` fuera de In1:** la pista de 27 mm en In1 de (167.5, 128.65) a (143.25, 121.75) → F.Cu por la orilla sur;
si tiene que ir en In1, ≥ 1.0 mm de toda red de bajo voltaje y nada cruzándola.
- [ ] **L-10 Puntos de 24 V en capa externa** (después de rellenar + DRC): `/VIN_PROT` (1.5 mm) vs `/VEH5V` (0.8 mm) →
**≥ 0.5 mm** y tapar la vía `/VEH5V` de ahí; `/USB_VBUS` a ≥ 0.3 mm de `/Q23_GATE` y `/VIN_PROT`; quitar el cuello GND
de U20 (L-22); `/SW_PWRIN` y `/BST_MODEM` a ≥ 0.3 mm de pistas GND. **Tapar todas las vías** salvo las de prueba.
- [ ] **L-62 P1:** confirmar que los pines del DIBO DB128V-5.0-5P (C424683) entran en los barrenos de la huella MKDS-1,5
(paso 5.0 mm) y que la entrada de cable mira al lado del arnés en el gabinete. Solo revisión; no se espera cambio.
### C · Potencia: inductores y cargador LTC4040 (H-03, A-02, A-05, A-07, F-51, A-14)
- [ ] **L-53 (cifras corregidas por L-63) Land MWSA0804S en L2/L6/L8/L20:** la huella cambia a `Drogheda-v6:IND-SMD_MWSA0804S`
con el *Update PCB*. Pads de **2.75 × 5.5 mm a ±3.375 mm** (separación 4.0 mm, extensión 9.5 mm), courtyard
**10.0 × 9.0 mm**, con el lado de 8.8 mm del cuerpo sobre el eje de los pads. Revisar vecinos y medir las distancias de
L-11/L-21/L-22/L-23 contra los pads nuevos. **Colocar este land antes de rutear los reguladores.**
- [ ] **L-63:** si la versión anterior de esta huella (la de la pasada de puertos, 11.5 × 9.7 mm) ya había entrado al PCB,
refrescar **solo estas cuatro referencias** desde la librería (L-45). El land correcto es más chico y parecido al
SRU8028 anterior, así que la separación con vecinos es más fácil de lo que decía L-53.
- [ ] **L-11 Re-agrupar U6:** L6 pad 1 ≤ 5 mm (orilla) de los pines 21/22; C30/C31 ≤ 3 mm del pin 6; C32/C33/C34 y
**C161/C162** ≤ 2 mm de VSYS 1/24 con GND sobre el cobre del EP; C35 (o un 22 µF 0805 extra) en L6.2 junto al pin 23.
L6 fuera de (193.2, 90.3) (vuelve MH4).
- [ ] **L-12 `/SW_BAT`:** polígono F.Cu **≥ 2 mm** desde la salida de los pines 21+22 hasta L6.1, compacto, sin cuellos de 0.25/0.30 mm.
- [ ] **L-13 `/BAT_PLUS`:** P3 → L6.2 ≥ 1.5 mm en F.Cu o polígono; si va interno, ≥ 4 vías por cambio y ≥ 2.5 mm; sensado de
U6.23 como toma Kelvin desde L6.2/C35.
- [ ] **L-14 `/MAIN5V`:** polígono de U6 pines 1/24 sobre C32–C34 hasta el drenador de Q7, ≥ 2 mm, sin cuellos de 0.3/0.5 mm.
- [ ] **L-15 EP de U6:** 9 vías, 3 × 3 a 0.9 × 1.2 mm, 0.3/0.6 mm, tapadas o via-in-pad de JLC; conexión del pad sólida.
- [ ] **L-16 Planos bajo U6:** In1 e In2 GND sólidos ≥ 5 mm alrededor de U6 y L6 (sacar de In1 `/VFB_BST`, `/IGATE`, `/CHRG_*`).
- [ ] **L-17 Sensor:** U29 (TMP102, SOT-563) entre U6 y L6, ≤ 5 mm del EP, C168 en V+, en I²C1. Toma del NTC: `/NTC` → R137 →
`/NTC_CELL` → PC5 (pad 25), con R138 (120 k) y C169 (10 nF) de ese nodo a GND.
- [ ] **L-18 BSTFB / IGATE (A-14):** R53/R54 ≤ 3 mm de los pines 18/10 de U6, rama superior con toma Kelvin en los pads
de CSYS, `/VFB_BST` en F.Cu; Q7 ≤ 5 mm de U6.15; `/IGATE` ≤ 8 mm en F.Cu, flanqueada por cobre `/MAIN5V`.
- [ ] **L-19 Camino de 5 V (A-07):** `/VEH5V` L22.2 → RS1.1 en F.Cu ≥ 2 mm (acercar L22/C153/C154 a RS1) o ≥ 2 mm interno con
≥ 4 vías por cambio; `/VIN_SW` RS1.2 → Q7 en F.Cu ≥ 2 mm, Q7 ≤ 5 mm de RS1/U6; sensado CLN (U6.7) y VIN (U6.6) desde el
borde interior de los pads de RS1 (Kelvin), no 1.66 mm abajo como hoy.
### D · Potencia: reguladores conmutados (F-03)
- [ ] **L-20 Regla común U25/U20/U12:** Cin ≤ 2 mm de VIN y GND/EP; GND de Cin + ánodo del diodo + EP en una sola área sólida
de F.Cu, sin cuellos < 1 mm; ≥ 2 vías ≤ 1 mm de cada pad GND de Cin; diodo ≤ 3 mm del SW; inductor ≤ 5 mm; cobre SW
≤ 25 mm²; divisor FB ≤ 3 mm del pin FB; nada en In1 bajo el cobre SW. Lazo de entrada ≤ 1 cm² (U25 hoy ≈ 3.1 cm²).
- [ ] **L-21 U25:** C149/C150 ≤ 2 mm de los pines 2/7 sobre el cobre del EP/D34; cátodo de D34 a 2–3 mm del pin 8, ánodo en
el GND de Cin; L22 ≤ 5 mm del pin 8 (hoy 13.75 mm); `/SW_PWRIN` ≤ 25 mm² (hoy 45.8 mm²) y no sobre pistas de In1;
4 vías GND a ≤ 2 mm del nodo Cin/D34; pad GND de D34 sólido.
- [ ] **L-22 U20:** borrar la pista GND de 0.25 mm entre U20.1 y U20.2; GND de C127/C128 hacia el EP con F.Cu sólido; C163/C164
≤ 3 mm de U20.2 y C165 (220 µF, 6.3 × 7.7) en U20.2; R110/R111 ≤ 2 mm de U20.5, lejos del pin 8; sensado de VBAT con
pista dedicada desde C131; borrar el desvío de 5.6 mm por In1; `/MAIN5V` (antes `/VIN_MODEM`) a ≥ 0.3 mm de los pads
EN/RT/EP.
- [ ] **L-23 U12:** C101 ≤ 2 mm de U12.7 (hoy 6.40 mm) con GND junto al pin 5; D11 ≤ 2 mm del pin 1, ánodo en el GND de C101
(hoy 11.92 mm); L8 ≤ 5 mm (hoy 15.10 mm); R87/R88 ≤ 3 mm de U12.4, R87 por pista Kelvin desde C102/C94; `/ETH_FB`
≤ 5 mm en F.Cu sin nada bajo `/ETH_SW`; uniones GND de 0.2 mm → polígono.
### E · Módem y RF (F-06, B-03, B-02, B-13, F-52, B-09)
- [ ] **L-30 Líneas RF:** solo F.Cu, CPWG sobre In1 sólido, empezar en **ancho 0.30 / gap 0.20 mm** y ajustar con la calculadora
de JLC para 50 Ω en JLC04161H-7628.
- [ ] **L-31 LTE:** re-rutear U19.60 → R118/C146/C147 → D28 → J13 todo en F.Cu (girar J13 o acercarlo al lado RF de U19); quitar
el tramo de 22 mm en In1 y sus vías en (174.25, 58.25) y (194.27, 53.72); nada arriba ni abajo de la línea;
`/VBAT_MODEM` ≥ 3 mm. D28 (ahora 0402) en el mismo lugar en línea.
- [ ] **L-32 Cercas:** vías GND a ambos lados de RF_LTE/RF_ANT_LTE y RF_GNSS/RF_ANT_GNSS a **≤ 3 mm** de paso, ≤ 1 mm del borde del gap.
- [ ] **L-36 VBAT_MODEM:** polígono F.Cu ≥ 3 mm de L20.2 → C130 → C131 → C132–C136 → pines 55/56/57 (a los tres, sin cuello de
0.5 mm); C131 (ahora polímero) ≤ 5 mm de los pads; C166/C167 ≤ 3 mm de L20.2.
- [ ] **L-54 UART del módem (B-13):** R148 (0603) en el camino más corto U16.37 (PC6) → U23.7 (`/DIN_4G`). K1, Q6, D6, R40, R41
son DNP: sus huellas se quedan, sin más cambio de cobre que las dos conexiones de R148. Serigrafía «K1 XOR R148».
- [ ] **L-55 TP12:** junto a TP8 a 2.54 mm entre centros (para puentearlos con pinzas); los dos alcanzables con la tapa abierta.
- [ ] **L-65 Pads de descarga forzada:** TP12 (1V8) a 2.54 mm de TP8 (L-55), más un **contacto GND a ≤ 10 mm de TP8** (por
ejemplo la pestaña del blindaje de J9, SH = GND, u otro pad GND). Serigrafía «BOOT: TP8–1V8 (alt: TP8–GND)».
- [ ] **TMP102 del módem (F-52):** U31 (0x49) + C174 entre U19 y U20.
- [ ] **SIM (B-09):** C171 (100 nF 0402) en J14.C1; mover D23–D25 junto a J14.
### F · GNSS (C-01, C-04, D-01, C-07)
- [ ] **L-33 Bias de antena:** U28 cerca de L21/J12; `/ANT_BIAS` ≥ 1 mm de la línea RF con franja GND cosida entre ambas
(o en In2 tras 100 pF + 100 nF); L21 toma la línea sin stub en J12; D27 sobre el pad de J12.
- [ ] **L-64 C176:** 0603 a **≤ 2 mm del pin 1 (IN) de U28**, en la misma capa; su pad GND al plano con vía a ≤ 1 mm y el pin 2
de U28 en la misma zona de GND; `/3V3_GNSS` llega a U28.1 pasando por el pad de C176.
- [ ] **L-34 Interruptor del F9P:** Q1, Q5, R1, R2 (F1 opcional) y R144 a la isla GNSS junto a U21/C3/C40/C119; llevar `/SYS5V`
(o `/SW_IN`); `/PWR_CTRL` es la señal larga; `/SW_5V` **≤ 15 mm y 0 mm en In1** (hoy 181 mm en In1).
- [ ] **U27 (D-01):** 74LVC1G125 + C170 junto a U18.26, alimentado de `/3V3_GNSS`.
- [ ] **Pads de prueba (C-07):** TP10 en U18.50 (SAFEBOOT_N) y TP11 en U18.49 (RESET_N), junto a un pad GND. Cu4 ≤ 2 mm de U18.36 (C-09).
### G · Puertos serie: RS-485, RS-232, H4 y SC16IS752 (P-1, P-2, P-4)
- [ ] **L-49 Dirección RS-485:** U32 (SOT-23-5) + C175 a ≤ 5 mm de los pines 2/3 de U14; C175 ≤ 2 mm de U32.5; `/RS485_DE`
≤ 10 mm; `/SER_DEA` de U10.1 a U32.2. C84 ≤ 2 mm de U14.8.
- [ ] **L-50 Protección RS-485 en P11:** D39 (SM712) a ≤ 5 mm de cobre de P11.1/P11.2, A/B en flow-through (P11 → pads de D39 →
U14), D39.3 a GND con 2 vías a ≤ 1 mm; R82 + JP5 junto a P11 (terminación en el extremo del bus); R145/R146 (0603, DNP)
junto a P11. Rutear A/B como par (0.3 mm, gap ≤ 0.3 mm), ≥ 0.5 mm de otras redes, nada cruzando en la capa vecina.
- [ ] **L-51 RS-232 / H4:** R147 ≤ 3 mm de U15.12; H4.3 se conecta del lado de U10 (`/SER_RXB`), no en U15. Bomba C85–C88
≤ 3 mm y desacople **C89** ≤ 2 mm de U15.16. (Corrección a L-37: C84 es de U14, no de U15.)
- [ ] **L-57 SC16IS752 (U10):** Y2 + C82/C83 ≤ 5 mm de U10.6/7, sin pistas de capa interna debajo (L-39 extendido a Y2);
C81 ≤ 2 mm de U10.8.
### H · Cristales, MCU y Ethernet (D-02, D-03, E-01…E-04, P-3, B-10, A-11, A-13, D-09, D-12)
- [ ] **L-39 Cristales:** Y1 ≤ 3 mm de U11.30/31; **Y3 (ahora 3225) ≤ 3 mm** de PH0/PH1 (límite de aceptación 5 mm); Y4 ≤ 3 mm de
PC14/PC15; capacitores de carga pegados al cristal, 2 vías GND, ninguna pista de capa interna bajo el cristal ni sus líneas
(hoy Y3 tiene `/USART6_RX` en In1 bajo las dos líneas HSE y `/BAT_PLUS` en las 4 capas al lado).
- [ ] **Piezas chicas nuevas (L-38):** R140 (4.7 k) en U11.37 (E-02); R139 (100 k) en U12.2 y pista `/ETH_PWR_EN` al pad 54 (E-01);
R144 (100 k) en la base de Q5 (D-09); R141 (100 k) pull-up en `/PFO`, ruteado U6.20 → PB10 (A-13); R142/R143 en
`/MODEM_STATUS` y `/DIN_4G` (B-10); R56 ahora a `/3V3` (A-11).
- [ ] **L-56 Fila de pads de depuración (D-12):** TP3 SWDIO, TP4 SWCLK, TP5 NRST, TP6 GND, TP7 3V3, TP9 PA9-TX en una fila recta a
2.54 mm de paso, ≤ 30 mm de pista desde U16, con serigrafía. Así se puede apoyar una pinza pogo 1×6 o un header, sin conector.
- [ ] **L-44 Ethernet:** C90/C91 ≤ 2 mm de U11.20/22; C172/C173 en los pares AVDD 4/8 y 11/21; cada par TX/RX acoplado solo en
F.Cu (100 Ω diferencial), ≤ 1 par de vías.
- [ ] **L-52 J10:** pin 8 → GND con pista ≥ 0.5 mm a 2 vías GND puestas **fuera** de la zona MAGJACK_NO_POUR (sin relleno bajo
los magnéticos). Re-rutear los pines 11/12: J10.12 = `/ETH_ACT_A` (desde R97), J10.11 = `/ETH_ACTLED` (a U11.27).
- [ ] **L-66 Revisión de LEDs de J10:** después del Update, confirmar pad 12 = `/ETH_ACT_A` (a R97) y pad 11 = `/ETH_ACTLED`
(a U11.27), según el plano de Hanrun (amarillo A = 12, K = 11); pad 8 = GND («Connect CHS GND to PCB Ground»).
- [ ] **L-67 JP2 = LFP (seguridad):** después del Update, JP2 debe ser `Drogheda:SolderJumper-3_P1.3mm_Bridged23_RoundedPad1.0x1.5mm`
con el puente de cobre en los pads **2-3** (`/F2_SEL` a GND) y **ningún** puente 1-2 a `/MAIN5V`. Un JP2 Bridged12 olvidado
flotaría un paquete LFP a 4.00 V. Serigrafía «F2: LFP»; SMD, fuera de BOM/CPL.
- [ ] **L-47 (parte):** capacitores de VDD del MCU a ≤ 2 mm de sus pines donde se pueda (D-15).
### I · Tierras y vías (F-12, F-05)
- [ ] **L-24 EP:** U25 y U20 → 2 × 3 = 6 vías a 1.0 mm (o 2 × 4 = 8 a 0.8 mm con vías 0.3/0.5); U12 → 2 × 3; U6 → L-15.
- [ ] **L-25 Conexión de pads:** sólida **por pad** en EP, pads GND de U18 y U19, ánodos de D34/D11, pads GND de Cin/Cout.
La zona se queda con alivio térmico (≥ 2 spokes) para pasivos chicos; **no** usar «alivio solo para PTH».
- [ ] **L-26 U19:** una vía tapada en cada hueco de 1.7 mm entre pads GND centrales + anillo perimetral: **≥ 30, meta 40**, nunca dentro de un pad.
- [ ] **L-27 U18:** vías en los centros intersticiales diagonales de la rejilla de 2.1 mm: **≥ 24**. Bajo U18/U19: tapadas o
«epoxy filled & capped».
- [ ] **L-28 U.FL y ESD:** 2 vías GND a ≤ 1 mm de cada pad GND de J12 y J13, y en D28.
- [ ] **L-29 Costura:** toda isla GND ≥ 20 mm² con ≥ 2 vías; ningún punto del polígono GND a > 5 mm de una vía; cerca en la orilla a
≤ 5 mm de paso (≈ 96 vías); **total ≥ 400 vías GND** (hoy 69); 0 celdas de 20 × 20 mm vacías (hoy 10 de 35).
- [ ] **L-35 Plano In1:** despejar In1 bajo pares USB (J9, J11), cristales y sus líneas, nodos SW, `/VBAT_MODEM` y zona RF, líneas
de SIM y los tres paralelos (I2C_SDA/`/SER_TXB`, ETH_XO/`/ETH_RST`, NRST/`/USART6_RX`); pasar pistas a In2/B.Cu en el orden
de F-05. Meta: ≤ 3 islas en In1, ninguna red crítica sobre un vacío > 1 mm.
### J · Conectores y barrenos (G-01, G-02, G-04, G-08, F-14, F-17)
- [ ] **L-40 Barrenos (G-01, decidido D11):** restaurar **MH4 (Ø3.2 NPTH) en (193.2, 90.3)**; poner la pareja de barrenos de la
abrazadera del disipador junto a U19 (elegir posición nueva; la de MH11 de la V5.5 ya choca con U19); radio ≥ 4.0 mm sin
cobre en F.Cu/B.Cu alrededor de cada barreno (mover ≥ 0.5 mm la pista `/3V3` de MH6) o especificar rondanas de nylon.
- [ ] **L-41 ESD de J9 (G-02):** U30 (USBLC6-2SC6) a ≤ 3 mm de cobre de los pads de J9; D± pasando por sus pads (1/6 `/USB_DM`,
3/4 `/USB_DP`, 5 `/USB_VBUS`, 2 GND); vía GND ≤ 1 mm.
- [ ] **L-42 ESD de J11 (F-14):** D+/D− de DFU pasando por los pads de D14/D15 (sin stubs); D15 ≤ 3 mm de cobre de J11
(hoy 10.9 mm); cada pad GND de ESD con su vía ≤ 1 mm.
- [ ] **L-43 Pares USB (F-17):** pares de J9 y J11 solo en F.Cu sobre In1 sólido, acoplados (≈ 0.2/0.15 mm para 90 Ω en JLC7628,
confirmar con la calculadora), ≤ 1 par de vías, sin cruzar ranuras.
- [ ] **L-58 Resistencias CC de USB-C:** Rcc1/Rcc2 ≤ 5 mm de J9.A5/B5; R100/R101 ≤ 5 mm de J11.A5/B5.
- [ ] **ESD de cables externos (G-08):** D36, D37, D38 en P6.1, P7.1 y P8.1, cada uno a ≤ 3 mm de su conector, a GND.
- [ ] **JP_CUT (G-04):** JP6 sobre P5 (`/MAIN5V`–`/SYS5V`), abierto, serigrafía «CUTOFF BYPASS».
### K · Serigrafía (F-18, G-05, puertos)
- [ ] **L-46:** referencias ≥ **0.8 mm** de alto / **0.15 mm** de trazo (1.0/0.15 donde quepa); borrar «4G NTRIP RESET» en
(187.0, 124.1); SW1 «RESET MCU», SW2 «BOOT0 (DFU)»; JP2 «CHEM 1-2 Li-ion / 2-3 LFP»; leyenda de P1
«VIN 9-36V · GND · IGN · GND · NC»; nombre de función en cada conector (FAN, RESET, NTC1, NTC2, LED, BATT, CUTOFF,
5V BENCH); limpiar los 14 avisos de serigrafía del DRC; revisar en 3D las marcas de polaridad de D27/D28/Q10.
- [ ] **L-59 Serigrafía de puertos:** P11 «RS-485 A+ B− GND»; P12 «RS-232 TX RX GND»; JP5 «TERM»; R145/R146 «BIAS DNP»;
H4 «UART-B TTL 3V3 TX RX GND»; J9 «MODEM USB»; J11 «DFU»; TP8/TP12 «USB_BOOT / 1V8»; P2 «5 V ONLY, BENCH».
### L · Cierre y aceptación (L-47, L-60, L-61, L-48)
- [ ] **L-47:** alargar 0.3 mm el final de la pista `/SW_5V` en (86.35, 121.88) hasta el centro del pad U21.3.
- [ ] **L-60 Atributos de huella:** TP1–TP12 y JP1–JP6 como SMD y «excluir de BOM y de archivos de posición» en el PCB (ya está
así en el esquemático); luego reactivar la revisión DRC `footprint_type_mismatch`.
- [ ] **L-61 Fiduciales:** tres fiduciales globales (cobre 1.0 mm, abertura de máscara 2.0 mm) en F.Cu en tres esquinas (por los
LGA U18/U19 y las piezas de 0.5 mm de paso).
- [ ] **L-48 Rellenar todas las zonas → DRC** con las reglas nuevas:
- [ ] **0 errores de separación**, 0 sin conectar.
- [ ] Avisos de `track_width` solo en redes dejadas a propósito en T15.
- [ ] Vías GND ≥ 400 y 0 celdas de 20 mm vacías; todo pad GND de U19/U18/U20/U25/J12/J13 con vía al plano a ≤ 2 mm.
- [ ] Cada lazo de entrada de buck ≤ 1 cm²; ≤ 3 islas en In1.
- [ ] Líneas RF con la geometría de 50 Ω de la calculadora y cercas ≤ 3 mm.
- [ ] EP de U6 con 9 vías; `/SW_BAT` ≥ 2 mm; ninguna red HV24 en capa interna a < 0.5 mm de cobre de bajo voltaje.
- [ ] Generar BOM/CPL (Fabrication Toolkit) **solo después** de quitar el `LCSC Part` de U25.
- [ ] `git add` + `commit` + `push` en HBox_PCB y **avisar a Leo**.
---
## 6. Firmware 0.7.x (`board_v6.h`)
No detiene el pedido, pero sin esto la v6 no cumple R1/R3 en batería y los puertos no arrancan bien. Detalle: §8 del
[informe original en inglés](v6-full-audit.md#8-firmware-requirements-board_v6h-fw-07x) y las notas de firmware de los
[resumen de cambios](v6-cambios-resumen.md).
**Arranque e identidad**
1. **`board_v6.h` nuevo** desde `pinmap-v6.md`. Un binario **nunca** cruza entre V5.6 y v6: una compilación V5.6 maneja PC3
(RTK_STAT, salida del F9P en v6) y PC1/PC2. **Identificación de tarjeta solo por firmware** (D-08): al arrancar, leer el
WHO_AM_I del SC7A20 en 0x18 (pieza que solo tiene la v6) y comprobar que el F9P responde en USART2, **antes** de manejar
cualquier pin exclusivo de la v6.
2. **Primeras líneas de `setup()`**, antes de cualquier espera o USB, en bajo: PC10 `MODEM_PWR_EN`, PC8 `PWRKEY`, PC11
`MODEM_RST`, PA1 `GNSS_PWR`, **PB5** (`BYP_CTRL`, ya sin carga: salida en bajo o analógico), **PA15 `ETH_RST`**, PA6
ventilador, PB0 LED de panel y **PD2 `ETH_PWR_EN`**. PA8 `CHRG_EN` es del gobernador (alto = carga apagada; con A-11
el cargador ya arranca apagado por hardware).
3. **Pines nuevos:** **PD2** = `ETH_PWR_EN` (E-01) · **PB10** = PFO, EXTI10 en flanco de bajada = entrada a respaldo
(VEH5V < 4.40 V) (A-13) · **PC5** = `NTC_CELL`, ADC1_IN15, relación 120/220, válido solo con `/VEH5V` presente (F-51) ·
**PC2** = antena en corto (C-01) · **PA9** = TX de depuración en TP9.
4. **Ignición por ADC** (D-05): PA5 = ADC1_IN5, sin pull interno; con Rigb1 = 2.2 k la relación es **0.0833**
(12 V → 1.00 V, 24 V → 2.00 V, 36 V → 3.00 V, lineal hasta 39.6 V). Campo nuevo `vign` en `$PHLG`.
**Energía y temperatura**
5. **Constantes:** `V5_PFI` 4.60 → **4.40 V** (bajando; subiendo 4.51 V); `CHG_RAIL_ON` 5.05 / `CHG_RAIL_OFF` 4.90
(válidos con R121 = 57.6 k); VDDA desde **VREFINT** en cada ventana, nunca 3.30 V fijo.
6. **Temperaturas:** **TMP102 en 0x48** = cargador (`tchg`, F-51) · **TMP102 en 0x49** = módem (`tmodem`, F-52) · `tcell` por PC5.
Borrar el TMP102 de la V5 como sensor de celda y el parche PCF8574 P7 de reset del módem. Gobernador: `CHG_CELL_HOT/COOL`
sobre `tcell` (Li-ion 45/40 °C; LFP 55–60 °C); cortar carga con `tchg` > 85 °C.
7. **En batería (D9):** **solo LTE** (`AT+CNMP=38`) — los picos GSM de 2.8 A superan el límite de 2.5 A del respaldo —
y **Ethernet apagado** (`ETH_PWR_EN` = 0).
8. **Secuencia de ventana:** `PWR_CTRL` alto → F9P asentado (≥ 1–4 s) → BAT_SENSE ≥ 3.4 V (no arrancar el módem en frío abajo
de ≈ 3.4 V) → W5500 apagado → `MODEM_PWR_EN` alto → ≥ 100 ms → PWRKEY 100–500 ms → esperar STATUS alto (típ. 7–11.2 s,
máx. 20 s) → sincronizar AT a 115 200 → `AT+CNMP=38` en batería → reportar (≥ 2 `$PHLG` con `pwr=BATT`) → apagado.
Ya no hay paso de relé (K1 fuera).
9. **Retro-alimentación del F9P:** con U27 en la tarjeta, reiniciar solo el F9P con el módem encendido es seguro. Se mantienen
las reglas de 0.5.5/0.5.6: con PA1 bajo, PA2 entrada sin pull, PA10 sin pull, PC7 sin pull-up, PC12 liberado.
10. **Identidad en el enlace:** `$PHID` (UID de 96 bits) por el enlace del **módem** al conectar y cada 5 min; el backend
debe mapear UID → número H antes de que salga la v6.
**Puertos**
11. **Bus I²C a 100 kHz** (límite del PCF8574). Mapa: 0x18 SC7A20 (INT1 → PB9, EXTI9), 0x20 PCF8574 (P0–P3 LEDs de batería,
P4–P6 cátodos RGB de P10, activos en bajo), 0x44 SHT40, 0x48 y 0x49 TMP102, 0x4D SC16IS752.
12. **SC16IS752 (U10):** `BOARD_SER_XTAL_HZ 3686400`; divisor = 3 686 400/(16 · baud): 9600 → 24, 19 200 → 12, 38 400 → 6,
57 600 → 4, 115 200 → 2. Después de **cada** reset del MCU escribir IOControl.SRESET (bit 3), porque RESET̅ no tiene
línea del MCU. Habilitar los FIFO. **IODir = 0xFF, IOState = 0x00** (GPIO0–7 como salidas en bajo). IRQ̅ en **PB8**
(EXTI8, flanco de bajada, sin pull interno; R81 es externa).
13. **CTS sin usar:** CTSA̅/CTSB̅ están a GND → dejar el auto-CTS (EFR[7]) apagado.
14. **RS-485 (canal A): EFCR = 0x10** (RTSCON = 1, RTSINVER = 0) = dirección automática. RTSA̅ baja al transmitir y U32 lo
convierte en DE = 1; en reposo y en reset queda en recepción. **Nunca** poner RTSINVER. EFR[6] (auto-RTS) y EFR[7] = 0.
**Después de cada trama:** esperar LSR[6] (TEMT), vaciar el FIFO RX (FCR[1]) y leer LSR para limpiar los errores de
la transmisión; recién entonces armar la recepción (alternativa: EFCR[1] RXDISABLE mientras se transmite). Modbus RTU:
los silencios de 3.5 caracteres los mide el MCU.
15. **RS-232 (canal B) y H4:** 8N1, sin control de flujo; P12 o H4, uno a la vez.
16. **Ethernet:** al arrancar PA15 y PD2 en bajo. Encendido: pines SPI en bajo → PD2 alto → ≥ 2 ms → RST̅ bajo ≥ 500 µs →
soltar → 1 ms (PLL) → SPI modo 0 a ≤ 21 MHz → VERSIONR = 0x04 → PHYCFGR. EXTI0 (PC0) solo con PD2 alto. Apagado o
batería: RST̅ bajo, pines SPI en bajo o analógicos, PD2 bajo. Los LEDs los maneja el PHY.
17. **USB DFU (J11):** el DFU de ROM necesita el HSE de 25 MHz (Y3). En el CDC de la aplicación, **desactivar el sensado de VBUS**.
18. **USB del módem (J9):** solo enumera con el módem encendido; agregar un comando de servicio que lo mantenga encendido para
FOTA/depuración. **Descarga forzada: TP12 (1.8 V) a TP8** al encender el módem; si J9 no enumera el puerto de descarga,
**TP8 a GND** (los documentos de SIMCom se contradicen en la polaridad).
19. **UART del módem:** **K1 ya no existe en el circuito** — PC6 USART6_TX llega directo por **R148** a `/DIN_4G`. Quitar
todo paso de `BYP_CTRL`/Modo B y dejar **PB5 en bajo** (o analógico). PC7 RX por R106 1 k, 115 200 Bd. PC9 STATUS tiene
pull-down por hardware.
20. **Otros:** LSE con `LSEMOD` (alto drive) antes de `LSEON` y respaldo a LSI (D-03); F9P con
`CFG-HW-ANT_CFG_VOLTCTRL` / `SHORTDET` = 1 (C-01); ventilador en PA6 como GPIO (TIM3 libre para el PPS); la SIM no
tiene línea de detección: dejar desactivada la detección en caliente del módem.
21. **Paquete LFP-HT (D20):** reescalar la conversión del NTC en PC5 para RBIAS 5.6 k y β 3380; subir el corte en caliente de
`CHRG_EN` en línea con la ventana de hardware de +60 °C (si no, manda el firmware); cambiar el SoC por voltaje
(`BAT_CRITICAL`/`BAT_RECOVERY`) por umbrales LFP o conteo de carga; en la primera tarjeta, **antes de conectar el paquete**,
medir `/F2_SEL` = 0 V, `/F1_SEL` = 0 V y `/F0_SEL` = MAIN5V.
---
## 7. Compras y pedido
Sin precios en esta página: el análisis de costo está en la copia del repositorio.
- **Paquete de respaldo:** LFP-HT 26650 4P con NTC 10 k **B3380**, el mismo de V5.6 (D20). Con otro β la ventana de carga se corre.
- [ ] **Cantidad:** **20 prototipos primero** (D14).
- [ ] **Pre-órdenes en la cuenta de JLC** (categoría «Pre-ordered», sin eso no se colocan):
**THVD1410DR (C2671345)**, **TPS7A2033PDBVR (C2862740)** y **J14 (C2977286)**. U18 y U19: pre-ordenar o consignar si
se va a ≳ 100 tarjetas.
- [ ] **Conectores hembra de P11/P12:** son headers enchufables DEGSON 15EDGRC-3.5-03P; comprar aparte los conectores
**15EDGK-3.5-03P, 2 por tarjeta**, con el arnés (no están en el BOM de la tarjeta).
- [ ] **PCB:** 4 capas, 1.6 mm, stackup **JLC04161H-7628 con control de impedancia**, **ENIG** (obligatorio por los LGA U18/U19),
**cobre interno de 1 oz** (D12).
- [ ] **Ensamble:** rayos X en U18 y U19; vías tapadas (bajo U18/U19, tapadas o «epoxy filled & capped»).
- [ ] **Stock el día del pedido:** re-verificar todo en el carrito (en la base del 28-sep: U19 96, U18 104, P11/P12 512).
- [ ] **Archivos:** BOM/CPL con Fabrication Toolkit **después** de quitar `LCSC Part` de U25 (H-04). TP1–TP12 y JP1–JP6 no van
en el BOM ni en el CPL. Revisar rotaciones en la vista previa de JLC.
---
## 8. Lista de liberación (GO)
Se puede ordenar cuando **todo** esto esté cerrado:
- [x] **Esquemático terminado y verificado** de forma independiente (sch `d58a89ba…e7b`, ERC 0 errores, 299 piezas
montadas con número LCSC).
- [ ] **Update PCB hecho y revisado** (paso 0): huellas cambiadas, 46 piezas nuevas colocadas, DNP correctos, U25 sin `LCSC Part`.
- [ ] **JP2 en 2-3 confirmado en el PCB** (L-67): flotación LFP 3.50 V.
- [ ] **Layout de los 11 Blockers cerrado:** A-01, F-02, F-01 (cobre), H-04 (campo en el PCB), C-01, B-03, A-02, H-01 y G-01
(MH4 restaurado en (193.2, 90.3) y la pareja de la abrazadera junto a U19). A-03 y H-02 ya quedaron cerrados en el esquemático.
- [ ] **Layout de los 19 Majors cerrado**, o con razón escrita por Leo. Cuatro son prerrequisito de A-01 y no se pueden separar:
A-04, A-05, A-07 y los Cin de U20 de F-03.
- [ ] **Layout de los puertos:** L-49…L-66.
- [ ] **Puerta de DRC:** rellenar zonas + DRC con las reglas de F-01 → **0 errores de separación**, más la aceptación completa de L-48.
- [ ] **Compras:** BOM/CPL generados después de H-04; stock re-verificado el día del pedido; THVD1410DR, TPS7A2033PDBVR y
J14 pre-ordenados (U18/U19 si ≳ 100); conectores hembra de P11/P12 comprados.
El firmware 0.7.x (sección 6) es necesario para R1/R3 y para los puertos, pero **no** detiene el pedido.
**No habrá nueva versión: todo se hace en este pedido.** Lo que no se hace está en la sección 9.
---
## 9. Aceptado permanentemente
Estos puntos **no** se harán, en este pedido ni después. Cada uno tiene su razón. Todo lo demás de la auditoría está
aplicado en el esquemático, en la lista de Michelle o en el firmware.
| # | ID | Qué | Por qué es seguro durante la vida del producto |
|---|---|---|---|
| 1 | **A-10** | Sin protección de sobretensión en VEH5V (corto del lado alto del TPS54360B, o más de 6 V por P2) | Requiere una falla de componente o un mal uso en banco. En campo la entrada es el 24 V regulado y limitado en corriente del gabinete (DDR-60G-24, D1), y F2 de 3 A limita la energía. La opción OVP de la hoja de datos (MN1 + 6.2 k, compartiendo IGATE con Q7) además mueve el divisor PFI al lado crudo y cambia cómo se recupera el modo respaldo: un error ahí rompería la operación normal en **todas** las tarjetas, que es peor que la falla rara que evita, y no se puede validar sin un ciclo de banco. P2 lleva la serigrafía «5 V ONLY, BENCH» (L-59). **Es el único riesgo aceptado a conciencia en la ruta de potencia.** |
| 2 | D-08 | Strap de identificación de tarjeta | Decisión D8: solo firmware. La v6 se identifica al arrancar por el WHO_AM_I del SC7A20 en 0x18 (pieza que solo tiene la v6) y el F9P respondiendo en USART2, antes de manejar cualquier pin exclusivo de la v6. Los nombres de binario llevan la tarjeta. PD2 es `ETH_PWR_EN` y PA9 es el pad de depuración. |
| 3 | E-06 (opción) | Arreglo ESD de baja capacitancia entre el magjack y U11 | Los magnéticos del HR911105A aíslan el cable (1500 Vrms), el diseño de referencia de WIZnet no lleva arreglo y el cableado queda dentro del gabinete. J10.8 (retorno Bob-Smith) ya se corrigió. |
| 4 | E-07 | PoE | No es requisito (Leo: los puertos deben funcionar; no se mencionó PoE). La decisión registrada es un splitter externo. |
| 5 | A-20a | U12 MP1584EN → AP64350 | U12 ahora se apaga con PD2 (E-01), solo trabaja con alimentación del vehículo y está probado en la V5.5. Cambiarlo exigiría nueva compensación/RT y otro land: más riesgo sin ganancia funcional. |
| 6 | G-07 | P3 XH-3 → XH-5/VH | 3 A por contacto contra 1.4 A de carga (R50 1.43 k), 0.6–1 A promedio en respaldo y ≈ 2 A de pico solo LTE (D9). XH-3 mantiene compatibles los paquetes 1S4P que ya están en campo. |
| 7 | G-06 | Alimentando solo por P2, VEH5V retro-alimenta por el diodo del cuerpo de U25 hasta P1.1 (≈ 4 V) | Benigno: con A-01 la rama Q10/U2 está DNP, así que nada en `/24V` queda alimentado. Documentado para el procedimiento de banco. |
| 8 | F-14 (opción) | Un USBLC6 en J11 en vez de D14–D16 | USB full speed tolera la capacitancia de los PESD5V0S1BA (probado en la V5.5). El problema de stubs se resuelve con el ruteo (L-42). |
| 9 | G-08 (opción) | 100 Ω en serie en NRST | D36 (PESD5V0S1BA) y C104 100 nF ya recortan y filtran el cable de P6; una R en serie partiría `/NRST` sin ganancia medible. |
| 10 | J-03 | Re-tipificar los pines `unspecified` de la librería | Cosmético. Los avisos se revisaron red por red (un solo excitador, sin conflictos); los tipos de pin no llegan al netlist, al BOM ni al PCB; la base de 134 avisos está registrada, así que un aviso nuevo se detecta por diferencia. |
| 11 | J-04 (re-enlace) | 10 símbolos «no encontrados» (+ TPS2552) sin copiar a una librería | Cosmético. Las copias embebidas hacen el esquemático autosuficiente y se revisó pin → pad → red en 25 piezas (H-09). Re-enlazar cambiaría 11 lib_ids sin efecto eléctrico. |
| 12 | B-09 (opción) | ESD (arreglo) en `/SIM_VDD` | La SIM se inserta una vez, en la instalación, dentro del gabinete. Datos, CLK y RST tienen D23–D25 (junto a J14 por L-38), y VDD tiene C171 100 nF en J14. |
| 13 | A-16 | Montar R124/R125 (UVLO de U25) | La tarjeta siempre ve el 24 V regulado del gabinete (D1): la banda de caída de 4.3–5.8 V nunca se alcanza en servicio. |
| 14 | A-18 (+ opción R123) | Compensación de U25 | El ejemplo de la hoja de datos, con margen de fase ≥ 60° (estimado de la auditoría), no requiere cambio; el escalón 0.3 → 2.5 A es parte del arranque en banco. |
| 15 | A-19 | Load dump ISO 16750-2 | El DC-DC del gabinete aísla la tarjeta del bus del alternador. SMCJ33A/SMBJ33A aguantan 36 V/60 min y los pulsos rápidos ISO 7637; F2 abre detrás de ellos si un TVS queda en corto. |
| 16 | A-20b | F1 (PPTC de 3 A) ahora solo protege la rama del LDO del F9P | Inofensivo y no necesario para protección; dejarlo evita cambiar una huella. |
| 17 | C-05 (opción) | C143 100 nF → 47 pF C0G como bloqueo de DC | Un 100 nF X7R 0402 está dominado por su ESL en L1/L2 (≈ 3–4 Ω); pérdida < 0.01 dB después de un LNA de antena de ≥ 25 dB. |
| 18 | D-06 (opción) | D5 BAT54 → BAT54S | Verificador 2: opcional una vez que el SMBJ33A (D35) está en P1.3 (aplicado). |
| 19 | A-03/A-04 (opción) | R121/R122 al 0.1 % | 5.18–5.46 V con 1 % cumple VIN ≤ 5.5 V del LTC4040 y los umbrales del gobernador; no hay piezas de 0.1 % en la base de LCSC. |
| 20 | A-13 (opción) | CLPROG → ADC | No queda pin de ADC (PC5 se usó para el NTC del paquete). CLPROG se queda en TP1 para medir corriente en banco. |
!!! note "Dos avisos de la revisión final (no son fallas)"
- **RXA flota mientras el RS-485 transmite** (con RE̅ unido a DE el receptor queda en alta impedancia). No viola ninguna
hoja de datos y no detiene el puerto; se resuelve en firmware vaciando el FIFO RX después de cada trama (sección 6).
- **Polaridad de USB_BOOT del A7670:** los documentos de SIMCom se contradicen. Procedimiento en banco: TP8–TP12 (1.8 V)
primero; si J9 no enumera el puerto de descarga, TP8–GND (L-65).
---
## 10. Validación en banco (cuando lleguen las tarjetas)
Para **Jesús** y el banco. Antes de aceptar las tarjetas v6:
| # | Prueba | Qué se espera | Hallazgo |
|---|---|---|---|
| 1 | Cámara térmica sobre U6/L6 a **1.4 A de carga** y a **2.3 A de respaldo**, 1 h cada una | Sin ciclado térmico del cargador | A-02 |
| 2 | Pinza DC en el cable del paquete durante la carga + IR de U6/L6 | 1.316–1.483 A de carga (seguimiento de H0008) | A-02 / A-03 |
| 3 | Arranque en frío **solo con batería** a VBAT 3.5 V: osciloscopio en `/MAIN5V` y VIN de U20, sonda de corriente en `/BAT_PLUS` | El módem registra sin que VSYS se caiga | A-05 (ECO §I-1) |
| 4 | Escalón de carga **0.1 → 2 A** en VBAT_MODEM | Caída ≤ 150 mV, sin oscilación | B-02 |
| 5 | Subida de `/3V3_GNSS` en el osciloscopio | 100–1000 µs/V | C-02 |
| 6 | Corto de antena GNSS | Corriente limitada y aviso en `/GNSS_ANT_SHORT_N` (PC2) | C-01 |
| 7 | `/3V3_GNSS` con PA1 en bajo y el módem encendido | < 0.3 V | D-01 |
| 8 | Prueba **G3** de desensibilización: potencia TX del módem contra C/N0 del F9P | Registrar el C/N0 del F9P con el módem en reposo y transmitiendo a distintas potencias | F-06 / F-12 |
| 9 | IR de D34/U25 a carga completa | Registrar la temperatura (D34 disipa ≈ 0.8 W con el arreglo de A-01) | F-03 |
| 10 | Frecuencímetro en Y1 | ±10 ppm | E-03 |
| 11 | J10 con enlace Ethernet activo | Encienden los dos LEDs: verde (LINK) y amarillo (ACT) | P-3 |
| 12 | RS-485 durante el reset del MCU y en DFU | El transceptor queda en recepción (DE bajo), no ocupa el bus | P-1 |
| 13 | Loopback RS-485 a 9 600 y 115 200 Bd con EFCR = 0x10 | Los datos regresan completos; revisar el vaciado del FIFO RX | P-1 |
| 14 | Loopback RS-232 | Los datos regresan completos | P-2 |
| 15 | Adaptador TTL en H4, con RS-232 en reposo | El adaptador maneja RXB | H4 |
| 16 | J9 con el módem encendido; modo de descarga con TP8–TP12 (si no, TP8–GND) | J9 enumera; el puerto de descarga aparece | G-02 / P-5 |
| 17 | Juntas de soldadura de L6, L8 y L20 en el land nuevo | Inspección visual correcta | H-03 |
---
## 11. Impacto en V5.6
Dos cosas encontradas de paso que afectan a la V5.6 (antes de su pedido):
- **R112 en `ETH_RST`: 100 k → 4.7 k (C23162).** El pull-up interno del W5500 (62–112 kΩ) más el pull-up JTDI de PA15
anulan un pull-down de 100 k (E-02).
- **Huella de U15:** los esquemáticos V5.x todavía traen el campo viejo SOIC-16W. Corregirlo a
`Package_SO:SOIC-16_3.9x9.9mm_P1.27mm` **antes de cualquier *Actualizar PCB*** en la V5.6, para no romper el land angosto
que funciona en la V5.5 (H-01).
---
## 12. Enlaces
- [Cambios de esquemático — resumen de 3 pasadas](v6-cambios-resumen.md): las tres pasadas, estado final por bloque y
delta de layout. Informes de cada pasada: [pasada 1 — informe de cambios al esquemático](v6-cambios-esquematico.md),
[pasada 2 — puertos y sin nueva versión (inglés)](v6-puertos-sin-nueva-version.md),
[pasada 3 — revisión final (inglés)](v6-revision-final.md).
- [Auditoría completa v6 (español)](v6-auditoria-completa.md) · [original en inglés](v6-full-audit.md): evidencia, tablas
pass/fail por bloque, §5–§10.
- [Mapa de pines del MCU v6](v6-pinmap.md) · [Revisión v6 contra lecciones V5.5](v6-revision-lecciones-v55.md) ·
[Manual de la tarjeta v6](../manuales/manual-tarjeta-v6.md)
- Histórico: [Auditoría pre-fabricación (25-sep)](v6-auditoria-prefab.md) · [Pre-fabrication audit (25-Sep)](v6-prefab-audit.md)
- [Plan de cobre y colocación EMC (ES)](EinarBoard-v6_Plan-de-Cobre_ES.html) · [Copper plan & EMC placement (EN)](EinarBoard-v6_Copper-Plan_EN.html)
- En el repositorio: el análisis de costo está en la copia de la auditoría en `03-Architecture-Hardware/`; PDF del
esquemático `03-Architecture-Hardware/hbox-watchdog-v6-schematic.pdf`.