From the bench

PCA9517D: The Myth of the Symmetric I²C Repeater

August 26, 2026 · AI-generated from the datasheet, fact-checked by two independent LLM critics

The most common misconception about the PCA9517D is that it's a symmetric buffer — that a LOW on one side looks like a LOW on the other. It isn't, and treating it as symmetric is how designs end up with arbitration and clock stretching that silently fail. The B-side (2.7–5.5 V) carries a deliberate ~0.5 V static offset, while the A-side drives a hard LOW near 0 V. That asymmetry is not a quirk; it's the mechanism that makes the part lock-up-free, and it drives nearly every design decision below.

Next step
Start building with PCA9517D → This guide comes from the same grounded, cited datasheet answers — ask the assistant your own PCA9517D questions.

The PCA9517D is a two-channel (SDA + SCL), bidirectional I²C-bus/SMBus repeater that level-translates between a low-voltage side (down to 0.9 V) and a higher-voltage side (2.7–5.5 V). Its job is to join two halves of an I²C bus while isolating them for both voltage and capacitance — each half supports up to 400 pF, so two 400 pF buses can be connected through one part. Typical uses: interfacing a 0.9–1.2 V sensor or MCU to a 3.3 V or 5 V bus, splitting a long/high-capacitance bus into two legal halves, and isolating a hot-pluggable or powered-down segment (all I/Os go high-impedance when unpowered and are overvoltage-tolerant to 5.5 V). The datasheet's reference application is a 3.3 V master bus to a 1.2 V slave bus, both at 400 kHz, with masters allowed on either side.

Wiring the PCA9517D (How do I integrate the PCA9517D into a design?)

The two sides are deliberately asymmetric — wire them accordingly:

Pinout for the SO8 package (PCA9517D, SOT96-1, 3.9 mm body): pin 1 VCCA, 2 SCLA, 3 SDAA, 4 GND, 5 EN, 6 SDAB, 7 SCLB, 8 VCCB. The PCA9517DP is the TSSOP8 (SOT505-1, 3 mm body) variant with the same function.

Topology rules, straight from the datasheet:

Power and enable are forgiving:

For the datasheet's short-cable/board-to-board reference application, copy its concrete values: 75 Ω terminations on the differential pair, pull-ups on the input side, and 10 kΩ pull-downs on the output side. Use it as a template for short-cable links, not long point-to-point traces.

Design rules for the PCA9517D (What do I need to watch out for?)

The 0.4 V rule is the single most important constraint. For the repeater to recognize and forward a LOW that a B-side slave pulls — which is exactly what happens during arbitration and clock stretching — the LOW at the B-side input must reach ≤ 0.4 V. The B-side internal driver's own pull-down LOW sits at only ~0.5 V, with its input threshold set about 70 mV lower at ~0.43 V, so the device deliberately does not recognize its own LOW. An external device must pull below 0.4 V to be heard. If your B-side pull-up/slave combination can't sink the bus to 0.4 V, stretched and arbitrated lows get lost — silently, with no error indication.

Threshold asymmetry extends to first-vs-subsequent LOWs. The B-side specifies V_IL for the first LOW on SDAB/SCLB and V_ILc for the second and subsequent LOWs — two different thresholds. On the A-side, with envelope noise the input must go below 0.3·V_CCA for stable performance. Don't design around a single threshold value.

Timing budget at Fast mode. Propagation delays are direction-dependent (Table 5 max values):

Parameter Max
B→A t_PLH 250 ns
B→A t_PHL (V_CCA ≥ 3 V) 300 ns
A→B t_PLH 110 ns
A→B t_PHL 230 ns
B-side rise t_t(LH) 170 ns
A-side rise t_t(LH) 30 ns

The B-side rise time (up to 170 ns) is the slowest edge the part produces and dominates the rise-time budget at 400 kHz. For series chains, the worst-case per-stage delay is the B→A path, up to 300 ns; as a working estimate, holding total per-hop delay to about a third of the bit period gives roughly 2–3 stages at 400 kHz and up to ~11 at 100 kHz — that margin fraction is engineering practice, not a datasheet spec, so verify on your scope.

EN has a level and a timing constraint. EN must be HIGH at least 100 ns before START and held at least 100 ns after STOP, and it should only change state when the global bus and the repeater port are idle — never mid-transaction. EN also draws a small but real input current (IIL(EN) typ −10 µA, max −30 µA at V_I = 0.2 V, V_CC = 3.6 V).

Absolute limits. DC current on any pin: max 50 mA. Total power dissipation: max 100 mW. Ambient −40…+85 °C, junction max 125 °C, abs-max voltages −0.5 to +7 V on the supplies and B-side bus/EN. Standard-mode devices only guarantee 3 mA drive, which limits termination current to 3 mA in a generic multi-master system.

Known limitation: the datasheet specifies no decoupling capacitor value, no external ESD/clamp components, and no pull-up resistor formulas. The 5.5 V overvoltage tolerance is a hot-plug margin, not an IEC-ESD rating — external clamp protection for harsh cable environments is general practice, not a documented spec here.

Testing the PCA9517D (How do I verify my PCA9517D circuit works?)

Electrical specs are defined over V_CC = 2.7–5.5 V, GND = 0 V, T_amb = −40 to +85 °C. One structural fact to keep in mind: all logic and I/Os are powered from V_CCB; V_CCA only supplies the 0.3·V_CCA reference to the A-side input comparators and the power-good detector. The A rail's pull-up level, not the chip logic, sets the A-side HIGH level.

  1. Power-up: apply V_CCB within 2.7–5.5 V and V_CCA within its adjustable range; confirm drivers stay off until V_CCB > 2.5 V and V_CCA > 0.8 V, then go active only after EN is HIGH.
  2. Functional translation: drive a LOW on each side. An A-side LOW below 0.3·V_CCA must turn the B-side driver on (~0.5 V, then released to the pull-up); a B-side LOW must pull the A-side to ~0 V (0.1 V typ / 0.2 V max at 6 mA).
  3. Arbitration/clock-stretch check: trigger a real arbitration or clock-stretching event (two masters, or a stretch-capable slave) while probing the B-side input. Set a scope threshold at 0.4 V and verify B-side SDA/SCL dips below it during the event — anything above 0.4 V means the event is silently lost.
  4. Timing: measure against Table 5 using the datasheet's waveform references — output measured at 50%·V_CCA if V_CCA < 2 V, or at 1.5 V if V_CCA > 2 V, with a 0.5 V input threshold on the rising input edge. Watch the B-side rise (max 170 ns) at your pull-up value and bus capacitance, and confirm EN setup/hold of ≥100 ns around START/STOP.
  5. Full-bus run: operate at your target rate (e.g. 400 kHz) with real slaves on both sides, confirm ACK levels, and toggle EN only while idle.
  6. Margin sanity: verify bus LOW current keeps every pin under 50 mA DC and total dissipation under 100 mW across temperature.

Troubleshooting (Why is my PCA9517D circuit misbehaving?)

One last note on supply current: there's no deep-sleep mode. Idle-HIGH supply current (ICCH) is 1.5 mA typ / 5 mA max, quiescent current in contention (ICCAc) is the same 1.5 mA typ / 5 mA max, and the V_CCA pin draws at most 1 mA — so the chip's own draw is essentially flat between idle and active. Budget ~5 mA max for the part plus whatever your external pull-ups sink.

Part page: PCA9517D.