--- title: "Designadores de la serigrafía a 0.8 mm con trazo de 0.15 mm, colocados por script (T44): v6, V5.6 y V5.7 — D-22-9 (22/23-oct-2026)" tags: [project-drogheda, hardware, hbox, einarboard, v6, v5.6, v5.7, serigrafia, designadores, jlc, t44] project: Project Drogheda author: Helgen Technologies (script y revisión: Claude; decide: Leo) date: 2026-10-22 version: 1.1 status: "APLICADO en las tres: v6 en HBox_PCB bd27501 (22-oct); V5.6 y V5.7 en 93d13e3 (23-oct, D-22-9 (b), Leo 08:53), con Rev6/Rev7 regenerados (solo cambia la serigrafía superior)." audience: Leo (D-22-9 para V5.6/V5.7), Michelle (layout de la v6), Aldair (pedido), Jesús (banco) --- # Designadores de 0.8 mm en la serigrafía (T44): v6, V5.6 y V5.7 · 22/23-oct-2026 **Pregunta (Leo, 22-oct, 18:56):** actualizar los designadores de la v6, ver si se pueden acomodar por software y, si no, evaluar qué habría que mover antes de seguir. Leo eligió **crecer y acomodar por script** para la v6 (D-22-9 (b)). !!! success "Respuesta corta: 338 de 350 ya miden 0.8 mm; 12 no caben sin mover una pieza" - **v6 (aplicado, HBox_PCB `bd27501`):** los 350 designadores visibles pasan de **0.5 mm / 0.1 mm a 0.8 mm / 0.15 mm**, el mínimo de [JLC](https://jlcpcb.com/blog/character-design-specifications). 81 crecieron en su lugar, 253 se recorrieron junto a su pieza y 4 ya cumplían. **No se movió ninguna pieza ni se tocó cobre**, así que no hace falta rellenar zonas. - **No caben 12 sin mover piezas:** C44, C63, C101, C111, C112, R38, R58, R63, R64, R65, R98 y TP6. Tampoco cabe la leyenda «IGN 12-24V». Se quedan como estaban (0.5 mm) y el DRC los marca. La [§3](#3-los-que-no-caben) dice qué estorba en cada uno y cuánto habría que mover. - **DRC de la v6:** los mismos 11 errores de siempre (courtyards de margen) y nada nuevo fuera de la serigrafía. - Encimes de serigrafía: 17 → 4. Serigrafía sobre cobre: 5 → 1. Lo que queda son gráficos de huellas, no textos. - Avisos de tamaño de texto: 2 → 13, que son los 12 sobrantes más «IGN 12-24V». Es a propósito: la regla nueva del `.kicad_dru` (0.8 / 0.15 en las dos caras) los deja a la vista de Michelle. - 0 sin conectar, paridad 0. - **V5.6 y V5.7 (D-22-9 (b), Leo, 23-oct 08:53): aplicado, HBox_PCB `93d13e3`.** El mismo script coloca **todos**: 239 de 239 en la V5.6 y 244 de 244 en la V5.7, con todas sus leyendas, sin mover piezas y con el DRC idéntico. Los paquetes Rev6 y Rev7 se regeneraron: **solo cambia la serigrafía superior** (`F_Silkscreen.gto`); cobre, máscara, pasta, taladros, BOM, CPL y designadores quedan idénticos ([§6](#6-v56-v57)). ![v6: serigrafía después de T44](img/2026-10-22_Drogheda_v6-T44-Serigrafia_v1.0.png) *Arriba, la v6 completa después de T44. En naranja, los 12 designadores que no caben; en azul, la leyenda que tampoco cabe. Abajo, un acercamiento al MCU (U3), antes y después. La cara inferior de la v6 no lleva serigrafía.* ## 1. Qué hace T44 { #1-que-hace-t44 } `tools/t44_serigrafia.py` corre con el Python de KiCad. Usa KiCad solo para leer la geometría y edita el `.kicad_pcb` como texto, campo por campo: el diff son las líneas `(at …)`, `(size …)` y `(thickness …)` de los textos que cambian, y nada más. - **Tamaño:** todo designador visible de la serigrafía queda en al menos 0.8 × 0.8 mm con trazo de 0.15 mm. Los que ya eran más grandes se quedan como están. - **Lugar:** junto a su pieza, a 0° o 90° (que se lea de abajo o de la derecha). Reglas duras: - nunca sobre el cuerpo de una pieza, la suya o la de otra; - al menos 0.15 mm de cualquier pad o abertura de máscara, 0.25 mm de un barreno, 0.10 mm de cualquier otra serigrafía y 0.30 mm de la orilla. - **Preferencias:** - fuera de los courtyards ajenos y sin vías debajo (las vías van tapadas); - centrado en un lado de su pieza; - siempre más cerca de su pieza que de cualquier otra, para que no se confunda de quién es. - Si el lugar de antes sigue siendo válido a 0.8 mm, el designador se queda ahí. - **Orden:** primero el más apretado. Al final, cada sobrante vuelve a intentar recorriendo hasta dos designadores vecinos. Así entraron R17, R33, R92, R107 y TP12, que en la primera vuelta no cabían. - **Lo que no cabe** se queda como estaba (tamaño y lugar) y se reporta con lo que estorba. - **Leyendas sueltas** (`gr_text`): suben a 0.8 / 0.15 donde están, o con un empujón de hasta 0.6 mm. Con más empujón, «IGN 12-24V» le quitaba a R112 su único lugar, y un designador pesa más que una leyenda. - **Garantías:** es determinista e idempotente (sobre una tarjeta ya hecha no cambia nada) y deja respaldo `.T44bak`. - `--apply` exige que la simulación ya esté en `_to_delete/t44//` y que salga idéntica byte por byte. - Aborta si la tarjeta cambió o si está abierta en KiCad. Herramientas de apoyo: - `tools/t44_drc.py`: DRC de KiCad 10 sobre una copia del proyecto completo (con `.kicad_pro`, `.kicad_dru`, librerías y tablas), con relleno y paridad. - `tools/t44_diff.py`: prueba que solo cambiaron esas líneas, dentro de designadores y leyendas. - `tools/t44_export.py`: saca la serigrafía para la figura. ## 2. Resultado en la v6 { #2-resultado-en-la-v6 } | | Designadores | Leyendas | |---|---|---| | Crecieron en su lugar | 81 | BOOT, NRST, RS485 | | Se recorrieron junto a su pieza | 253 | RS232 (0.2 mm hacia arriba) | | Ya cumplían | 4 | «EinarBoard v6» (2.0 mm) | | Solo trazo a 0.15 mm (ya medían 1.0 mm) | — | «www.helgen.tech», «HBOX 6.0 - 2026-10» (la versión) | | **No caben** | **12** | **«IGN 12-24V»** | | Ocultos (no se imprimen, no se tocaron) | MH1–MH5, SW1, SW2 | — | DRC de KiCad 10 sobre copias del proyecto, con relleno, paridad y todos los errores de pista. La copia probada y el archivo vivo dan exactamente lo mismo: | Tipo | Antes | Después | Qué queda | |---|---|---|---| | Errores (`courtyards_overlap`) | 11 | 11 | Los 11 courtyards de margen conocidos | | `silk_overlap` | 17 | **4** | JP2 ↔ C76: dos líneas de huella que se cruzan | | `silk_over_copper` | 5 | **1** | La serigrafía de D20 sobre la abertura de MH3 | | `silk_edge_clearance` | 1 | 1 | El polígono de J19 en la orilla | | `text_height` / `text_thickness` | 2 / 0 | 13 / 13 | Los 12 sobrantes y «IGN 12-24V», con la regla nueva | | `track_width`, `lib_footprint_*`, `track_dangling` | 137 · 86 · 1 | igual | — | | Sin conectar · paridad | 0 · 0 | 0 · 0 | — | Los tres que quedan en `silk_*` son gráficos de huellas, no textos. T44 no los toca, y Michelle los ve en su DRC. ## 3. Los que no caben: qué habría que mover { #3-los-que-no-caben } Para cada sobrante, el script prueba los cuatro lados de la pieza con el designador pegado y centrado. Reporta lo que estorba y cuánto tendría que recorrerse para dejar el hueco. Las cifras salen de las cajas de los pads y cuerpos (± 0.1 mm). Si una opción solo pide acomodar el **designador** de otra pieza, Michelle lo hace a mano en segundos. | Sobrante | Pieza | Dónde | La opción más barata | Otras | |---|---|---|---|---| | **R58** | 100k 0603 | junto a U10 y D16 | Mover **C64 0.25 mm** hacia abajo: el designador va debajo de R58 | R57 0.3 mm hacia arriba | | **R98** | 100k 0603 | entre D30, D33 y Q10 | Recorrer el **designador de D30**: R98 va vertical a su derecha | D30 0.6 mm hacia arriba | | **TP6** | USB_BOOT del módem | junto a U5 y R38 | Recorrer el **designador de C59**: TP6 va debajo | R38 0.55 mm hacia arriba | | **C101** | 47 µF 1210 | entre C100, R86 y D32 | **R86 0.65 mm** hacia arriba y recorrer el designador de R93 | C100 0.85 mm a la izquierda | | **C44** | 22 µF 0805 | entre C34, Y2 y R33 | **R33 0.8 mm** a la derecha (designador vertical) | C34 0.9 mm hacia arriba | | **C111** | 39 pF 0402 (U22) | entre R106–R108 y U22 | **R108 1.1 mm** hacia abajo: el designador va debajo de C111 | Ocultar | | **R38** | 100k 0603 | pegada a U6 (módem) | **C47 1.0 mm** y **U5 0.3 mm** a la izquierda | Ocultar | | **R63 · R64 · R65 · C63** | 0R · 22R · 0R · 100 nF | cuatro piezas en ≈ 6 × 6 mm entre U6 (módem), J11 (SIM) y U13 | Cada una necesita ≈ 0.6–1.0 mm de una vecina. R65: **U13 0.56 mm** a la derecha. R63: R64 0.8 mm a la derecha. R64: U13 0.86 mm o R65 0.9 mm hacia abajo. C63: R63 1.0 mm | Ocultar las cuatro | | **C112** | 100 nF 0402 | entre U25, L6, D34 y MH4 | Ninguna razonable: MH4 no se mueve y U25/L6 son la fuente | **Ocultar** | Si no se quiere mover nada, la otra salida es **ocultar** esos designadores en la serigrafía: en KiCad, desmarcar *Visible* en el campo Reference. Siguen en el plano de ensamble (F.Fab), en el mapa de designadores de [T43](designadores-t43-22oct.md#2-resultado-por-tarjeta) y en el CPL, que es lo que usa JLC para colocar. **«IGN 12-24V»** necesita ≈ 0.85 mm más a la izquierda, y ese lugar es el del designador de R112 (la resistencia de 22 k de la ignición). Hay dos caminos: correr la leyenda a mano a otro lugar, o dejarla en 0.5 mm. ## 4. Reglas nuevas en el proyecto de la v6 { #4-reglas-nuevas } - **`.kicad_dru`:** la regla «Minimum text height and thickness 1» (F.Silkscreen ≥ 0.5 mm / 0.1 mm) se cambia por «T44 texto en serigrafía F» y «… B»: **≥ 0.8 mm de alto y ≥ 0.15 mm de trazo en las dos caras**. Lo que no cumpla aparece como aviso en el DRC. - **`.kicad_pro`:** - el texto de serigrafía por omisión pasa de 1.0 mm / 0.1 mm a **0.8 mm / 0.15 mm**; - se activa *Board Setup → Text & Graphics → aplicar a los campos de las huellas*, para que las piezas nuevas que Michelle agregue con *Update PCB* lleguen ya a 0.8 / 0.15. Si KiCad hace algo raro al actualizar huellas, esa casilla se puede desmarcar sin perder nada. ## 5. Para Michelle (fin de semana del 24-oct) { #5-para-michelle } - **Antes de abrir la v6:** `git pull --ff-only` en HBox_PCB. `git log -1` debe mostrar `bd27501` o un commit posterior. - **Los 12 sobrantes y la leyenda** aparecen en el DRC como *text height* / *text thickness*. En cada uno hay dos caminos: aplicar la opción de la §3 en la misma pasada en que ya mueves piezas de ese bloque, u ocultar el designador. - **Si mueves piezas** (bloques A–H del plan), no acomodes designadores a mano uno por uno. Al cerrar el layout, Claude corre **T43 y luego T44** y deja todo en orden y a 0.8 mm (≈ 1 min). Si quieres acomodar alguno, que sea a 0.8 mm con trazo de 0.15 mm. ## 6. V5.6 y V5.7: aplicado el 23-oct (D-22-9 (b)) { #6-v56-v57 } !!! success "Aplicado el 23-oct a las 08:55 (Leo: «yes D-22-9», 08:53), HBox_PCB `93d13e3`" - Los archivos vivos quedaron **idénticos byte por byte** a las copias probadas la noche anterior: V5.6 pcb `99d7a0d4`, dru `9eca70d6`, pro `7d091196`; V5.7 pcb `ec7b3295`, dru `2afb2aee`, pro `b3b9669b` (respaldo `.T44bak`). - **DRC con relleno y paridad, idéntico a la base** en las dos: 3 errores (los NPTH de MOD1, excluidos por diseño), 0 sin conectar, paridad igual. - **Paquetes regenerados** con el Fabrication Toolkit (`HBOX_v5_Rev6_PROD.zip`, `HBOX_v5_Rev7_PROD.zip`) y comparados capa por capa con los de anoche: **solo cambia `F_Silkscreen.gto`**. Cobre (F, In1, In2, B), máscaras, pasta, orilla, taladros y mapas: iguales salvo el encabezado con la fecha. BOM, CPL y designadores: sin cambios (107 renglones / 226 piezas y 115 / 229). - En el visor de JLC, al subir el pedido, basta una mirada a la serigrafía superior. Lo que dio el script (en simulación el 22-oct y, el 23-oct, aplicado igual): | Tarjeta | Designadores visibles | Crecen en su lugar | Se recorren | No caben | Leyendas | DRC (copia) | |---|---|---|---|---|---|---| | **V5.6** (`hbox-watchdog-v5`) | 238 arriba + MOD1 abajo | 113 | 125 | **0** | 18 crecen en su lugar; 3 ya cumplían | Idéntico: 3 errores (los NPTH de MOD1, conocidos), 96 avisos, 0 sin conectar, paridad 0 | | **V5.7** (`hbox-watchdog-v57`) | 243 arriba + MOD1 abajo | 112 | 131 | **0** | 18 crecen en su lugar; 3 ya cumplían | Idéntico: 3 errores (MOD1), 98 avisos, 0 sin conectar, paridad 0 | En las dos cabe todo porque tienen más espacio que la v6 (no llevan el módem ni el GNSS a bordo). Las leyendas del zócalo XBee (TX, RX, 3V3, GND, USB±, RESET, V_USB, VREF), «4G NTRIP RESET», «BOOT», «NRST», «IGN» y «RS485/RS232» quedan a 0.8 mm o más con trazo de 0.15 mm. **Recomendación de Claude: (b) también para el piloto. Leo la aceptó el 23-oct a las 08:53.** En §5 del documento de [T43](designadores-t43-22oct.md#5-d-22-9-tamano-de-los-designadores-en-la-serigrafia-decide-leo) se estimaba ≈ 2 h de script y ½ día de acomodo por tarjeta. Ya no: - El script está hecho y no queda nada que acomodar. - El cobre no cambia; en el Gerber solo cambia la serigrafía superior. - El banco del piloto se hace con la tarjeta en la mano, y Jesús puede leer cada designador. El único costo es regenerar y verificar los dos paquetes antes de pagar. Lo que se corrió el 23-oct a las 08:55, con KiCad cerrado (las simulaciones dieron los mismos sha): ```bash cd 03-Architecture-Hardware/kicad PY=/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/Current/bin/python3 $PY tools/t44_serigrafia.py hbox-watchdog-v5 # simulación: debe dar pcb 99d7a0d4… $PY tools/t44_serigrafia.py hbox-watchdog-v57 # simulación: debe dar pcb ec7b3295… $PY tools/t44_serigrafia.py hbox-watchdog-v5 --apply $PY tools/t44_serigrafia.py hbox-watchdog-v57 --apply $PY tools/fab_package.py hbox-watchdog-v5 HBOX_v5_Rev6_PROD $PY tools/fab_package.py hbox-watchdog-v57 HBOX_v5_Rev7_PROD # luego: verify_mac.sh de la auditoría final (5 min) y, en el visor de JLC, una mirada a la serigrafía superior ``` Las copias probadas están en `_to_delete/t44/hbox-watchdog-v5/` (pcb `99d7a0d4`, dru `9eca70d6`, pro `7d091196`; entrada `b547836b`) y `_to_delete/t44/hbox-watchdog-v57/` (pcb `ec7b3295`, dru `2afb2aee`, pro `b3b9669b`; entrada `4f05a3fd`). Si alguien guarda la V5.6 o la V5.7 en KiCad antes, `--apply` se niega y basta con volver a correr la simulación. ## 7. Cómo volver a correrlo { #7-como-volver-a-correrlo } ```bash cd 03-Architecture-Hardware/kicad # KiCad cerrado, árbol limpio PY=/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/Current/bin/python3 $PY tools/t44_serigrafia.py hbox-watchdog-v6 # simulación → _to_delete/t44/hbox-watchdog-v6/ (+ t44_reporte.md) O=_to_delete/t44/hbox-watchdog-v6/hbox-watchdog-v6 python3 tools/t44_drc.py hbox-watchdog-v6 _to_delete/t44/drc --pcb $O.kicad_pcb --dru $O.kicad_dru --pro $O.kicad_pro python3 tools/t44_diff.py hbox-watchdog-v6.kicad_pcb $O.kicad_pcb # solo (at)/(size)/(thickness) de textos $PY tools/t44_serigrafia.py hbox-watchdog-v6 --apply # escribe lo mismo que la simulación, o se niega ``` Orden cuando se cierre un layout: **T43** (numeración por posición) → **T44** (tamaño y lugar) → DRC → commit. ## 8. Archivos { #8-archivos } | Archivo | sha256 (inicio) | |---|---| | `kicad/hbox-watchdog-v6.kicad_pcb` | `35255855` → **`6a5be87c`** | | `kicad/hbox-watchdog-v6.kicad_dru` | `8f184028` → **`dd68c77e`** | | `kicad/hbox-watchdog-v6.kicad_pro` | `16ee8123` → **`46d79c20`** | | `kicad/tools/t44_serigrafia.py` · `t44_drc.py` · `t44_diff.py` · `t44_export.py` | en `bd27501` | | Figura `img/2026-10-22_Drogheda_v6-T44-Serigrafia_v1.0.png` | — | Commit de la v6: **HBox_PCB `bd27501`** («T44: serigrafía de la v6 a 0.8 mm / 0.15 mm, designadores colocados por script»). Respaldos locales `*.T44bak` (no van al repo).