% ================================================================ APÉNDICES \appendix \section{Mapa de pines del STM32F411 (netlist del 22-oct, V5.6 = V5.7)}\label{sec:pinmap} {\footnotesize \begin{longtable}{@{}L{0.9cm}L{1.6cm}L{3.6cm}L{9.2cm}@{}} \toprule \cab{\cw{Pin} & \cw{Puerto} & \cw{Red} & \cw{Función / notas}}\\ \midrule \endfirsthead \toprule \cab{\cw{Pin} & \cw{Puerto} & \cw{Red} & \cw{Función / notas}}\\ \midrule \endhead \input{tab-pinmap.tex} \end{longtable}} \section{Diferencias de BOM entre V5.6 y V5.7}\label{sec:bomdiff} \hwtab{\begin{tabular}{@{}L{3.34cm}L{6.28cm}L{6.28cm}@{}} \toprule \cab{\cw{} & \cw{Solo V5.6} & \cw{Solo V5.7}}\\ \midrule Entrada y fuente & \refdes{P2} (5 V de la SD-15B); \refdes{U2} MP1584 + \refdes{L2} 10 $\mu$H + \refdes{Dbk1} SS34 + \refdes{Cbst1}, \refdes{Ccomp1}, \refdes{Rcomp1}, \refdes{Ren1}, \refdes{Ren2}, \refdes{Rfreq1}, \refdes{R20}, \refdes{R21} (buck del ventilador); \refdes{JP1} abierto & \refdes{F2} 3 A; \refdes{U25} TPS54360B; \refdes{L22} SRP1265A 10 $\mu$H; \refdes{D34} B560C; \refdes{C149/C150} 2.2 $\mu$F/100 V; \refdes{C153/C154} 47 $\mu$F/16 V; \refdes{C152} 100 nF (BOOT); \refdes{C155} 6.8 nF, \refdes{C156} 39 pF, \refdes{R123} 13 k (comp.); \refdes{R120} 162 k (RT); \refdes{R121} 57.6 k / \refdes{R122} 10.2 k (FB); \refdes{R124/R125} DNP (EN); \refdes{JP1} puenteado (ventilador desde VEH5V)\\ \rowcolor{HelgenMist} Común (resumen) & \multicolumn{2}{L{12.8cm}@{}}{U6 LTC4040 + L6 + RS1 10 m$\Omega$ + Q7; U7 AP64350 + L7 + C130; U16 STM32F411RET6; U10 SC16IS752 + Y2; U11 W5500 + U12 + L8 + J10; U13 PCF8574; U14 SP3485; U15 MAX3232; U17 TLV1117LV33; U3 SHT40; U4/U18 TMP102; U26 SC7A20; K1 G5V-1; D10 SMBJ33A + Q10 IRFR5305 + DzG1; C129; paquete LFP (R55 5.6 k, JP2 2-3); conectores P1, P4, P6, P8, P10, P11, P14, P15, P16, H4, J7, J8, J9, J11.}\\ \bottomrule \end{tabular}} \section{Cómo se hizo (reproducible)}\label{sec:comohizo} \begin{itemize} \item Copias de trabajo: \texttt{03-Architecture-Hardware/kicad/\_to\_delete/audit-20261022/\{v56,v57\}/} con el \texttt{.kicad\_pcb}, \texttt{.kicad\_sch}, \texttt{.kicad\_pro}, \texttt{.kicad\_dru}, tablas de bibliotecas y las bibliotecas \texttt{Drogheda.pretty} / \texttt{Drogheda-v6.pretty} / \texttt{*.kicad\_sym}. SHA-256 de las copias = SHA-256 de los originales. \item \texttt{kicad-cli pcb drc --schematic-parity --refill-zones --severity-all --format json}; \texttt{kicad-cli sch export netlist --format kicadsexpr}; \texttt{kicad-cli sch erc}; \texttt{kicad-cli pcb export gerbers --subtract-soldermask --no-protel-ext}; \texttt{export drill --excellon-separate-th --generate-map}; \texttt{export pos}; \texttt{export svg} por capa (KiCad 10.0.4, Mac). \item Relleno fresco con el proyecto cargado: \texttt{pcbnew} de KiCad (Python) en una copia con el mismo nombre de proyecto (\texttt{rf/}), \texttt{ZONE\_FILLER.Fill()}, guardar, exportar Gerber y comparar. Sin el \texttt{.kicad\_pro} al lado, el relleno sale con reglas por defecto y difiere en cientos de mm$^2$: no sirve como referencia (lección del día). \item Comparación de Gerber: parser propio (\texttt{gerb.py}): flashes (aperturas C/R/O/RoundRect/macros) y trazos como conjuntos exactos; regiones rasterizadas a 20 $\mu$m y comparadas por XOR (\texttt{gcmp.py}). \item Netlist: parser s-expr (\texttt{netparse.py}); mapa de pines, nets por bloque, pines al aire, diferencias V5.6/V5.7. \item Cobre: \texttt{copper.py} — grafo de conectividad por red (pads, pistas, vías; sin zonas: las redes de potencia no tienen zonas); prueba Kelvin recortando el área del pad; vías de articulación; potencia en In1/In2. \item BOM/CPL: cruce con las huellas del PCB (atributos DNP, fuera de BOM/posiciones), rotación de huella contra rotación en la CPL, códigos LCSC de la propiedad contra el BOM. \item Pasta: ventanas de \refdes{U6} y pads térmicos de \refdes{U7}/\refdes{U25} medidos sobre \texttt{F\_Paste}; vías dentro de los pads desde el \texttt{.kicad\_pcb}. \item Hojas de datos consultadas en línea el 22-oct: LTC4040 (ADI 4040fb), AP64350 (Diodes, databrief), W5500 (v1.1.0), TPS54360B; piezas en \texttt{jlcpcb.com/partdetail/}: C85100, C32346, C15578, C99550, C840531. \item Figuras: renderizado propio de los Gerber (matplotlib + shapely) con anotaciones; matriz y autonomía con matplotlib. Todo en \texttt{03-Architecture-Hardware/Auditoria-Final-V56-V57/} (fuentes LaTeX, figuras y scripts). \end{itemize}