En el diseño de hardware, hay gastos que haces una sola vez, y gastos que haces por cada placa producida.
Cuando envías tus Gerbers (Día 308) a una planta maquiladora (EMS), puedes pedir Turnkey (Llave en mano) donde ellos compran todo y tú solo pagas; o Consigned (Consignado) donde tú compras los chips críticos (como el STM32 o el ESP32) para evitar componentes falsificados, y la EMS pone las resistencias y ensambla.
Paso 1: Bloqueo del Diseño (Design Freeze).
Las fábricas cobran penalizaciones por cada cambio de archivo. Asegúrate de que el Release Criptográfico que generaste en el Día 308 sea definitivo. Los ingenieros de la EMS crearán esténciles de acero inoxidable basados en esos Gerbers; si mueves un capacitor un milímetro, el esténcil a la basura y pagas otros $100 USD.
Paso 2: Generación del Archivo de Posicionamiento (CPL).
La máquina de ensamblaje automático (Pick & Place) no lee PDF. Necesita un archivo CSV (Component Placement List) generado en KiCad que indique: RefDes, Val, Package, Pos X, Pos Y, Rotación, Capa. Por ejemplo: U1, STM32F401, LQFP-64, 45.2mm, -12.5mm, 90, Top.
Paso 3: Atrición (Attrition Rate).
Las máquinas automáticas son rápidas, pero a veces dejan caer capacitores 0402 al suelo o gastan cinta para alinear. Tu BOM debe incluir un factor de "Atrición" (ej. +5% en componentes pasivos, +2% en activos) para garantizar que la EMS pueda terminar las 100 placas sin quedarse corta de resistencias de 10k.
En el espíritu de nuestro desarrollo en C, este script de validación en Python para calcular tu presupuesto utiliza una filosofía *Fixed-Point*, procesando cada centavo como un número entero absoluto para evitar errores de redondeo al totalizar 10,000 piezas.
#!/usr/bin/env python3
# =========================================================================
# bom_financial_scaler.py - Analizador de Costos de Hardware
# Calcula el "Break-Even" y dilución de NRE basado en volumen.
# =========================================================================
# Costos Fijos de Ingeniería (NRE) en CENTAVOS de USD
NRE_PCB_TOOLING_CENTS = 5000 # $50.00 (Películas, Máscaras)
NRE_STENCIL_CENTS = 3000 # $30.00 (Esténcil de acero pasta soldar)
NRE_MACHINE_SETUP_CENTS = 7000 # $70.00 (Setup del Pick & Place)
TOTAL_NRE = NRE_PCB_TOOLING_CENTS + NRE_STENCIL_CENTS + NRE_MACHINE_SETUP_CENTS
# Componentes Críticos del Despachador de Gas LP (Precios en CENTAVOS)
BOM_DATABASE = [
# Formato: Nombre, Precio Unidad (Qty 1), Precio Medio (Qty 100), Precio Rollo (Qty 1000)
{"name": "STM32F401RCT6 MCU", "q1": 450, "q100": 380, "q1000": 310},
{"name": "ESP32-WROOM-32E", "q1": 320, "q100": 260, "q1000": 210},
{"name": "MAX31865 RTD SPI", "q1": 550, "q100": 420, "q1000": 340},
{"name": "Relé Finder 24V", "q1": 600, "q100": 450, "q1000": 380},
{"name": "PCB Desnuda", "q1": 2000,"q100": 120, "q1000": 40},
{"name": "Pasivos Varios", "q1": 500, "q100": 150, "q1000": 80}
]
def calculate_volume_run(volume):
total_bom_cents = 0
# Determinar tier de precios
for item in BOM_DATABASE:
if volume >= 1000:
price = item["q1000"]
elif volume >= 100:
price = item["q100"]
else:
price = item["q1"]
total_bom_cents += price
# Costo de Ensamblaje estimado (Inversamente proporcional al volumen)
if volume >= 1000:
asm_cost = 120 # $1.20 por placa
elif volume >= 100:
asm_cost = 400 # $4.00 por placa
else:
asm_cost = 2500 # $25.00 ensamblaje manual/prototipo
# Dilución del NRE: (Costo Total Fijo / Número de placas)
amortized_nre = TOTAL_NRE // volume
unit_cost_cents = total_bom_cents + asm_cost + amortized_nre
print(f"--- Análisis para {volume} Unidades ---")
print(f" NRE Amortizado/Unidad : ${amortized_nre / 100:.2f}")
print(f" Costo BOM Componentes : ${total_bom_cents / 100:.2f}")
print(f" Costo Ensamblaje : ${asm_cost / 100:.2f}")
print(f" COSTO TOTAL UNITARIO : ${unit_cost_cents / 100:.2f}")
print("--------------------------------------\n")
if __name__ == "__main__":
print(f"COSTO NRE FIJO TOTAL: ${TOTAL_NRE / 100:.2f}\n")
calculate_volume_run(1)
calculate_volume_run(100)
calculate_volume_run(1000)
Objetivo del día: Transición Industrial (Design for Manufacturing) y Análisis de Rentabilidad.
Una tesis de ingeniería brillante a menudo muere en el cajón de un escritorio porque el estudiante nunca calculó cómo convertirla en un negocio escalable. Hasta ahora, el objetivo de tu Despachador de Gas LP era funcionar sin matar a nadie. Pero si tu plan a futuro es comercializar este equipo a estaciones petroquímicas, debes enfrentar los números: soldar una placa a mano con cautín y comprar sensores sueltos produce un costo de casi $200 USD por máquina. Con ese precio, no hay margen de utilidad para el chasis de acero, la manguera y las válvulas hidráulicas.
Al dominar los conceptos de **NRE (Gastos de Ingeniería No Recurrentes)** y **MOQ (Cantidad Mínima de Orden)** presentados hoy, tienes la capacidad de justificar tu proyecto no solo como técnico, sino como Director de Producto. Al planificar una corrida piloto de 100 máquinas mediante una ensambladora (EMS), el costo abrupto de los esténciles de soldadura se divide, y el costo del STM32 y el ESP32 cae dramáticamente al comprarlos en charolas o carretes industriales. Has demostrado que tu Tesis es mecánicamente segura, digitalmente infranqueable, y ahora, financieramente viable para irrumpir en el mercado industrial.