DÍA 317 DE 365

Fase 5: Diseño Industrial y Hardware

📖 Teoría a Estudiar

Costos Recurrentes vs No Recurrentes (NRE)

En el diseño de hardware, hay gastos que haces una sola vez, y gastos que haces por cada placa producida.

Modelos de Ensamblaje (EMS)

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.

ANÁLISIS DE COSTO UNITARIO: PROTOTIPO VS VOLUMEN (PCBA) Volumen (Unidades) Costo Unitario ($ USD) NRE Tooling $150.00 BOM $45.00 Asm: $25 Qty: 1 Total: $220.00 BOM (MOQ) $28.00 Asm: $4 Qty: 100 Total: $33.50 BOM $19.50 Asm: $1.20 Qty: 1,000 Total: $20.85 Dilución Extrema de Costos NRE

⚙️ Pasos Prácticos: Exportación para Manufactura

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.

💻 Herramienta Financiera: Escalado de BOM (Sin Floats)

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)
        

🚀 Avance del Proyecto Tesis: Despachador de Gas LP

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.

📝 Resumen del Día