Calculadora de resistencia pull-up (I²C y drenador abierto)

Introduce la tensión de alimentación, la tensión de salida en nivel bajo y la corriente que admite el dispositivo más débil, el tiempo de subida permitido y la capacidad del bus. La calculadora da el rango de resistencias pull-up válidas y comprueba la que has elegido.

V
V
mA
ns
pF
kΩ
Pull-up mínima967 Ω
Pull-up máxima3541 Ω
Tu resistencia
Dentro del rango
Corriente con tu resistencia
1,318 mA
Tiempo de subida con tu resistencia (30–70 %)
186,4 ns
Constante de tiempo RC
220 ns

Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.

Cómo usarla

  1. Introduce la tensión de alimentación VDD y la tensión máxima en nivel bajo VOL del dispositivo más débil del bus.
  2. Introduce la corriente IOL que ese dispositivo garantiza a VOL.
  3. Introduce el tiempo de subida máximo y la capacidad total del bus (pines, pistas, cable).
  4. Si quieres, introduce en kΩ la resistencia que piensas usar para comprobarla.

Fórmulas

  • Mínima: R_min = (VDD − VOL) / IOL.
  • Máxima: R_max = tr / (0,8473 × Cb), donde 0,8473 = ln(0,7 / 0,3) es el tiempo que tarda un flanco RC en subir del 30 % al 70 % de VDD, en unidades de RC.
  • Con tu resistencia: corriente (VDD − VOL) / R, tiempo de subida 0,8473 × R × Cb, constante de tiempo R × Cb.

Si R_min es mayor que R_max, ninguna resistencia cumple los dos límites: acorta el bus, quita dispositivos, usa un modo más lento o un pull-up activo o buffer de bus.

Ejemplo resuelto

Bus de 3,3 V en Fast-mode con VOL = 0,4 V, IOL = 3 mA, tr = 300 ns y Cb = 100 pF:

  • R_min = 2,9 ÷ 0,003 = 967 Ω;
  • R_max = 300 × 10⁻⁹ ÷ (0,8473 × 100 × 10⁻¹²) = 3541 Ω.

Una resistencia de 2,2 kΩ está dentro del rango: absorbe 1,318 mA con la línea en bajo y sube en 186,4 ns.

Consejos y errores frecuentes

  • Un par por bus. Muchos módulos traen sus propias pull-up; varias en paralelo pueden quedar por debajo de R_min.
  • Mide la capacidad si el bus es largo: los cables añaden decenas de pF por metro.
  • Más baja es más rápida, pero consume más. Elige un valor cerca de R_max para bajo consumo y cerca de R_min para velocidad.

Preguntas frecuentes

¿Cómo se calcula la resistencia pull-up mínima del I2C?

R_min = (VDD − VOL) / IOL. El driver debe bajar la línea a VOL o menos sin absorber más de IOL. A 3,3 V con VOL de 0,4 V y 3 mA, R_min = 2,9 ÷ 0,003 = 966,67 Ω.

¿Cómo se calcula la resistencia pull-up máxima?

R_max = tr / (0,8473 × Cb). La línea se carga a través de R sobre la capacidad del bus, y tr se mide del 30 % al 70 % de VDD, lo que dura ln(0,7/0,3) = 0,8473 constantes de tiempo. Con 300 ns y 100 pF, R_max = 3541 Ω.

¿Qué tiempo de subida y corriente pongo para I2C?

La especificación I²C fija un tiempo de subida máximo de 1000 ns en Standard-mode (100 kHz), 300 ns en Fast-mode (400 kHz) y 120 ns en Fast-mode Plus (1 MHz), y una corriente de 3 mA con VOL de 0,4 V en Standard y Fast-mode (20 mA en Fast-mode Plus). Consulta las hojas de datos de tus dispositivos.

¿Sirve para un pulsador o una entrada GPIO?

Sí. Con un pulsador los límites son amplios: al pulsar circula VDD / R, y la constante RC con la capacidad del pin y del cable marca lo rápido que vuelve la línea a nivel alto. Es habitual usar de 4,7 kΩ a 10 kΩ; valores muy altos captan ruido.

Más en Conversores de unidades

Todas las herramientas de la categoría: Conversores de unidades ·Actualizado el 6 de noviembre de 2026

Opciones de privacidad

Google Analytics nos muestra qué herramientas se usan y si funcionan. Puede usar cookies. Tu elección se guarda en este navegador.