BSS138 PCB Design Guide: Footprint, Pinout, and Alternatives
50 V 220 mA N-channel MOSFET; standard bidirectional level-shifter part
The BSS138 is a 50 V, 220 mA N-channel small-signal MOSFET in SOT-23, and it owes its fame to one circuit: the single-FET bidirectional logic-level shifter popularized by breakout-board vendors. Gate to the low-voltage rail, source on the low-voltage bus, drain on the high-voltage bus, a pull-up on each side — and a 3.3 V I2C bus talks to a 5 V one with no direction pin.
It is worth being precise about what the part is: a signal MOSFET with an on-resistance measured in ohms, not milliohms. The onsemi datasheet specifies RDS(on) at VGS = 4.5 V (6.0 Ω max) and at 10 V (3.5 Ω max) — there is no 5 V test condition, despite what many tutorials quote. Six ohms and a 220 mA continuous rating make it entirely wrong for switching LED strips or motor loads; that job belongs to a power FET.
Within its actual job, the failure modes are predictable: bus speed limited by the pull-up RC rather than the FET, marginal threshold headroom on 1.8 V rails, and wide parameter spread among the many clones sold under the same marking. Each is covered below.
What breaks boards
How the bidirectional level-shifter actually works
Gate ties to the low-voltage rail, source to the low-voltage bus line, drain to the high-voltage bus line, with a pull-up resistor on each side. Idle, both lines sit at their own rails and the FET is off (VGS ≈ 0). When the low side drives low, VGS rises above threshold, the FET conducts, and the high side is pulled down. When the high side drives low, the body diode first drags the source down, which develops VGS and turns the channel on to finish the pull. Both directions work passively — that is the whole trick, and why open-drain buses suit it so well.
Speed is set by your pull-ups, not the FET
The FET itself is fast — 18 ns max rise, 14 ns max fall, Ciss only 27 pF — so in the shifter the rising edge is set entirely by pull-up resistance times bus capacitance. A 4.7 kΩ pull-up into ~50 pF of bus gives a ~235 ns time constant, well past the 120 ns rise budget of 1 MHz Fast-mode Plus I2C. Standard 100/400 kHz I2C is fine; 1 MHz and fast SPI are marginal to broken unless you drop the pull-ups and minimize bus capacitance. Do the RC arithmetic for your values before committing.
It is a signal FET, not a load switch
RDS(on) is 6.0 Ω max at VGS = 4.5 V (3.5 Ω max at 10 V) and continuous drain current is 220 mA. At even 200 mA a worst-case part drops over a volt and dissipates a quarter watt in a SOT-23. People routinely burn BSS138s switching LED strips, relays, and small motors — for actual current, use a low-RDS(on) power FET such as an AO3400A.
1.8 V rail shifting is marginal — check the threshold
VGS(th) spans 0.8 V min to 1.5 V max (at 1 mA). With the gate on a 1.8 V rail, a worst-case part has only 0.3 V of enhancement beyond threshold, and the threshold spec is defined at just 1 mA of drain current — the transfer curve at low VGS decides whether your shifter pulls the line down fast enough. It often works with typical parts and fails with corner ones. For 1.8 V buses, use a shifter designed for it.
Clone spread is wide
BSS138 is one of the most cloned markings in the business, and threshold voltage and capacitance vary noticeably between vendors. A level shifter tuned around genuine onsemi parts can misbehave with bargain stock — edges slow down or 1.8 V operation stops working. Buy from authorized distribution for production, and re-verify timing if you second-source.
Key specifications
| Parameter | Value | Source |
|---|---|---|
| VDS | 50 V (VDSS, absolute maximum) | BSS138/D Rev. 7, Absolute Maximum Ratings table |
| ID | 220 mA continuous (880 mA pulsed) | BSS138/D Rev. 7, Absolute Maximum Ratings table (Note 1) |
| RDS(on) | 6.0 Ω max / 1.0 Ω typ at VGS = 4.5 V, ID = 0.22 A; 3.5 Ω max / 0.7 Ω typ at VGS = 10 V | BSS138/D Rev. 7, Electrical Characteristics, On Characteristics |
| VGS(th) | 0.8 V min / 1.3 V typ / 1.5 V max (VDS = VGS, ID = 1 mA) | BSS138/D Rev. 7, Electrical Characteristics, On Characteristics |
| Ciss | 27 pF typ (VDS = 25 V, VGS = 0 V, f = 1.0 MHz); Coss 13 pF typ, Crss 6 pF typ | BSS138/D Rev. 7, Electrical Characteristics, Dynamic Characteristics |
| Package | SOT-23-3 (Case 318-08), Pb-free and halogen free | BSS138/D Rev. 7, page 1 and Ordering Information |
Verified against the manufacturer datasheet on 2026-07-09. Confirm the current revision before production use.
Alternatives
- 2N7002 — the other jellybean SOT-23 signal FET — near-equivalent specs and the same level-shifter duty. Whichever is cheaper or in stock usually wins.
- TXS0108E — an 8-channel auto-direction level translator when discrete FETs get tedious — but its one-shot edge accelerators are glitch-prone with strong external pull-ups; read its app notes first.
- AO3400A — what to use when you actually need to switch current: a real low-RDS(on) power FET in the same SOT-23 footprint, good for several amps.
Common questions
- How does the BSS138 level-shifter circuit work?
- Gate to the low-voltage rail, source on the low-voltage bus, drain on the high-voltage bus, pull-ups on both sides. When either side drives low the FET (helped by its body diode in the high-to-low direction) conducts and pulls the other side down; idle, both sides rest at their own rails. It is bidirectional with no direction control, which is why it is the standard I2C shifter.
- How fast can a BSS138 I2C level shifter run?
- 100 kHz and 400 kHz I2C are comfortable. At 1 MHz Fast-mode Plus and for fast SPI the rising edge — set by your pull-up resistance times bus capacitance, not by the FET — usually blows the timing budget: 4.7 kΩ into ~50 pF is already a ~235 ns time constant. Stronger pull-ups and short traces buy some margin; check the RC math for your bus.
- What is the RDS(on) of the BSS138?
- 6.0 Ω max (1.0 Ω typical) at VGS = 4.5 V, and 3.5 Ω max (0.7 Ω typical) at VGS = 10 V, per the onsemi datasheet — note it specifies 4.5 V and 10 V test conditions, not the 5 V figure many tutorials cite. Ohms, not milliohms: this is a signal FET.
- Can a BSS138 switch an LED strip or a relay?
- No. Continuous drain current is 220 mA and worst-case on-resistance is 6 Ω at logic drive, so real loads cook it. Use a proper power MOSFET such as an AO3400A (SMD) or a logic-level TO-220 part for amps of load current.