Calculadora de Resistencia Pull-Up I²C

Valor óptimo según velocidad y capacitancia

Required Parameters

V
F

Waiting for input data...

Ad Placement
Sidebar Adaptive Ad Slot

Quick Answer

Min pull-up: Rp_min = (Vcc - Vol_max) / Iol (typically 3mA). Max pull-up: Rp_max = tr / (0.8473 × Cb). Standard mode 100kHz with 50pF bus: ~4.7kΩ.

Design Notes

I²C uses open-drain drivers. Pull-ups must source enough current to charge bus capacitance within the rise time spec. Lower resistance = faster rise time but more power. Higher resistance = less power but slower edges. For 400kHz Fast Mode, keep bus capacitance under 400pF. Use 2.2kΩ-4.7kΩ for most 3.3V designs.

Common Mistakes

  • 1

    Using 10kΩ pull-ups at 400kHz — too slow for the rise time requirement.

  • 2

    Forgetting to include all device and trace capacitance in the bus capacitance total.

  • 3

    Putting pull-ups on BOTH ends of a long cable — use only one set.

Knowledge Base

¿Qué valor de pull-up usar para I²C?

4.7kΩ para 100kHz estándar a 3.3V, 2.2kΩ para 400kHz rápido, 1kΩ para 1MHz Fast Mode+. El valor exacto depende de la capacitancia del bus y voltaje.

¿Por qué I²C necesita pull-ups?

I²C usa salidas open-drain. Los dispositivos solo pueden llevar el bus a BAJO. Los pull-ups lo llevan a ALTO cuando ningún dispositivo lo controla.

¿Cuántos dispositivos puedo conectar?

Teóricamente 128 (7 bits). Prácticamente 8-15 por capacitancia del bus (máx 400pF). Para más, use multiplexor TCA9548A.

¿Dónde colocar los pull-ups?

UN solo juego en el bus, típicamente junto al maestro. NO ponga pull-ups en cada dispositivo — se ponen en paralelo y reducen la resistencia total.