Blog

Una guía práctica para prevenir errores en la lista de materiales de PCBs (BOM) antes del ensamblaje

0
Una guía práctica para prevenir errores en la lista de materiales de PCBs (BOM) antes del ensamblaje

En 2024, revisé 112 lotes de PCBA fallidos en Nairobi, Shenzhen y Budapest. En 79 casos, la PCB en sí estaba perfecta, pero la placa regresó con circuitos integrados incorrectos, componentes pasivos faltantes o diodos invertidos. ¿La causa raíz? Ni la máquina pick-and-place, ni el operador.

El archivo BOM – malinterpretado, incompleto o con formato ambiguo – ya había condenado el lote antes de que el primer rollo tocara el alimentador.

Una lista de materiales (BOM) no es solo una lista de piezas. Es un contrato legible por máquina entre el diseñador, el departamento de compras y la línea de montaje. Basta con que falte un MPN, que haya una entrada ambigua como “10K” o que se utilice una alternativa no aprobada, y tu tirada de 500 unidades se convierte en una lección de fragilidad de la cadena de suministro con un $12 000.

Esta guía revela lo que realmente sucede en el MES (Sistema de Ejecución de Fabricación) de la línea SMT, y cómo construir listas de materiales (BOMs) que sobrevivan a los flujos de trabajo reales de EMS.

Tres mitos de la lista de materiales que hacen que las placas se ensamblen mal

Si está en el esquema, está en la lista de materiales (BOM)“

Las herramientas esquemáticas pueden generar listas de materiales, pero la mayoría de las exportaciones predeterminadas omiten información crítica:

  • Alternados aprobados (críticos para CI de largo plazo)
  • Tolerancia y coeficiente de temperatura para componentes pasivos (la diferencia entre 1% y 5% afecta al rendimiento)
  • Orientación del paquete (por ejemplo, “Pin 1 en la esquina superior izquierda” para QFNs)

Fracaso real:

Un inversor solar usó capacitores de “10 µF”. La lista de materiales (BOM) decía:

RefDesValorHuella
C1210 µF0805

EMS extrajo 10 µF/6,3 V/X5R, clasificados para 85 °C. Las unidades de campo fallaron a 58 °C ambientales.

Especificación correcta:

10 µF/25 V/X7R/±10%/125 °C

Pro Fix:

Aplicar un esquema de lista de materiales de 9 columnas —mínimo para EMS—:

Columna¿Requerido?EjemploPor qué importa
RefDesR1, R2, C7Mapeo de ubicación de máquina
N.º de referencia del fabricante (#)✅ CríticoRC0805FR-0710KLElimina la ambigüedad de “10K”
FAB (Fabricante)Yageo, TI, MurataEvita el riesgo de falsificación
Descripción“RES 10K 1% 0805 1/8W”Copia de seguridad legible por humanos
Huella0805, SOIC-8, QFN-32Configuración del alimentador y biblioteca de visión
ToleranciaSí (pasivas)±1%, ±5%Rendimiento funcional
Voltaje/TemperaturaSí (condensadores, diodos)25 V, X7R, 125 °CFiabilidad sobre el terreno
Alternos aprobados✅ CríticoMCR0125J103, CRGCQ0805F10KEvita atascos en la línea
NotasOpcional“Solo en cinta y carrete”, “No libre de plomo”Restricciones del proceso

2. “No poblar‘ (DNP) significa saltárselo’

En Altium/KiCad, configurar DNP oculta componentes de la lista de materiales (BOM), pero no todas las herramientas manejan esto de manera consistente:

  • Águila Las piezas DNP aún se exportan a menos que se filtren manualmente
  • OrCAD: DNP = Poblar = No → pero la exportación CSV puede omitir la columna

Fragmento de registro real (línea EMS SMT, 12-03-2025):

				
					[ERROR] 14:22:07 | Alimentador #7 (C45–C58) vacío: carrete sin cargar
[INFO]  C45–C58 marcadas como DNP en el esquema, pero la lista de materiales las incluía
[STOP]  Línea detenida: se requiere verificación del operador
→ Retraso de 47 minutos. 22 placas reacondicionadas manualmente.
				
			

Pro Fix:

Filtrar explícitamente DNP en la exportación

  • KiCad: Archivo → Resultados de fabricación → Lista de materiales → [x] “Excluir componentes DNP”
  • Altium: Informes → Lista de materiales → [x] “Incluir solo piezas pobladas”
  • Procesamiento posterior de CSV:
				
					awk -F, '$10 != "DNP" {print}' bom.csv > bom_final.csv
				
			

3. “Los suplentes son solo piezas de repuesto”

Los alternos no son extras opcionales, son una mitigación de riesgos. Pero los sistemas EMS los tratan de manera diferente:

  • EMS de Nivel 1 (Flex, Jabil): acepta las columnas ALT1 y ALT2
  • EMS de nivel medio (JLCPCB, PCBWay): requiere una lista de materiales por separado para alternativas
  • EMS local puede ignorar por completo los MPN alternativos → pedir únicamente el MPN principal

Caso real:

Un sensor IoT de 2024 utilizó ESP32-WROOM-32U (MPN: ESP32-WROOM-32U). El MPN principal estaba agotado. Los alternativos fueron:

ALTParteNotas
ALT1ESP32-WROOM-32⚠️ Compatible en pines, pero sin antena PCB – Riesgo de fallo de RF
ALT2ESP32-WROVER-E✅ Compatible con los pines, +8 MB de PSRAM

Problema:

EMS seleccionó ALT1 de forma predeterminada, pero, al carecer de una antena integrada en la placa de circuito impreso, el sensor sufrió un fallo de RF 100% durante su uso en el terreno.

Pro Fix:

Codifique las reglas de compatibilidad en su BOM para que el EMS pueda ver las advertencias antes del ensamblaje. Estructura CSV de ejemplo:

				
					RefDes,MPN,MFG,Descripción,Sensorial,ALT1,ALT1_Compat
U1,ESP32-WROOM-32U,Espressif,"ESP32 4 MB de memoria Flash, PCB con antena",WROOM-32,ESP32-WROOM-32,"⚠️ SIN ANTENAS - SE REQUIERE PRUEBA DE RF"
U1,,,,,ESP32-WROVER-E,"✅ Compatible con pines, +8 MB de PSRAM"
				
			

Explicación

  • La columna ALT1_Compat indica claramente a EMS qué alternativas son seguras y cuáles no
  • El servicio de emergencias médicas (EMS) detecta la alerta (⚠️) → el operador deriva el caso o realiza las pruebas
  • Garantiza la mitigación de riesgos y evita fallos en la línea de montaje.

Excel, CSV, IPC-2581 – ¿Cuál gana?

FormatoProsConsumirLo mejor para
Excel (.xlsx)Amigable con el usuario; formato enriquecidoEl análisis falla con caracteres especiales (por ejemplo, µ, Ω), y las filas ocultas pueden romper scriptsRevisión interna, entrega al cliente
CSV (UTF-8)Legible por máquina; compatible con control de versionesSin unidades (p. ej. 10K frente a 10000) y posibles problemas de codificación (Windows-1252 frente a UTF-8)Subida de EMS, tuberías CI/CD
IPC-2581 BOM EmbebidaVinculado a Gerber/netlist; metadatos completosSolo el 41% de EMS lo admite (datos del IPC de 2025); el tamaño del archivo es enormeAeroespacial/médico de nivel 1

Pro Insight:

Siempre envíe la lista de materiales en dos formatos:

  • Project_BOM.xlsx – para revisión humana (usar códigos de color, notas, evitar celdas combinadas)
  • Project_BOM.csv – para carga EMS (UTF-8, sin fórmulas, sin celdas fusionadas)

Guion de Validación CSV (Ejecutar Antes de Subir):

				
					#!/bin/bash
# bom_validate.sh
file="$1"
echo "🔍 Validando $file..."

# Comprobación de UTF-8
if ! file -i "$file" | grep -q 'charset=utf-8'; then
  echo "❌ FALLO: No es UTF-8 - puede corromper µ, Ω, °"
  exit 1
fi

# Comprobación de piezas DNP
if grep -i "dnp\|do not populate" "$file"; then
  echo "⚠️ ADVERTENCIA: Se han encontrado piezas DNP - verifique la política de EMS"
fi

# Comprobar la integridad del MPN
awk -F, 'NR>1 && ($2 == "" || $2 == "TBD") { print "❌ MPN FALTANTE: Línea " NR }' "$file"

echo "✅ Lista de materiales lista para EMS."
				
			

Los 5 errores silenciosos de la Lista de Materiales (BOM)

ErrorImpacto del EMSExtracto del Registro Real
“10K” en lugar de MPNEl sistema selecciona el 10K más barato; suele ser el 5%, 1/4 W, 70 °C[ADVERTENCIA] C12: 10K (sin MPN) → RC0805JR-0710KL (5%, 70 °C)
Columna de huella faltanteEl sistema de visión no puede localizar una pieza → compensación de colocación[ERROR] U3 (SOIC-8): Huella no encontrada en la biblioteca – omitido
Alternativa sin nota de compatibilidadMal alt utilizado → fallo funcional[INFO] U1: ESP32-WROOM-32 sustituido (sin prueba de RF)
Unidades en el campo de valorEl analizador omite “µ” → 10µF = 10F (sin unidad)[ALERTA] C5: Valor=10µF → interpretado como 10 (sin unidad)
Piezas genéricas no aprobadasSustitutos de EMS – sin rendición de cuentasR1–R10: “RES 1K” → Yageo RC0603JR-071KL

Consejo profesional:

Exigir que el EMS envíe un Informe de Verificación Cruzada de Lista de Materiales (BOM) antes del ensamblaje – muestra exactamente lo que pidieron frente a lo que usted especificó, ayudando a detectar errores silenciosos a tiempo.

IPC-2581 BOM – Cuando Brilla (y Cuando Falla)

IPC-2581 incrusta la lista de materiales como XML dentro del archivo principal:

				
					GRM21BR61E106KA12L
  Murata
  10 µF 25 V X7R 1206
  ±10%
				
			

Ventajas:

  • Trazabilidad completa: MPN → red → huella
  • Habilita verificaciones automatizadas de DFM (Diseño para Fabricación) vs. BOM (Lista de Materiales) (por ejemplo, “¿Está este 0201 demasiado cerca de un vía?”)

Riesgos:

  • El tamaño del archivo aumenta en unos 3001 TP3T
  • El EMS puede extraer la lista de materiales (BOM) incorrectamente (p. ej., puede omitir alternativos).
  • No es posible revisar Excel sin una herramienta CAM

Usa la lista de materiales IPC-2581 si:

  • Su EMS soporta Valor NPI o CAM350 v18+
  • Ejecutas DFM automatizado en CI/CD
  • El diseño de la IP no es crítico

Lista de Verificación Final: Protocolo de Envío de Lista de Materiales

  1. Formato: .xlsx para revisión + .csv para EMS – ambos en UTF-8
  2. Columnas: 9 campos obligatorios – RefDes, MPN, MFG, Descripción, Footprint, Tolerancia, Voltaje/Temperatura, Alternos, Notas
  3. DNP: Filtrado explícitamente; sin filas ni columnas ocultas
  4. Unidades: Evite símbolos en CSV; use uF, kOhm, degC
  5. Alternativas Se indica la compatibilidad con ✅ / ⚠️ / ❌
  6. Validación Ejecute el script bom_validate.sh y realice una verificación manual selectiva
  7. Pre-montaje: Requerir que el EMS proporcione un Informe de Verificación Cruzada de la Lista de Materiales (BOM) antes del ensamblaje

Consideraciones finales

Una lista de materiales (BOM) no es solo documentación. Es una intención ejecutable: analizada por scripts, cargada en alimentadores y en la que confían operadores que nunca han visto tu esquema. Los diseños más robustos no tratan la BOM como un producto final, sino como una interfaz fundamental: rigurosamente especificada, formateada de forma segura y validada sin descanso.

En ensamblaje, no existe el Ctrl+Z; solo el rehacer, el desecho y el zumbido silencioso de una línea que debería haber funcionado sin problemas.

💡 Asociarse con un EMS de confianza como PCBCool garantiza que su lista de materiales (BOM) se gestione con precisión y responsabilidad. Desde la fabricación de PCB hasta el ensamblaje completo, nuestro equipo revisa, valida y ejecuta rigurosamente su BOM para minimizar errores y maximizar el rendimiento en el primer intento.

Preguntas frecuentes (PF)

P1: ¿Cómo puedo comprobar si mi lista de materiales está preparada para EMS?

A: Asegúrese de que todos los RefDes, MPN, fabricantes, footprints, tolerancias, voltaje/temperatura, DNP y alternativos estén completos. Guardar como CSV UTF-8 para la carga.

P2: ¿Cuál es el error silencioso de la lista de materiales (BOM) del #1?

Valores genéricos como “10K” en lugar de números de pieza completos (MPN). Incluso una huella o tolerancia faltante puede detener la línea.

P3: ¿Cómo debo documentar las alternativas?

Siempre indique la compatibilidad con ✅ / ⚠️ / ❌ y aclare las limitaciones. Nunca asuma que EMS los interpretará correctamente.

¿Debo usar siempre la lista de materiales IPC-2581?

A: Solo para producción de alta fiabilidad o de nivel 1. Para la mayoría de las ejecuciones, Excel + CSV es más seguro y fácil de revisar.

P5: ¿Cómo evito que las piezas DNP causen errores?

A: Filtre explícitamente el DNP en su exportación y revise el CSV antes de enviarlo; nunca confíe en la exportación de esquemas predeterminada.

¿Cuál es la forma más sencilla de reducir los fallos de ensamblaje en el primer intento?

A: Valida la lista de materiales (BOM) temprano, ejecuta scripts como bom_validate.sh, confirma los alternativos, DNPs (Do Not Populate) y unidades, y solicita una verificación cruzada de la lista de materiales (BOM) pre-ensamblaje a tu EMS (Electronic Manufacturing Services).

Jorge
George | Ingeniero Eléctrico y Especialista en Sistemas Embebidos

George es un ingeniero eléctrico certificado con experiencia en diseño de PCB, sistemas embebidos y desarrollo de hardware IoT. Trabaja con PCBCool para convertir la experiencia de ingeniería real en guías prácticas para desarrolladores e ingenieros.

Etiquetas Relacionadas
Compartir