diff --git a/00-Project-Management/2026-10-26_Drogheda_Costeo-JLCPCB-Importacion_V5.6-V5.7-v6_ES_v1.0.md b/00-Project-Management/2026-10-26_Drogheda_Costeo-JLCPCB-Importacion_V5.6-V5.7-v6_ES_v1.0.md new file mode 100644 index 0000000..b52ba45 --- /dev/null +++ b/00-Project-Management/2026-10-26_Drogheda_Costeo-JLCPCB-Importacion_V5.6-V5.7-v6_ES_v1.0.md @@ -0,0 +1,113 @@ +--- +title: "Costeo JLCPCB e importación: V5.6, V5.7 y v6" +date: 2026-10-26 +description: Cuánto cuesta fabricar en JLCPCB 135 V5.6, 365 V5.7 y 60 v6, mandarlas a Querétaro e importarlas, por pedido y por tarjeta. +--- + +# Costeo JLCPCB e importación: V5.6 ×135, V5.7 ×365, v6 ×60 + +*26-oct-2026 · Claude (pedido de Leo) · precios de JLCPCB leídos hoy · tipo de cambio 18.70 MXN/USD* + +!!! summary "En corto" + - **A JLCPCB se le pagan ≈ US$36,060** por los tres pedidos, ya con envío UPS: V5.6 US$7,493 · V5.7 US$18,909 · v6 US$9,656. + - **Costo aterrizado sin IVA ≈ MX$703,000** (US$37,600). Por tarjeta: **V5.6 MX$1,104** (US$59.0) · **V5.7 MX$998** (US$53.4) · **v6 MX$3,163** (US$169.2). + - El **IVA de importación (≈ MX$112,000)** se paga en el pedimento y se acredita: es flujo de efectivo, no costo. Con él, salen de la cuenta ≈ **MX$815,000**. + - **12 piezas no alcanzan en JLC para los tres pedidos juntos**, entre ellas el **STM32F411RET6 (2 en existencia para 570)** y el **AP64350 (1)**. Hay que resolverlas antes de pagar; están costeadas con 15% de sobreprecio. + - Los tres envíos valen más de US$2,500: van con **pedimento A1 a nombre de Helgen**, no con la tasa global de mensajería (33.5% sin IVA acreditable, como pasó con el envío UPS de septiembre). + +**Modelo con fórmulas:** [2026-10-26_Drogheda_Costeo-JLCPCB_V5.6-V5.7-v6_v1.0.xlsx](2026-10-26_Drogheda_Costeo-JLCPCB_V5.6-V5.7-v6_v1.0.xlsx) — hojas Resumen, Supuestos (lo que se puede mover), Ensamble, Envío, una BOM por tarjeta y Faltantes. + +## 1. Qué incluye + +Lo que se le paga a JLCPCB por tarjeta ensamblada (componentes, PCB, ensamble), el envío a Querétaro y la importación (impuestos, prevalidación, agente aduanal, manejo del courier). Cada tarjeta es un pedido aparte, colocados el mismo día. + +**No incluye:** los módulos ArduSimple de las V5.x (simpleRTK2B Pro y 4G NTRIP Master: MOD1 y J8/J9 son zócalos), la Mean Well SD-15B de las V5.6, antenas, gabinete HBOX, arnés, batería, programación y prueba en banco, ni la comisión bancaria por pagar en dólares. + +## 2. Por pedido + +| | V5.6 | V5.7 | v6 | Total | +|---|---:|---:|---:|---:| +| Tarjetas ensambladas | 135 | 365 | 60 | 560 | +| Componentes (USD) | 6,227 | 16,096 | 8,800 | 31,123 | +| PCB desnuda (USD) — 150 / 400 / 75 PCB | 401 | 957 | 234 | 1,592 | +| Ensamble JLC (USD) | 705 | 1,447 | 531 | 2,682 | +| Envío UPS Worldwide Express Saver (USD) | 161 | 409 | 90 | 661 | +| **Total a pagar a JLCPCB (USD)** | **7,493** | **18,909** | **9,656** | **36,058** | +| Importación sin IVA (MXN) | 8,906 | 10,614 | 9,230 | 28,749 | +| **Costo aterrizado sin IVA (MXN)** | **149,023** | **364,209** | **189,800** | **703,032** | +| IVA acreditable (MXN) | 23,694 | 58,124 | 30,218 | 112,036 | +| Desembolso con IVA (MXN) | 172,717 | 422,333 | 220,019 | 815,069 | + +## 3. Por tarjeta + +| USD por tarjeta | V5.6 | V5.7 | v6 | +|---|---:|---:|---:| +| Componentes | 46.12 | 44.10 | 146.67 | +| PCB desnuda | 2.97 | 2.62 | 3.90 | +| Ensamble | 5.22 | 3.96 | 8.85 | +| Envío | 1.19 | 1.12 | 1.51 | +| Importación sin IVA | 3.53 | 1.56 | 8.23 | +| **Aterrizado sin IVA** | **59.03** | **53.36** | **169.16** | +| **En pesos** | **MX$1,104** | **MX$998** | **MX$3,163** | + +- **La V5.7 sale más barata que la V5.6** aunque trae la fuente de 24 V a bordo: la V5.6 lleva dos MP1584 (US$2.44 c/u) y la V5.7 uno más el TPS54360B (US$0.46), y la V5.7 baja de escalón en casi todo por volumen. Con la Mean Well que la V5.6 necesita afuera (≈ MX$190–300), la diferencia real es mayor. +- **En la v6, el ZED-F9P-04B es la mitad de la tarjeta:** US$76.30 de US$146.67 en componentes. Luego el STM32 (US$9.75 con sobreprecio), el A7670SA (US$7.95) y el LTC4040 (US$7.43). +- Lo más caro de las V5.x: STM32F411RET6 (US$8.33 con sobreprecio), LTC4040 (US$7.27), SC16IS752 (US$5.03), MP1584 (US$2.44), W5500 (US$1.98). + +## 4. Cómo se calculó el pago a JLCPCB + +**Componentes.** BOM de cada tarjeta tal como la coloca JLC (sin DNP ni MOD1): V5.6 = paquete `HBOX_v5_Rev6_PROD` (226 piezas, 96 líneas), V5.7 = `HBOX_v5_Rev7_PROD` (229, 105), v6 = `hbox-watchdog-v6.kicad_pcb` de hoy (299, 126; todavía sin paquete de fabricación). Las BOM de V5.6/V5.7 sacadas del PCB coinciden pieza por pieza con los paquetes. Precio = escalón de JLC para la cantidad a pedir, leído hoy de las 151 fichas de jlcpcb.com. Merma: pasivos 2% + 5 por línea, lo demás 1% + 1 (en el pedido V5.5 de 15 tarjetas JLC agregó +10 en los 0603). Varias piezas subieron desde el 1-ago (LTC4040 US$6.35 → 7.27, SC16IS752 2.69 → 5.03): hay que re-cotizar el día del pago. + +**PCB desnuda** (cotizador de JLC, hoy): 4 capas, 140 × 100 mm, 1.6 mm, FR4 TG135, stackup JLC04161H-7628, **ENIG**, **vías Epoxy Filled & Capped** (condición 1 de la [auditoría final](auditoria-final-22oct.md)), prueba flying probe, «Confirm production file», 5-6 días. JLC solo acepta cantidades fijas de PCB: **150 / 400 / 75** para ensamblar 135 / 365 / 60; las sobrantes llegan sin ensamblar. Las vías tapadas y el ENIG son un tercio del costo de la PCB (US$155 + 146 de US$957 en las 400). + +**Ensamble** ([tarifas de JLC](https://jlcpcb.com/help/article/pcb-assembly-price), actualizadas el 22-oct; Standard PCBA, una cara): setup US$25.56, esténcil 8.21, SMT US$0.0016 → 0.0012 por unión, THT a mano US$0.0164 → 0.012 por unión, alimentador US$1.53 por línea de BOM, rayos X por pieza (SC7A20 en V5.x; ZED-F9P, A7670SA y SC7A20 en la v6; más el LTC4040 en las tres por la condición 1), fixture y empaque. Lo que pesa es la soldadura THT (16,200 / 43,070 / 5,880 uniones → US$257 / 621 / 96) y los alimentadores. + +**Envío.** Tarifas que da JLC para México con el peso del envío (sin DDP para México): UPS Worldwide Express Saver ≈ US$10/kg, la más barata y la que ya usamos en agosto y septiembre; DHL costaría ≈ US$450 más en total. Peso supuesto: 0.10 kg por tarjeta ensamblada y empacada × 1.10 de cajas → 14.9 / 40.2 / 6.6 kg. + +## 5. Importación + +- **Pedimento A1 a nombre de Helgen** con el agente que ya tenemos (AA Claudia Juana Abuin Salgado, patente 3927, Grupo Lorenzo). Cada envío vale más de US$2,500, así que el despacho simplificado de mensajería no aplica; y aunque aplicara, su tasa global de 33.5% para origen China sustituye IGI e IVA y no se acredita. Hay que avisarle a UPS que el despacho va con nuestro agente antes de que llegue, para que no lo libere con su T1 como el envío de septiembre. +- **IGI 0%.** Las fracciones probables (8537.10.99 o 8543.90.01 para una tarjeta de control; 8517.79.04 «circuitos modulares» para la tarjeta del rastreador) están exentas para origen China en la TIGIE 2026: no las tocaron los decretos del 29-dic-2025 ni del 23-abr-2026. **Sensibilidad v6:** si aduana la clasifica como equipo GNSS completo (8526.91.99) paga 5% → +MX$9,029 (+MX$150 por tarjeta). No usar 8517.62.17 para la v6: desde ≈ 10-nov-2026 pide NOM-221 en la aduana. +- **DTA** 0.8% del valor en aduana (mín. ≈ MX$462), **prevalidación** MX$350, **IVA** 16% de (valor en aduana + IGI + DTA). Valor en aduana = lo pagado a JLC incluido el flete. +- **Agente aduanal: MX$6,500 por pedimento** (supuesto; rango de mercado MX$2,500–8,000) y **US$50 del courier** por entregar a nuestro agente. Son las dos cifras menos firmes del costeo: pedir la cotización a Grupo Lorenzo con los tres valores. +- Antes de que lleguen: expediente del importador completo con el agente (lo pidieron en febrero y otra vez en agosto) y padrón de importadores activo. +- Ninguna NOM ni permiso aplica a tarjetas sin terminar en estas fracciones. La homologación IFT/CRT es del HBOX terminado con el A7670SA, no de la importación. + +## 6. Piezas que no alcanzan en JLC (26-oct) + +Demanda de los tres pedidos juntos contra la existencia de JLC hoy. Están costeadas con 15% de sobreprecio (Global Sourcing o pre-orden). + +| Pieza | Dónde | Existencia JLC | Se necesitan | Qué hacer | +|---|---|---:|---:|---| +| STM32F411RET6 (C94355) | las tres | 2 | 570 | Ruta crítica. Pre-orden por Global Sourcing ya, o comprar a distribuidor y mandar en consigna | +| AP64350SP-13 (C2071691) | las tres | 1 | 570 | Pre-orden o alterna pin a pin (revisar con el layout) | +| SC7A20TR (C5126709) | las tres | 2 | 570 | Pre-orden; una alterna pide huella y firmware | +| AO4406AL (C35349) | las tres | 0 | 570 | Equivalente SOIC-8 canal N 30 V en existencia (validar RDS(on) y Vgs) | +| MWSA0804S-4R7MT (C17700167) | las tres | 0 | 570 | Pre-orden o alterna de la misma huella | +| MWSA0804S-2R2MT (C17700165) | las tres | 171 | 570 | Pre-orden o alterna de la misma huella | +| SRP1265A-100M (C840531) | V5.7, v6 | 0 | 432 | Inductor de la fuente de 24 V: pre-orden o alterna 12.5 × 13.5 | +| A7670SA-LASC (C18548276) | v6 | 44 | 62 | Pre-ordenar las que faltan o mandar en consigna | +| 47 µF/50 V MVK (C165527) | V5.6, V5.7 | 62 | 521 | Muchas alternas en existencia | +| BAT54W (C131469) | las tres | 551 | 570 | Alterna trivial | +| 12.4 kΩ 1% (C103261), 19.1 kΩ 1% (C103370) | V5.x, v6 | 1 / 53 | 588 / 143 | Resistores 0603 1%: alterna trivial | + +Las ocho primeras cambian de existencia día con día (el STM32 pasó de 6 a 2 en la tarde del 26-oct). Sin resolverlas, JLC no arranca los pedidos. + +## 7. Lo que mueve el número + +| Si… | Cambio | +|---|---| +| Se presupuesta 5% de contingencia en componentes | +US$1,556 (≈ +MX$29,100) | +| Se manda por DHL en vez de UPS | +US$448 | +| Aduana clasifica la v6 como equipo GNSS (IGI 5%) | +MX$9,029 | +| El agente cobra MX$3,000 en vez de 6,500 por pedimento | −MX$10,500 | +| Las 12 faltantes se consiguen sin sobreprecio | −US$947 | + +## 8. Siguientes pasos + +1. Decidir qué hacer con las faltantes (§6), empezando por STM32, AP64350 y SC7A20: sin eso no hay fecha de entrega. +2. Pedir a Grupo Lorenzo la cotización de tres pedimentos A1 (US$7.5k, 18.9k y 9.7k) y confirmar el expediente y el padrón. +3. Re-cotizar en JLC el día del pago (precios y existencias cambian a diario) y subir el BOM/CPL real de la v6 cuando cierre su layout. +4. Confirmar la mezcla: el tablero (pendiente `t-paquetes-aldair`) todavía dice 113 / 327 / 130; este costeo usa 135 / 365 / 60. + +*Fuentes: fichas de piezas y cotizador de jlcpcb.com (26-oct-2026); [tarifas de ensamble de JLCPCB](https://jlcpcb.com/help/article/pcb-assembly-price); TIGIE 2026 vía [arancelmx.com](https://arancelmx.com/fraccion/8517.79.04) y [White & Case](https://www.whitecase.com/insight-alert/mexico-formalizes-and-expands-import-tariffs-more-1400-products-key-impacts); [LFD art. 49](https://mley.mx/LFD/articulo/49/); [LIVA art. 27](https://mley.mx/LIVA/articulo/27/); [PwC, RGCE 2026](https://www.pwc.com/mx/es/impuestos/archivo/novedades-fiscales/2026/202601-reglas-generales-de-comercio-exterior-para-2026.pdf); [Alvarez & Marsal sobre la tasa global de mensajería](https://www.alvarezandmarsal.com/node/91421); [SE, NOM-221 en la aduana (SIDOF)](https://sidof.segob.gob.mx/notas/docFuente/5799697); [Banxico FIX](https://www.banxico.org.mx/apps/dao-web/4/52/Fix48.html).* diff --git a/00-Project-Management/2026-10-26_Drogheda_Costeo-JLCPCB_V5.6-V5.7-v6_v1.0.xlsx b/00-Project-Management/2026-10-26_Drogheda_Costeo-JLCPCB_V5.6-V5.7-v6_v1.0.xlsx new file mode 100644 index 0000000..38fb79a Binary files /dev/null and b/00-Project-Management/2026-10-26_Drogheda_Costeo-JLCPCB_V5.6-V5.7-v6_v1.0.xlsx differ diff --git a/03-Architecture-Hardware/2026-10-26_Drogheda_v6-Revision-Fin-de-Semana_ES_v1.0.md b/03-Architecture-Hardware/2026-10-26_Drogheda_v6-Revision-Fin-de-Semana_ES_v1.0.md new file mode 100644 index 0000000..c556a93 --- /dev/null +++ b/03-Architecture-Hardware/2026-10-26_Drogheda_v6-Revision-Fin-de-Semana_ES_v1.0.md @@ -0,0 +1,109 @@ +--- +title: "v6: revisión del trabajo del fin de semana (bloques A–E del plan) — 26-oct-2026" +tags: [project-drogheda, hardware, hbox, einarboard, v6, layout, revision, kelvin] +project: Project Drogheda +author: Helgen Technologies (revisión: Claude; decide: Leo) +date: 2026-10-26 +version: 1.0 +status: "REVISADO — HBox_PCB 9a6f250 (Michelle, 26-oct). Avance real en el bloque B, una regresión (toma VIN de R80 sin Kelvin y /VEH5V por In2) y los bloques C, D y E sin empezar." +audience: Leo (D-26-1, D-22-4), Michelle (layout de la v6) +--- + +# v6: revisión del fin de semana · 26-oct-2026 + +**Pregunta (Leo, 26-oct, 22:09):** «revisa la v6 y dime si todo está bien; ya bajé lo último de Michelle». +Se revisaron los dos commits de Michelle del lunes 26 (`9be7362` y `9a6f250`, solo el `.kicad_pcb`) contra el +[plan de fines de semana, rev. 1.7](v6-plan-fines-de-semana.md) (§3 y §4) y contra el estado anterior (`bd27501`, T44). + +!!! warning "Respuesta corta: todavía no. Hay avance real, una regresión y la mayor parte del plan sigue abierta" + - **Bien:** DRC con **0 errores** (se fueron los 11 encimes de courtyard), 0 sin conectar, paridad limpia; el esquemático, las clases de red y las reglas no cambiaron. En el bloque B, Q7 ya está junto a R80 y U17, `/VIN_SW` salió de In2, la toma CLN de R80 quedó Kelvin, `/IGATE` casi salió de In1 y el EP de U17 tiene sus 9 vías. Además, 146 vías de GND nuevas. + - **Regresión:** `/VEH5V` de L5 a R80 ahora da la vuelta por C76 y 8 mm de In2 (≈ 31 mΩ, antes 15), y **la toma VIN del LTC4040 (U17.6) ya no es Kelvin**: se une al camino de potencia en la vía de (180.1, 103.2), a ≈ 1.4 mm de R80.1. El límite de corriente de entrada queda ≈ 10 % corrido: el mismo tipo de defecto que tuvo la V5.5. + - **Falta:** la mitad del bloque B, el resto del bloque A (R112) y los bloques C, D y E completos. + - **Calendario:** con esto, el pedido del piloto del lunes 2-nov (G1) está en riesgo. Propuesta para Leo: **D-26-1** (§4). + +## 1. Qué cambió + +- 68 piezas movidas; las de más: Q7 12 mm (ahora a 90° en (175.09, 102.78)), JP2 11.4 mm, C76 8.8 mm, D20 8.8 mm, JP4 6.2 mm, D18/D19 3.3 mm, R87 2.4 mm, TP12 1.8 mm, J8/D8/R9/C5/C19 1.3 mm, C77–C80 1.2 mm, R112 1.2 mm. +- Vías: 293 → 443 (**+146 de GND**, +2 `/PFO`, +2 `/SW_FAN`, +1 `/VEH5V`, +1 `/BAT_PLUS`, −2 `/VIN_SW`). +- DRC (KiCad 10.0.4, copia del proyecto con relleno, paridad y todas las pistas): errores 11 → **0**, sin conectar 0, paridad 0; avisos 256 → 327. Los avisos de tamaño de texto pasan de 13 a 59: Michelle dejó **47 designadores** a mano en 0.5 mm. No hay que corregirlos uno por uno: T44 los regresa a 0.8 mm al cierre del layout. + +## 2. Contra el plan (§3 y §4), antes → ahora + +Distancias de orilla a orilla de pad; resistencias estimadas del camino de cobre (1 oz por fuera, 0.5 oz por dentro). + +| Punto del plan | Meta | Antes (`bd27501`) | Ahora (`9a6f250`) | | +|---|---|---|---|---| +| A5 R112 ↔ J19.3 | ≤ 3 mm | 4.79 | 4.72 | ✗ | +| A6 `/24V` en capas internas | nada | — | — | ✓ | +| A3 vías EP U22 · GND junto al ánodo de D32 | 6 · ≥ 4 | 6 · 4 | 6 · 4 | ✓ | +| B1 `/VEH5V` L5.2 → R80.1 | F.Cu ≥ 2 mm, nada en In | F.Cu 39 mm a 1.0 mm, 15 mΩ | F.Cu 52 mm a 1.0 mm **+ 8 mm de In2**, 2 vías, **31 mΩ** | ✗ peor | +| B2 Q7 ↔ R80 · Q7 ↔ U17 | ≤ 5 mm | 10.6 · 15.5 | **0.8 · 4.4** | ✓ | +| B2 `/VIN_SW` R80.2 → Q7 | F.Cu ≥ 2 mm, In2 0 | 22 mm por In2, 32 mΩ | F.Cu 7 mm a 1.0 mm, **3.5 mΩ** | 🟡 (falta el ancho) | +| B3 Kelvin de R80: VIN (U17.6) | toma propia desde el pad | Kelvin | **se une a la potencia a 1.4 mm del pad** | ✗ regresión | +| B3 Kelvin de R80: CLN (U17.7) | toma propia desde el pad | por la vía junto al pad (no Kelvin) | **Kelvin** | ✓ | +| B4 `/MAIN5V` Q7 → U17 | polígono ≥ 2 mm | 23 mΩ, 0.5 mm | 12 mΩ, 0.5 mm; 39 mm en In1 y 22 mm en In2 en el resto de la red | ✗ | +| B4 C79 · C80 · C77 · C78 · C81 ↔ U17.1/24 | ≤ 2 mm | 5.1 · 5.2 · 8.1 · 5.9 · 3.2 | 5.2 · 5.7 · 7.2 · 5.4 · 3.2 | ✗ | +| B5 `/IGATE` | F.Cu ≤ 8 mm, In1 0 | 35 mm en In1 | 6.3 mm en In1, 5.9 en F.Cu | 🟡 | +| B6 R85 · R86 ↔ U17.18 | ≤ 3 mm | 6.0 · 6.0 | 5.9 · 6.0 | ✗ | +| B6 `/VFB_BST` en In1 | nada | 7.4 mm | 7.5 mm | ✗ | +| B-1 L4.1 ↔ U17.21/22 | ≤ 5 mm | 6.2 | 6.2 | ✗ | +| B-1 `/SW_BAT` | polígono F.Cu ≥ 2 mm | pistas, cuello 0.3 mm | pistas, cuello 0.5 mm (4.7 mΩ) | ✗ | +| B-2 `/BAT_PLUS` L4.2 → J12.1 | F.Cu ≥ 1.5 mm | 0.5 mm, 15 mΩ | 1.0 mm, 7.4 mΩ | 🟡 | +| B-3 vías EP U17 | 9 | 1 | **9** | ✓ | +| B-4 capas internas a ≤ 5 mm de U17 y L4 | nada | 8 redes | 7 redes (`/CHRG_*`, `/VFB_BST` 26 mm, `/IGATE`, `/F1_SEL`, `/VEH5V` nueva en In2) | ✗ | +| 3.5 Avisos de ancho en las redes de potencia del bloque B | ninguno | — | `/MAIN5V` 14 · `/VEH5V` 13 · `/BAT_PLUS` 6 · `/SW_BAT` 4 · `/VIN_SW` 3 | ✗ | +| C1 RF del módem `/RF_LTE` | solo F.Cu, 0 vías | 22 mm en In1, 2 vías | 20 mm en In1, 2 vías | ✗ sin empezar | +| C2 vías EP U4 · C44/C34/C52 ↔ U4.2 | 6 · ≤ 3 mm | 0 · 4.8/4.6/5.8 | 0 · 4.8/4.6/5.8 | ✗ sin empezar | +| C3 R28 · R27 ↔ U4.5 | ≤ 2 mm | 4.3 · 3.2 | 4.3 · 3.2 | ✗ | +| C4 `/VBAT_MODEM` · C13 ↔ U6.55–57 · C4 ↔ L1.2 | F.Cu ≥ 3 mm · ≤ 5 · ≤ 3 | 0.3 mm, 6 mm en In1 · 6.6 · 4.3 | igual | ✗ | +| C5 TP5 ↔ TP6 | 2.54 mm | 9.1 | 8.8 | ✗ | +| D1 C70 ↔ U25.1 | ≤ 2 mm | 26.4 | 26.4 | ✗ sin empezar | +| D4 `/SW_IN` · `/SW_5V` en In1 | nada | 130 · 9.7 mm | 131 · 9.7 mm | ✗ | +| D5 TP9 ↔ U18.49 | cerca | 35.6 | 35.6 | ✗ | +| E U7: D12 ↔ U7.1 · L2 ↔ U7 · vías EP | ≤ 2 · ≤ 5 · 6 | 11.6 · 10.3 · 0 | igual | ✗ sin empezar | + +## 3. La regresión: la toma VIN de R80 + +El LTC4040 mide la corriente de entrada entre **VIN** (U17.6) y **CLN** (U17.7), a los dos lados de R80 (10 mΩ). +Cada toma tiene que salir de **su** pad de R80 y no tocar ningún otro cobre de su red hasta el chip. + +- **Antes:** la potencia llegaba a R80.1 por F.Cu y la toma VIN salía del pad, por C86/C87, hasta U17.6. ✓ +- **Ahora:** la potencia de L5 llega por In2 a la vía de **(180.1, 103.2)** y de ahí a R80.1. La toma VIN de U17.6 se une a ese mismo tramo en la vía, a ≈ 1.4 mm del pad. El chip suma la caída de ese tramo a la de R80: lee ≈ 10 % de más y limita a ≈ 2.3 A en lugar de 2.5 A. Además, toda la corriente de entrada (hasta 2.5 A) pasa por 8 mm de In2 de 1.0 mm (0.5 oz). +- **Arreglo:** `/VEH5V` de L5.2 a R80.1 directo por F.Cu de ≥ 2 mm (§3.2 punto 1 del plan), sin In2 ni C76 en medio, y la toma VIN como pista propia de 0.25–0.3 mm que salga de R80.1 **por el lado de adentro** y pase por C86/C87 hasta U17.6. Después, correr de nuevo la prueba de Kelvin. +- **CLN ya quedó bien:** antes pasaba por la vía junto al pad 2 y ahora sale del pad. + +## 4. Qué sigue + +**Para Michelle, en este orden:** + +1. **El regreso de `/VEH5V` + toma VIN** (§3). Es lo primero, porque afecta el límite de corriente. +2. **Resto del bloque B:** + - `/MAIN5V` de Q7.5–8 a U17.1/24 como polígono de ≥ 2 mm, fuera de In1 e In2. + - C77–C81 a ≤ 2 mm de U17.1/24. + - R85/R86 a ≤ 3 mm de U17.18, y `/VFB_BST` e `/IGATE` fuera de In1. + - L4 a ≤ 5 mm de U17.21/22. + - `/SW_BAT` como polígono de ≥ 2 mm y `/BAT_PLUS` de ≥ 1.5 mm. + - Sacar de las capas internas, bajo U17 y L4, `/CHRG_*`, `/F1_SEL` y `/VEH5V`. +3. **Bloque A:** R112 a ≤ 3 mm de J19.3. +4. **Bloques C, D y E** (§4 del plan), sin cambios. +5. **Limpieza:** + - Vías sueltas: `/24V` en (138.56, 107.74) y (138.56, 94.99); `/BAT_PLUS` en (193.6, 103.09). + - Pistas sueltas: `/3V3` en (60.97, 129.62), `/GNSS_RTK_STAT` en (72.6, 136.7) y `/PFI` en (185.34, 112.87). +6. **Reglas del plan que hay que seguir:** + - Commit con la letra del bloque al terminar cada bloque. + - No acomodar designadores a mano: al cierre corren T43 y T44. + +**D-26-1 (decide Leo): cómo llegar a G1 (pedido del piloto, lunes 2-nov).** + +- **(a) Recomendada.** Claude hace por script (T45) lo mecánico: el regreso de `/VEH5V` con la toma Kelvin, la RF LTE en F.Cu con su cerca de vías, las vías de los EP de U4 y U7, y la limpieza. Se prueba en una copia y se aplica cuando Michelle no tenga abierta la v6. Michelle termina el bloque B (colocación y polígonos) y sigue con C, D y E. +- **(b)** Mover G1 una semana (lunes 9-nov), con el mismo reparto del plan. + +**D-22-4 sigue abierta (Leo):** D18–D20 se movieron, pero siguen del lado del módem (`/SIM_*`). + +## 5. Cómo se revisó + +- Archivos: `kicad/_to_delete/audit-20261026/` (copias de `a08e49a`, `bd27501`, `9be7362` y `9a6f250`; DRC en `drc-v6-now/`). +- DRC: `tools/t44_drc.py` sobre una copia del proyecto. +- Medidas: `pcbaudit.py` (cobre, distancias, vías en los EP). +- Prueba de Kelvin: en la red de cada toma, ¿alguna rama con carga se une al camino R80 → U17 fuera del pad? +- Resistencias: camino de menor resistencia por la red, con 0.49 mΩ/cuadro por fuera y 0.98 mΩ/cuadro por dentro, y 1 mΩ por vía. diff --git a/CLAUDE.md b/CLAUDE.md index f9de599..2ca28ac 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -471,6 +471,8 @@ lote `2026-10-22_fota-4g`. **Inventory per site (2026-10-23, 10:50; Leo: «an inventory page for every website to see installation material»).** `/tableros/inventario/` now has a tab per site (ICAVE · TIMSA · EIT · LCT · Querétaro) plus «Todo»: what is on site, what is on its way there and — for items with «Por instalación» > 0, the installation kit — what is missing to install *N* units. Every inventory movement carries `sitio` (older ones count as Querétaro; no migration, totals unchanged); new types `envio` (leaves a site and stays «en camino»; origin `fuera` = a purchase in transit or material shipped before anyone counted it, e.g. EIT's material from Manzanillo) and `recepcion` («Recibir» in the destination tab; a shortfall comes off the total with the receiver's name). New item category `instalacion` (brackets, hardware, power cable). Instalaciones got a «Material» button to the site's tab. `backend/app.py` changed → `restart actas-hbox`; tests `hbox-docs/backend/tests-1023.sh` (35) and `tests-1013.sh` (65) pass. Team rules: `docs/inventario/index.md` (who registers what per site; kit starting point from the shipping and installation actas). Lote `2026-10-23_inventario-sitios`: `t-kit-instalacion` (Adriana + Leo), `t-conteo-sitios` (Alán, Jesús Honorato, Miguel, Antonio), Querétaro count `t-inventario-inicial`, notes on `t-eit-material`, `t-lct-herreria`, `t-ferreteria-eit-timsa`. **Accounts (2026-10-23, 13:42; Leo: «massive password reset… users for Jesús Honorato, Miguel Ángel Peña, Joel Orantes, Antonio Ventura… Daniel González Cruz… keep their emails»).** `hbox-docs/backend/cuentas.py`, run by Leo on the server as leo (password typed twice, never in a file or argument; plan + «si»; htpasswd backup in `equipo/_respaldos/`): new logins **jesush** (Jesús Honorato, TIMSA), **miguel** (Miguel Ángel Peña, EIT), **joel** (Joel Orantes, EIT), **antonio** (Antonio Ventura, LCT), **danielg** (Daniel González Cruz, assembly, Querétaro); at 15:05 also **efrain** (Efraín Sosa) and **tania** (Tania), administration and management at the Querétaro office (both hold the billing, purchasing and requisitions roles in the cotizador; efrain@ owns it); Miguel, Jesús Honorato and Antonio are the main responsible of their site, not the others' bosses; `jesus` renamed Jesús Romero; everyone except leo (and claude) reset to one initial password. Members carry `sitio`, `correo`, `correo_alt` (Helgen has two email domains; Leo fills the missing ones in Equipo) and a `contrasena_inicial` flag (banner on every page until the person changes it; admin sees who is left). Task `responsable_ids` are recomputed from the text with today's team, so free-text names link as soon as the person is added. Tests `tests-cuentas.sh` (47). Next on the board: `t-cambio-contrasenas` (Adriana, 27-oct), `t-correos-equipo` (Leo), `t-cotizador-espejo` → `t-cotizador-integracion` (`efrainsosa27/cotizador-helgen` is private and unreachable from Claude's session: Gitea pull mirror + clone into `~/Documents/Claude/Projects/cotizador-helgen`), `t-login-correo` (email/Google login and email updates). Lote `2026-10-23_usuarios-campo`. +**JLCPCB costing + import (2026-10-26; Leo: «estimate the manufacturing price for V5.6, V5.7 and V6.0 … batches of 135 V5.6, 365 V5.7 and 60 V6.0 … import costs and shipping … 3 separate orders»).** BOMs from the fab packages (Rev6 226 parts / 96 lines, Rev7 229 / 105; v6 from the 26-oct PCB, 299 / 126); all 151 LCSC parts re-priced from jlcpcb.com that day (some ICs up 15–20% vs the 1-Aug local kicad-mcp DB: LTC4040 6.35 → 7.27, SC16IS752 2.69 → 5.03); PCB quoted in the JLC calculator (4 L, 140×100, ENIG, Epoxy Filled & Capped, JLC04161H-7628: 150 / 400 / 75 PCB = US$401 / 957 / 234; JLC only takes fixed PCB quantities); assembly from JLC's 22-oct fee table (THT hand soldering and feeders dominate); UPS rates for Mexico from the calculator (≈ US$10/kg; no DDP to MX). Result: to JLC ≈ **US$36,058** (V5.6 7,493 · V5.7 18,909 · v6 9,656); landed excl. IVA ≈ MX$703k → **MX$1,104 / 998 / 3,163 per board** (v6: ZED-F9P = US$76.30 of US$146.67 parts); import IVA ≈ MX$112k, creditable. Import: formal A1 in Helgen's name (each order > US$2,500; the UPS T1 courier route of Sept = 33.5% global rate, not creditable), IGI 0% (8537.10.99 / 8543.90.01 / 8517.79.04; v6 risk 8526.91.99 at 5% ≈ +MX$9k; avoid 8517.62.17: NOM-221 at customs from ≈ 10-nov), DTA 0.8%, PRV MX$350, broker MX$6,500 assumed (AA patente 3927, Grupo Lorenzo: quote pending, `t-cotizacion-pedimentos-jlc`). **12 parts short at JLC for the three orders together** (STM32F411RET6 2 for 570, AP64350 1, SC7A20 2, AO4406A / MWSA0804S-4R7 / SRP1265A 0, MWSA0804S-2R2 171, A7670SA 44 / 62, 47 µF MVK, BAT54W, two 1% resistors), priced at +15% → `t-faltantes-jlc-26oct`. The mix differs from `t-paquetes-aldair` (113 / 327 / 130). Canonical: `00-Project-Management/2026-10-26_Drogheda_Costeo-JLCPCB-Importacion_V5.6-V5.7-v6_ES_v1.0.md` + `2026-10-26_Drogheda_Costeo-JLCPCB_V5.6-V5.7-v6_v1.0.xlsx` (site `hardware/costeo-jlc-26oct/`); lote `2026-10-26_costeo-jlc`. Scratch (gitignored): `_to_delete/costeo-20261026/` — `fetch_jlc.py` re-prices the BOM from jlcpcb.com (curl from the Mac; Python urllib fails on certificates there). + --- ## 1. System architecture (corrected from the BOM, 2026-06-20) @@ -543,7 +545,7 @@ these before presenting; if it breaks one, say so and propose the compliant fix. | Folder | Holds | Key files | |---|---|---| -| `00-Project-Management` | plan, ethos, hackathon, **financials**, **handover**, client comms, Drive tooling | [[00-Project-Management/PLAN\|PLAN]] · [[00-Project-Management/Engineering-Handover\|Engineering-Handover]] · `ethos.md` · `hackathon-plan.md` · `Financials.md` · `Drive-Upload/` · `client-comms/` | +| `00-Project-Management` | plan, ethos, hackathon, **financials**, **handover**, client comms, Drive tooling | [[00-Project-Management/PLAN\|PLAN]] · [[00-Project-Management/Engineering-Handover\|Engineering-Handover]] · `ethos.md` · `hackathon-plan.md` · `Financials.md` · `Drive-Upload/` · `client-comms/` · **`2026-10-26_Drogheda_Costeo-JLCPCB-Importacion_V5.6-V5.7-v6_ES_v1.0.md`** + `.xlsx` (JLC + import costing, 135 / 365 / 60) | | `01-Requirements` | what we build | `SRS.md` · `HBOX-product-spec.md` | | `02-Architecture-Software` | backend/software analysis, ADRs | `backend-review.md` · **`2026-10-22_Drogheda_FOTA-por-4G_Factibilidad_ES_v1.0.md`** (FOTA over 4G per board; D-22-6) | | `03-Architecture-Hardware` | HBOX/cabinet, wiring, BOM, **watchdog PCB v3** | `hardware-respec-and-pcb-brief.md` · `cabinet-electrical-bom.md` · `watchdog-schematic.md` · `watchdog-health-telemetry.md` · `firmware-review.md` · `BOM-master.md` (+§5 Block B/E/H/I parts) · **`watchdog-pcb-v3-design.md`** (schematic spec) · `watchdog-pcb-v3-bom.xlsx` · `watchdog-pcb-v3-kicad-guide.md` (KiCad→JLCPCB) · `watchdog-pcb-v3-blockdiagram.svg` · `watchdog-protoboard-bringup.md` + `watchdog-proto-bench-bringup-v3.md` · `watchdog-connections.xlsx` (PCB pin/net list; H1 DNP; +B/H/I rows) · `watchdog-connections-rationale.md` (+§7 additions 2026-07-02) · **`watchdog-electrical-design-state.md`** (CANONICAL — read first) · **`watchdog-production-schematic-delta.md`** (PROD build spec; LTC4040 §4 values) · `kicad/` — `hbox-watchdog-v3.kicad_sch` (**DEV/proto**) · `hbox-watchdog-v3-PROD.kicad_sch/.kicad_pcb` (**PRODUCTION**: ERC 0, layout started, DRC baseline) · `Drogheda-sym.kicad_sym` (MP1584EN · LTC4040EUFD · AO4406A) · `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (**proto assumptions ledger**) · `Guia-Conexion-Protoboard/` (LaTeX source; `modulos-pinout.tex` = visual parts catalog) → `Drogheda_Guia-Conexion-Protoboard_ES_v3.1.pdf` · **`2026-07-08_Drogheda_4G-Modem-Alternatives_v1.0.md`** (XBee 2.0 mm bridge + cheap-4G survey) · `circuitikz-wiring/` (sheet + Beamer v2.1, blocks 1–11; XBee-socket 3V3 fix 07-08; **`Drogheda_Diagrama-Unico-Proto`** = todo-en-una-hoja para verificación rápida, Modo B; v1.1 07-10 agrega XBee 20-pin obligatorios VREF(14)→VCC · ON/OFF(20)→GND · GND×4 + USB config + franja de pinouts para el técnico; HiRes-300dpi.png para TV; **v1.2 07-20**: letras G/D/S·B/C/E en todos los transistores + bloque 5b Q10+DzG 15V) · **Guía v3.1** (5b Q10+Zener · 9c pines obligatorios XBee + USB · disipadores · plano 10×10) · **lista de compras reconstruida DESDE CERO** (1 tarjeta ≈MX$2,087) · `watchdog-protoboard-BOM-3boards.xlsx` + `watchdog-LISTA-DE-COMPRAS-ES.xlsx` (proto BOMs; 07-10: +BOB-08276/PRT-08272, buck «MODEM 3.3V», breakout USB-C+cable, botón/LED módem, straps VREF/ON-OFF, surtido +220R/22k) · **`2026-07-06_Drogheda_EinarBoard-1.0-PreFab-Audit_v1.0.md`** (CLOSED — Rev 1.1 fixes) · `Assembly-BOM-Split.md` + `LCSC-search-list.md` (verified LCSC) + `JLCPCB-Order-Guide.md` (ordering runbook) · `harness-connector-pinout.md` + `Socket-Pinout-Silkscreen.md` · **`EinarBoard-Manual/`** (Rev 1.1 order-prep pack: `einarboard-manual.tex` → branded PDF · `helgen_einarboard_1.0_production_bom.xlsx` · `tools/generate_production_bom.py` + `tools/sync_bom.py` Excel→LaTeX BOM sync) — plus repo-root `scripts/prep_order_release.sh` (safe cleanup + release commit) · **`2026-10-16_Drogheda_Auditoria-Produccion_V5.6-V5.7-v6_ES_v1.0.md`** (production audit + comparison table) + `2026-10-16_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-3_ES.md` · `kicad/tools/t25_mounting_holes_v55.py` (restores the 7 V5.5 holes) · `kicad/tools/t27_paso1_2_mh11_rs1_kelvin.py` (MH11 out + RS1 Kelvin, V5.6/V5.7) · `kicad/tools/t28_v6_mecanicos.py` (v6: U25 part code, stackup, U6 paste) · `kicad/tools/t30_v56_v57_mecanicos.py` (V5.6/V5.7 mechanical fixes, 19-oct) · `kicad/tools/t31_c129_vsys_quitar_dbk2.py` (V5.6/V5.7 schematic: C129 at U6 VSYS + Dbk2 out, 20-oct) · `kicad/tools/t32_c130_vin_u7.py` (V5.6/V5.7 schematic: C130 at U7 VIN, 21-oct) · `kicad/tools/t33_v56_v57_auditoria_21oct.py` (V5.6/V5.7 PCB fixes from the 21-oct audit) · `kicad/tools/t34_v56_pasada6.py` + `t35_v56_via_u7.py` (V5.6 pass 6) · `kicad/tools/t36_v57_pasada6.py` + `t37_v57_c129_gnd.py` (V5.7 pass 6) · `kicad/tools/t38_v6_courtyards_mh.py` (v6: courtyards of the 11 easyeda2kicad footprints + library, MH6 `/3V3` to B.Cu, 4-mm MH rule in the `.kicad_dru`) · `kicad/tools/t39_v6_bloque_a.py` (v6 block A, proposal α: D34/L22/R53/R54 moved, SW + VEH5V tracks, In1/In2 cleared, MH8 free) · `kicad/tools/t40_v6_mh4.py` (v6 MH4 free: D23/D24 moved, SIM_CLK via In1, SIM_RST above D25, NTC around the hole, TVS + U19.92/94 GND vias) · `kicad/tools/t42a_v5_quickwins.py` (V5.6/V5.7 quick wins T42a: BOM with stock for 430, /IGN_IN 0.3 mm on In1, V5.7 E-11 via; `--solo-bom`) · `2026-10-16_Drogheda_Auditoria-Produccion_v6_ES_v1.0.md` + `2026-10-16_Drogheda_Plan-Fines-de-Semana_v6-Produccion_ES.md` (v6 audit + weekend plan, rev 1.5) · **`2026-10-19_Drogheda_Re-Auditoria_V5.6-V5.7-v6_ES_v1.0.md`** (re-audit of all three) + `2026-10-19_Drogheda_Instrucciones-Michelle_V5.6-V5.7-Pasada-4_ES.md` · **`2026-10-19_Drogheda_V5.6_Clasificacion-Criticos_ES_v1.0.md`** (V5.6 critical vs. can-stay; C129) · **`2026-10-21_Drogheda_Auditoria-Pasada-4_V5.6-V5.7_ES_v1.0.md`** (audit of pass 4, T32/T33 results, pass-5 review, pass 6 done by Claude with T34–T37 + D-21-2) · **`2026-10-21_Drogheda_Estado-v6-T25-T28_ES_v1.0.md`** (v6 state, rev 1.3 of 22-oct: T25 + T28 + T38 + **T39 block A** + **T40 MH4** applied, MH rule, D-22-4; figures `img/2026-10-22_Drogheda_v6-T39-Bloque-A_v1.0.png` + `img/2026-10-22_Drogheda_v6-T40-MH4_v1.0.png`) · **`2026-10-22_Drogheda_Auditoria-Final-Produccion_V5.6-V5.7_ES_v1.0.md`** (FINAL production audit of the V5.6/V5.7 fab packages: GO pilot 5 + 5 with 3 order conditions, NO-GO 108/322 until bench with 0.7.0; 30 findings, 16 risks) + `…_Protocolo_ES_v1.0.md` (the audit protocol / "reprompt") + **`Auditoria-Final-V56-V57/`** (LaTeX sources → 33-pp PDF + 19-frame Beamer; `fig/`; `scripts/` gerb.py · gcmp.py · netparse.py · copper.py · riesgos.py) · `img/2026-10-22_Drogheda_*.png` (8 figures) · **`2026-10-22_Drogheda_Victorias-Rapidas_V5.6-V5.7_T42a_ES_v1.0.md`** (quick wins T42a + HV24 netclass finding → T42b + D-22-7; figure `img/2026-10-22_Drogheda_V5.6-V5.7-T42a_v1.0.png`) · **`2026-10-22_Drogheda_Designadores-T43_V5.6-V5.7-v6_ES_v1.0.md`** (T43 designators in order on V5.6/V5.7/v6 + D-22-9; old→new CSVs `2026-10-22_Drogheda_T43_*_viejo-nuevo.csv`; maps `img/2026-10-22_Drogheda_*-Designadores-T43_v1.0.png`) · `kicad/tools/t43_renumber.py` + `t43_check.py` + `fab_package.py` (headless Fabrication Toolkit) · **`2026-10-22_Drogheda_Documento-de-Diseno_{V5.6,V5.7,v6}_ES_v1.0.md/.pdf`** (one design document per board; images + full schematic PDF in `img/diseno-*`) · `2026-10-22_Drogheda_v6-T44-Serigrafia_ES_v1.0.md` + `kicad/tools/t44_serigrafia.py` (silk designators 0.8/0.15 by script on all three; `t44_drc.py`, `t44_diff.py`, `t44_export.py`) | diff --git a/hbox-docs b/hbox-docs index 44082b8..debd1cb 160000 --- a/hbox-docs +++ b/hbox-docs @@ -1 +1 @@ -Subproject commit 44082b8ec71b5866565109ad9d7e0afed71543d0 +Subproject commit debd1cb7351a267a02a3827c3a399c3a4aa05a00