15 KiB
| title | tags | project | author | date | version | status | audience | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EinarBoard v5 (HBOX v5) — Procedimiento de prueba y flasheo por tarjeta |
|
Project Drogheda | Helgen Technologies | 2026-09-15 | 1.0 | ACTIVO — aplicar a cada una de las 15 tarjetas del lote JLC 22-Ago-2026 | técnicos de banco |
EinarBoard v5 — Procedimiento de prueba y flasheo
Lote: 15 tarjetas hbox-watchdog-v5 (JLCPCB, pedido 22-Ago-2026).
Objetivo: verificar que cada tarjeta enciende sin cortos, que sus rieles están en valor,
y dejarla flasheada con el firmware de arranque entregado por ingeniería.
Duración estimada: 15–20 min por tarjeta.
⛔ REGLA 1 — NO flashear
blackpillrtkcode_v3(v3.0.3) en esta tarjeta. Ese firmware es para la EinarBoard 1.0 (Blackpill). En la v5 usa los pines PB12–PB15 como LEDs de batería, pero en esta tarjeta esos pines son el bus SPI del chip Ethernet (W5500). Solo se flashea el archivo.binque entregue ingeniería para v5.⛔ REGLA 2 — Sin batería y sin módulos en estas pruebas. No conectar nada en P4 (batería), ni insertar el simpleRTK2B en MOD1, ni el módem 4G en J7/J8.
⛔ REGLA 3 — Fuente de banco siempre con límite de corriente. Si la corriente llega al límite o un componente se calienta: apagar, marcar la tarjeta como FALLA y pasar a la siguiente.
0. Material
| Cant. | Ítem |
|---|---|
| 1 | Multímetro (continuidad / V DC) |
| 1 | Fuente de banco 0–30 V con límite de corriente ajustable |
| 1 | Cable USB-C ↔ USB-C (o USB-A ↔ USB-C) con datos (no solo carga) |
| 1 | Laptop con STM32CubeProgrammer instalado (o dfu-util en terminal) |
| 1 | Archivo de firmware: hbox-v5-bringup_0.4.0.bin — descarga: https://drogheda.helgen.online/descargas/ (repo: 04-Source-Code/firmware/hbox_v5_bringup/release/, SHA-256 inicia a8de74b3) |
| 1 | Jumper 2.54 mm para P11 (interruptor de corte) |
| 1 | Lupa o lámpara con aumento |
| — | Hoja de registro (sección 7) |
Identificación en la tarjeta (serigrafía):
| Ref. | Qué es | Dónde se usa |
|---|---|---|
| J11 | USB-C DFU (junto a SW1/SW2 y J10 Ethernet) | Alimentar solo el MCU y flashear |
| J9 | USB-C del módem | NO se usa en este procedimiento |
| SW1 | Botón RESET | Reiniciar el MCU |
| SW2 | Botón BOOT0 | Entrar en modo DFU |
| TP7 / TP6 | Puntos de prueba 3V3 / GND | Medir el riel de 3.3 V |
| TP3 / TP4 / TP5 | SWDIO / SWCLK / NRST | Solo si ingeniería pide programar por ST-Link |
| P2 | Entrada 5 V (donde va la Mean Well SD-15B) | Prueba del riel de 5 V |
| P1 | Entrada 24 V (GX16) — pin 1 = +24 V, pin 2 = GND | Prueba del buck del ventilador |
| P11 | Header CUTOFF-SW (2 pines) | Puentear para que pase MAIN5V → SYS5V |
| P6 | Header del ventilador (2 pines) — pin 1 = +5V_FAN, pin 2 = retorno conmutado | Medir salida del buck (pin 1 contra GND) |
| MOD1 | Zócalo UNO del simpleRTK2B — pin "5V" | Verificar que la etapa RTK arranca apagada |
| D18 | LED verde PWR | Enciende cuando hay 3.3 V |
| D17 | LED azul C13 | Lo controla el firmware (apagado en chip virgen) |
| U17 | Regulador AMS1117 3.3 V | Tocar para verificar temperatura |
| Y2 | Cristal 3.6864 MHz (HC-49, marcado 3.6864 / 36.864) |
Verificación visual |
1. Inspección visual (sin energía) — 3 min
Con lupa, en cada tarjeta:
- No hay puentes de soldadura visibles entre pines de U16 (MCU, 64 pines), U11 (W5500), U10 (SC16IS752), U6 (LTC4040).
- Y2 dice
3.6864(o36.864). Los otros tres cristales: Y1 y Y3 =25.000, Y4 = pequeño de 32.768 kHz. Si Y2 dice1.8432→ marcar y avisar a ingeniería. - Botones SW1 y SW2 presentes y con "clic".
- Conectores J11, J9, J10 (RJ45) bien asentados, sin pines doblados.
- Jumpers de configuración del cargador presentes: JP2, JP3, JP4 (no tocar su posición).
- Sin componentes faltantes evidentes ni marcas de quemado.
2. Continuidad — cortos a tierra (sin energía) — 2 min
Multímetro en ohms (no en modo continuidad/beep, porque los capacitores dan lecturas transitorias). Punta negra en TP6 (GND). Esperar a que la lectura se estabilice.
| Medir en | Riel | Esperado | Si es < 100 Ω |
|---|---|---|---|
| TP7 | 3V3 | > 1 kΩ (la lectura sube lentamente) | FALLA — corto en 3.3 V |
| P2 pin 1 | VEH5V (entrada 5 V) | > 1 kΩ | FALLA — corto en entrada 5 V |
| P11 pin 1 | MAIN5V | > 1 kΩ | FALLA — corto en 5 V del sistema |
| P1 pin 1 | 24V_IN | > 10 kΩ | FALLA — corto en 24 V |
| MOD1 pin "5V" | SW_5V (etapa RTK) | > 1 kΩ | FALLA |
Nota: es normal ver lecturas de unos cientos de ohms que van subiendo — son los capacitores cargándose con el multímetro. Lo que NO es normal es una lectura fija de 0–20 Ω.
3. Prueba del riel de 3.3 V por USB (J11) — 3 min
Con USB solo se energiza el MCU y la lógica de 3.3 V; el riel de 5 V del sistema queda apagado. Es la forma más segura de encender la tarjeta por primera vez.
- Conectar el cable USB-C en J11 (el que está junto a los botones), otro extremo a la laptop o a un cargador USB.
- Verificar:
| Punto | Esperado |
|---|---|
| D18 (LED verde PWR) | Encendido |
| TP7 respecto a TP6 | 3.20 – 3.40 V |
| U17 (AMS1117) al tacto tras 1 min | Tibio, se puede tocar. Si quema → FALLA |
| D17 (LED azul) | Apagado o fijo (chip virgen — normal) |
- Si D18 no enciende o TP7 < 3.0 V → desconectar, marcar FALLA (3V3).
- Dejar el USB conectado para la sección siguiente.
4. Prueba de rieles de 5 V y 24 V con fuente de banco — 5 min
Se hace con el MCU virgen (sin firmware): así todos sus pines quedan en alta impedancia y la etapa RTK permanece apagada por diseño. Esto es lo que se está verificando.
4a. Riel de 5 V (entrada P2)
- Fuente de banco: 5.0 V, límite 500 mA, salida apagada.
- Colocar el jumper en P11 (CUTOFF-SW).
- Conectar fuente a P2: pin 1 = +5 V, pin 2 = GND. (Puede quedarse el USB en J11.)
- Encender la salida y medir:
| Punto | Esperado |
|---|---|
| Corriente de la fuente | < 300 mA (típico 100–250 mA) |
| P11 pin 1 (MAIN5V) | 4.8 – 5.1 V |
| P11 pin 2 (SYS5V, con jumper) | 4.8 – 5.1 V |
| TP7 (3V3) | 3.20 – 3.40 V |
| MOD1 pin "5V" (SW_5V, etapa RTK) | 0 V ← obligatorio. Si hay 5 V aquí → FALLA (etapa RTK no arranca apagada) |
| U6 (LTC4040), U12 (buck Ethernet) al tacto | Tibios, no queman |
- Apagar la salida de la fuente. Desconectar de P2.
4b. Riel de 24 V → buck del ventilador (entrada P1)
- Fuente de banco: 24.0 V, límite 200 mA, salida apagada.
- Conectar a P1: pin 1 = +24 V, pin 2 = GND. Pin 3 (ignición) sin conectar.
- Encender la salida y medir:
| Punto | Esperado |
|---|---|
| Corriente de la fuente | < 50 mA (sin ventilador) |
| P6 pin 1 (5V_FAN) respecto a TP6 (GND) | 4.9 – 5.1 V (no medir contra P6 pin 2: es el lado conmutado del ventilador) |
| U2 (buck) al tacto | Frío o tibio |
- Apagar salida. Desconectar de P1. Quitar el jumper de P11 (opcional; puede dejarse).
Si algún valor está fuera de rango: marcar FALLA con la sección (4a o 4b) y el valor medido. No flashear una tarjeta con FALLA.
5. Flasheo por USB DFU (J11) — 5 min
Solo para tarjetas que pasaron las secciones 1 a 4.
5a. Entrar en modo DFU
- Solo el USB en J11 conectado a la laptop (nada en P1/P2).
- Mantener presionado SW2 (BOOT0).
- Sin soltar SW2, presionar y soltar SW1 (RESET).
- Soltar SW2.
- La laptop debe detectar un dispositivo "STM32 BOOTLOADER" (ID
0483:DF11).
El chip viene vacío de fábrica: no hace nada hasta que se flashea, y solo entra al programador con esta secuencia de botones. Si no aparece el dispositivo: cambiar el cable USB (muchos son solo de carga), repetir la secuencia con calma (SW2 debe estar presionado cuando se suelta SW1).
5b. Flashear con STM32CubeProgrammer (recomendado)
- Abrir STM32CubeProgrammer.
- Arriba a la derecha, en el selector de conexión elegir USB. Pulsar el botón de refrescar;
debe aparecer
USB1. Pulsar Connect. - Ir a la pestaña Erasing & Programming (icono de flecha hacia abajo, lado izquierdo).
- File path → seleccionar
hbox-v5-bringup_0.4.0.bin. - Start address =
0x08000000. Marcar Verify programming y Run after programming. - Pulsar Start Programming. Esperar "File download complete" y "Verify… successful".
- Pulsar Disconnect.
5c. Alternativa por terminal (dfu-util, macOS/Linux)
dfu-util -l # debe listar [0483:df11]
dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.4.0.bin
5d. Verificación después del flasheo
- Abrir un terminal serie en la laptop (CoolTerm, Serial,
screen, o el monitor de Arduino) y dejarlo listo. Pulsar SW1 (RESET) una vez. - Esperado en los primeros 5 segundos:
| Punto | Esperado |
|---|---|
| D17 (LED azul) + LED de panel en P8 (si hay) | Parpadean a 1 Hz (MCU ejecutando el firmware) |
| DB1 → DB4 (LEDs del indicador de batería) | Se encienden en secuencia una vez, luego se apagan; después R, G, B en P14 si hay LED RGB conectado |
| Laptop | Aparece un puerto serie nuevo ("STMicroelectronics Virtual COM Port" / usbmodem…) |
| Terminal serie a 115200 baud | Encabezado hbox-v5-bringup 0.4.0 (cualquier otra version: re-flashear), luego líneas [PASS] / [FAIL], y al final >>> BOARD OK |
- Si el terminal se abrió tarde y no se vio el reporte: teclear
ren el terminal → repite todas las pruebas (y vuelve a encender los LEDs en secuencia). - Reporte esperado (todas
[PASS]):
[PASS] CLOCK_HSE SYSCLK=96000000 Hz HSE_RDY=1 PLL_SRC=HSE ← cristal Y3 y USB OK
[PASS] LSE_Y4 Y4 32.768k LSERDY=1 ← cristal Y4 OK
[PASS] I2C PCF8574 U13 @0x20 ACK
[PASS] I2C SHT40 U3 @0x44 ACK
[PASS] I2C TMP102 U4 @0x48 ACK
[PASS] I2C SC16IS752 U10 @0x4D ACK
[PASS] TMP102 TMP102 27.50 C
[PASS] SHT40 SHT40 27.8 C 45.0 %RH
[PASS] SC16IS752 0x4D ACK, SPR rd=0xA5 (exp A5), LSR=0x60
[PASS] GAUGE_WALK visual — technician confirms ← el técnico confirma que vio DB1→DB4
[PASS] ADC vbat=0.00 v5=0.00 ntc=..C mcu=..C ← vbat y v5 en 0 es NORMAL con solo USB
[PASS] DIN ign=0 chrg=.. fault=.. ser_irq=1 eth_int=..
---- RESULT: 12 PASS / 0 FAIL ----
>>> BOARD OK
Después imprime una línea STAT … cada 2 s con temperaturas y voltajes — es normal.
- Cualquier
[FAIL]→ anotar la línea completa en la hoja de registro y marcar FALLA (POST). El LED azul que no parpadea → repetir 5a–5b una vez; si vuelve a fallar → FALLA (FLASH).
Este firmware no enciende la etapa RTK ni el cargador: solo prueba la tarjeta. El firmware de producción v5 se flashea después, por el mismo procedimiento DFU.
6. Cierre de la tarjeta
- Desconectar USB.
- Etiquetar la tarjeta con su número de serie (V5-01 … V5-15) y fecha, en la esquina cerca de MH4 (sin tapar serigrafía ni componentes).
- Llenar la hoja de registro.
- Guardar en bolsa antiestática. Las tarjetas con FALLA van en bolsa aparte con la nota del punto que falló.
7. Hoja de registro del lote
| Tarjeta | Visual (1) | Cortos (2) | 3V3 USB (3) | 5 V (4a) | 24 V (4b) | DFU (5a) | Flash (5b) | Post-flash (5d) | OK / FALLA | Técnico | Fecha |
|---|---|---|---|---|---|---|---|---|---|---|---|
| V5-01 | |||||||||||
| V5-02 | |||||||||||
| V5-03 | |||||||||||
| V5-04 | |||||||||||
| V5-05 | |||||||||||
| V5-06 | |||||||||||
| V5-07 | |||||||||||
| V5-08 | |||||||||||
| V5-09 | |||||||||||
| V5-10 | |||||||||||
| V5-11 | |||||||||||
| V5-12 | |||||||||||
| V5-13 | |||||||||||
| V5-14 | |||||||||||
| V5-15 |
Anotar el valor medido cuando esté fuera de rango (ej. "TP7 = 2.9 V").
Anexo A — Notas de ingeniería (no requeridas para el técnico)
Verificado contra hbox-watchdog-v5.kicad_pcb / .kicad_sch (netlist, 15-Sep-2026):
- Alimentación por J11: VBUS → D13 (SS34) →
/LDO_IN→ U17 AMS1117 →/3V3./SYS5Vqueda apagado, por lo tanto U12 y/3V3_ETH(W5500) quedan apagados. R100/R101 (5.1 k en CC) presentes: un cable C-a-C entrega VBUS. - DFU: BOOT0 = pin 60 de U16, pull-down R98 10 k, SW2 lo lleva a 3V3.
/BOOT1_STRAP(PB2, pin 28) fijo a GND por R99 10 k. HSE = Y3 25 MHz en PH0/PH1 (el bootloader ROM lo requiere, AN2606). USB en PA11/PA12 (pines 44/45) con ESD D14/D15. - SWD: TP3 SWDIO (PA13), TP4 SWCLK (PA14), TP5 NRST, TP6 GND, TP7 3V3.
- Colisión firmware v3.0.3 ↔ v5 (única encontrada):
PIN_BATLED1..4= PB12–PB15 (pines 33–36) =/ETH_CS,/ETH_SCK,/ETH_MISO,/ETH_MOSI(SPI2 del W5500). PB14 es salida del W5500. El indicador de batería en v5 está en U13 PCF8574 (A0–A2 a GND → dirección I²C 0x20, salidas P0–P3 → RB1–RB4 120 R → LEDs). Todo el resto del mapa de pines de v3 coincide con v5: PA0 BAT_SENSE, PA1 PWR_CTRL, PA2/PA3 GNSS, PA4 5V_SENSE, PA5 IGN_SENSE, PA6 FAN_PWM, PA8 CHRG_EN, PA9/PA10 USART1, PB0 EXT_LED, PB1 NTC, PB3 CHRG_STAT, PB4 CHRG_FAULT, PB5 BYP_CTRL, PB6/PB7 I²C1, PC13 LED (activo bajo, R102 1 k a 3V3), PB10 tach = NC. - Pines de v5 que v3 no conoce (firmware v5 debe manejarlos): PC0
/ETH_INT, PA15/ETH_RST(sin pull-up: flota si el MCU no lo maneja), PB8/SER_IRQ(SC16IS752), PC14/PC15 LSE 32.768 kHz (Y4)./SER_RSTnsí tiene pull-up R80 10 k. - Cristales (BOM = maestro): Y2 = C2238 X49SM36864MSD2SC-1 = 3.6864 MHz para el
SC16IS752 (
XTAL_FREQ 3686400); el campo "1.8432MHz" del esquemático/BOM es un error de etiqueta. Y1 (W5500) y Y3 (HSE del MCU) = C14872 X49SM25MSD2SC = 25 MHz, confirmados contra el BOM de ensamble en JLCPCB. Y4 = 32.768 kHz LSE. - Estado del archivo KiCad vs tarjetas fabricadas: el
.kicad_pcbvivo tiene 35 huellas movidas después del pedido (commits 24-Ago y 07-Sep: reubicación de la zona Ethernet/DFU J10/U11/U12/Y1/C90–C103/J11, D14–D16, R20, C101). La netlist no cambió. La referencia física de este lote esproduction/HBOX_v5_PROD.zip(22-Ago). En las tarjetas recibidas D14–D16 están junto al MCU, no junto a J11. - Buck del ventilador U2 se habilita solo:
/EN_FAN= divisor Ren1 100 k / Ren2 20 k desde/24V(≈4 V con 24 V de entrada), no depende del MCU → la prueba 4b es válida con chip virgen./FAN_RETes el lado bajo conmutado por Q2 (gate desde PA6): con MCU virgen queda abierto. - Objetivo de compilación del firmware v5:
STMicroelectronics:stm32:GenF4:pnum=GENERIC_F411RETX(noBLACKPILL_F411CE),HSE_VALUE=25000000conSystemClock_Configexplícito en HSE para que el USB CDC tenga reloj exacto.