Cómo crear tu propia calculadora de ancho de pista de PCB con Python
7 min
- Parámetros que hay que tener en cuenta
- Funciones de la calculadora de ancho de pista en Python
- Cómo ejecutar la calculadora en un compilador de Python online
- Código en Python
- Conclusión
Las pistas de una PCB son clave para la capacidad de corriente, la integridad de señal y el comportamiento térmico de cualquier diseño. La IPC-2152 proporciona las fórmulas estándar, pero hacer los cálculos a mano lleva mucho tiempo. En este tutorial vas a crear una calculadora de ancho de pista ligera en Python basada en la IPC-2152. Puedes ejecutarla en cualquier compilador online y contrastar los resultados con la calculadora de impedancia online gratuita de JLCPCB para ajustarte a la fabricación real.
Empecemos con un ejemplo: si estoy diseñando una PCB de potencia y tengo una pista de 10 mm de largo por la que circulan 5 A, ¿qué ancho debe tener? Habría que calcularlo con la IPC, pero en la era de los ordenadores ya nadie hace las cuentas a mano. Claro, puedes usar cualquier calculadora online, pero ¿por qué depender de ellas? Vamos a programar nuestra propia calculadora.
Volviendo a la pregunta principal: ¿qué ancho debe tener tu pista de cobre? La respuesta depende de varios factores, como la corriente que tiene que llevar, el aumento de temperatura admisible, el espesor del cobre y si la pista va en una capa interior o exterior. Para agilizar el proceso, he desarrollado una calculadora de ancho de pista en Python basada en las pautas de la IPC-2152. En este artículo te explico cómo la he diseñado, qué parámetros tiene en cuenta y qué funciones ofrece. Y, por último, cómo puedes ejecutarla en cualquier compilador de Python online.
Parámetros que hay que tener en cuenta
Al diseñar la calculadora se incluyeron los siguientes parámetros clave (basados en la IPC-2152 y en las capacidades de JLCPCB):
1. Capacidad de corriente (A) : la corriente que la pista tiene que llevar de forma segura.
2. Aumento de temperatura (°C) : cuánto puede subir la temperatura de la pista por encima de la ambiente.
3. Tipo de capa : las pistas exteriores disipan mejor el calor que las interiores, así que sus fórmulas son distintas.
4. Peso del cobre (oz/ft²): normalmente 1 oz o 2 oz; influye en el espesor y en la resistencia.
5. Longitud de la pista (mm): importante para calcular la resistencia y la caída de tensión.
6. Ancho de pista (mm): se usa para calcular la corriente máxima a partir de un ancho dado.
El ancho y la separación mínimos de pista en JLCPCB son de 0,10 mm (4 mil) con cobre estándar de 1 oz.
Funciones de la calculadora de ancho de pista en Python
El código es muy ligero y no tiene interfaz gráfica, así que puedes ejecutarlo online en cualquier compilador de Python. Esto es lo que hace la calculadora:
Dos modos:
1) Ancho a partir de la corriente: introduces la corriente y obtienes el ancho de pista necesario.
2) Corriente a partir del ancho: introduces el ancho y obtienes la corriente máxima que admite.
Cálculos adicionales:
- Resistencia de la pista (Ω)
- Caída de tensión (V) para una carga dada
- Pérdida de potencia en la pista (W)
Después de calcular, contrasta siempre los resultados con la calculadora de impedancia online gratuita de JLCPCB y, al pedir presupuesto, selecciona «Impedancia controlada» para que se verifique con una tolerancia de ±10 %.
Cómo ejecutar la calculadora en un compilador de Python online
No necesitas tener Python instalado en tu ordenador para usar esta herramienta. Solo tienes que copiar el código de más abajo y seguir estos pasos:
1. Entra en cualquier compilador de Python online y pega el código. Yo uso Programiz solo como ejemplo; puedes usar el que prefieras.
2. Pulsa «Run».
3. Sigue las indicaciones de la ventana del terminal para introducir tus parámetros.
Primero te pedirá que elijas entre los dos modos: ancho a partir de la corriente o corriente a partir del ancho. Estas son las preguntas y los resultados de cada uno:
Ancho a partir de la corriente:
Corriente a partir del ancho:
Así puedes usar la calculadora desde cualquier dispositivo, incluso sin instalar Python.
Código en Python
import math
def calculate_trace_width(current, temp_rise=10, is_external=True):
# IPC-2152 constants
if is_external:
k = 0.048
b = 0.44
c = 0.725
else:
k = 0.024
b = 0.44
c = 0.725
width_mils = (current / (k * (temp_rise ** b))) ** (1 / c)
width_mm = width_mils * 0.0254
return width_mm
def calculate_trace_properties(width_mm, length_mm, copper_oz):
# Constants
copper_thickness_mm = {1: 0.035, 2: 0.07} # in mm
resistivity = 1.68e-8 # Ohm-meter for copper
# Get thickness
thickness_mm = copper_thickness_mm.get(copper_oz, 0.035)
cross_section_mm2 = width_mm * thickness_mm
# Convert to meters
length_m = length_mm / 1000
area_m2 = cross_section_mm2 * 1e-6
# Resistance
resistance = resistivity * length_m / area_m2
return resistance
# --- Main Program ---
mode = input("Choose mode (1 = Width from Current, 2 = Current from Width): ")
if mode == '1':
current = float(input("Enter current (A): "))
temp_rise = float(input("Enter temperature rise (°C, default 10): ") or 10)
layer = input("Is it external layer? (y/n): ").lower() == 'y'
length_mm = float(input("Enter trace length (mm): "))
copper_oz = int(input("Copper weight (1 or 2 oz): "))
width_mm = calculate_trace_width(current, temp_rise, layer)
resistance = calculate_trace_properties(width_mm, length_mm, copper_oz)
voltage_drop = current * resistance
power_loss = current ** 2 * resistance
print(f"\n--- Results ---")
print(f"Required trace width: {width_mm:.3f} mm")
print(f"Trace resistance: {resistance:.4f} Ω")
print(f"Voltage drop: {voltage_drop:.4f} V")
print(f"Power loss: {power_loss*1000:.2f} mW")
elif mode == '2':
width_mm = float(input("Enter trace width (mm): "))
temp_rise = float(input("Enter temperature rise (°C, default 10): ") or 10)
layer = input("Is it external layer? (y/n): ").lower() == 'y'
length_mm = float(input("Enter trace length (mm): "))
copper_oz = int(input("Copper weight (1 or 2 oz): "))
width_mils = width_mm / 0.0254
if layer:
k = 0.048
else:
k = 0.024
b = 0.44
c = 0.725
current = k * (temp_rise ** b) * (width_mils ** c)
resistance = calculate_trace_properties(width_mm, length_mm, copper_oz)
voltage_drop = current * resistance
power_loss = current ** 2 * resistance
print(f"\n--- Results ---")
print(f"Maximum supported current: {current:.2f} A")
print(f"Trace resistance: {resistance:.4f} Ω")
print(f"Voltage drop: {voltage_drop:.4f} V")
print(f"Power loss: {power_loss*1000:.2f} mW")
else:
print("Invalid option.")Conclusión

Este es un proyecto de Python sencillo pero potente basado en la IPC-2152. Para que funcione bien, tienes que contar con los parámetros correctos y repasar las pautas de la IPC sobre el cálculo de pistas. Los resultados pueden diferir de los de algunas calculadoras online, porque algunas usan una versión anterior de las fórmulas.
Para fabricar de verdad con JLCPCB:
- Usa la calculadora para prototipar rápidamente.
- Comprueba los valores finales con la calculadora de impedancia gratuita de JLCPCB.
- Al hacer el pedido, selecciona «Impedancia controlada» para tener una tolerancia de ±10 % (o ±5 % opcional) y pruebas TDR.
Puedes ampliar fácilmente el código con una interfaz gráfica usando Tkinter o Streamlit. Comparte tu versión y etiqueta a JLCPCB: ¡nos encanta ver las herramientas que crea la comunidad!
Artículos populares
Siga aprendiendo
Ancho de las pistas de PCB: importancia y cómo calcularlo
Diseñar una placa de circuito impreso (PCB) exige conocer bien muchos factores críticos, y el ancho de pista es uno de los más importantes. De él depende en buena medida que un dispositivo electrónico rinda bien, sea fiable y funcione como debe. En esta guía completa vas a ver cómo influye el ancho de pista en la integridad de señal, en la gestión térmica y en el comportamiento eléctrico de la placa. Con los conocimientos y las herramientas adecuadas, como las calculadoras de ancho de pista, podrás to......
Bornas para PCB: guía del ingeniero de diseño para conexiones cable-placa fiables
Puntos clave Evita los modos de fallo: elige bien la sujeción y el montaje para evitar cables flojos, fatiga en las soldaduras y arcos eléctricos. Tornillo o resorte: los bornes de tornillo sujetan con firmeza en entornos con muchas vibraciones, mientras que los de resorte agilizan el cableado. Distancias de seguridad: respeta las distancias de aislamiento a partir de 15 V para evitar arcos eléctricos. Huella optimizada: usa anillos anulares más grandes y cobre de 2 oz para soportar los esfuerzos mecá......
Cómo crear tu propia calculadora de ancho de pista de PCB con Python
Las pistas de una PCB son clave para la capacidad de corriente, la integridad de señal y el comportamiento térmico de cualquier diseño. La IPC-2152 proporciona las fórmulas estándar, pero hacer los cálculos a mano lleva mucho tiempo. En este tutorial vas a crear una calculadora de ancho de pista ligera en Python basada en la IPC-2152. Puedes ejecutarla en cualquier compilador online y contrastar los resultados con la calculadora de impedancia online gratuita de JLCPCB para ajustarte a la fabricación r......
Diseño de PCB con IA: De la instrucción al PCB con EasyEDA Pro
Puntos clave El diseño de PCB con IA utiliza agentes de IA para automatizar la creación del esquema, la selección de componentes, el layout y la verificación dentro de un editor EDA real; no se limita a generar imágenes. El flujo de trabajo conecta EasyEDA Pro con un agente de programación con IA (Claude Code o Codex) a través del EasyEDA API Gateway, la API Skill de código abierto y un servidor puente local. La configuración lleva unos diez minutos y todo funciona en local: los diseños, las llamadas ......
Herramientas de IA para el diseño de PCB: ¿Qué herramienta se adapta a la etapa de tu flujo de trabajo?
Las herramientas de IA ahora pueden asistir con la arquitectura de PCB, la generación de esquemáticos, la selección de componentes, la colocación, el enrutamiento y la verificación del diseño. Sin embargo, diferentes herramientas se enfocan en diferentes etapas del flujo de trabajo de PCB. Esta guía compara las herramientas de IA para el diseño de PCB según lo que realmente hacen, qué entradas requieren y dónde encajan dentro de un flujo de trabajo de ingeniería real. En esta guía, aprenderás: Los 6 t......
GPT 6 y placas PCB: cómo preparar las especificaciones antes de empezar el diseño
Si estás pensando en desarrollar una placa electrónica, seguramente ya tienes una idea de lo que quieres conseguir. Ahora bien, ¿cómo conviertes esa idea en instrucciones claras para empezar a diseñar? Puedes apoyarte en GPT 6 para organizar los requisitos de tus placas PCB, empezando por su función, su alimentación y sus conexiones. En esta guía verás cómo plantear esas necesidades y qué información debes revisar para construir una base útil para tu proyecto. Desde el principio, ten presente cómo se ......
