I smelled it before I saw it. That unmistakable scent of hot epoxy and regret wafting up from a SOT-23 package that was doing its best impression of a space heater. The board was a sensor hub — an STM32G0, a handful of I2C sensors, and a 2A solenoid valve for a fluid dosing system. The solenoid ran off the 3.3V rail through a P-channel MOSFET high-side switch, controlled by a GPIO pin.
The MOSFET was a Vishay Si2301CDS. Rated for 3.1A continuous drain current. I was switching 2A. Plenty of margin, right?
The design
The circuit was textbook. P-FET source tied to the 3.3V rail, drain to the solenoid, gate driven directly by an STM32G0 GPIO. When the GPIO goes low, the gate is at 0V, the source is at 3.3V, and . The FET turns on. When the GPIO goes high (3.3V), , FET turns off. Simple.
I picked the Si2301CDS because it's cheap (~$0.16 in volume), it's everywhere, it's in a SOT-23-3, and it's rated for 3.1A. The load is 2A. That's 65% of the rated current. Should be fine.
The symptom
On first power-up, the solenoid clicked on and off as expected. The firmware was happy. But after about thirty seconds of continuous on-time, I touched the FET and yanked my finger back. It was easily above 90°C. Not "warm" — genuinely hot. In a SOT-23 package with minimal copper pour.
The solenoid still worked. The 3.3V rail was a bit droopy under load — maybe 3.18V — but nothing catastrophic. Yet. Give it another few minutes in a 45°C enclosure and this thing was going to either desolder itself or burn the trace.
Wrong turn #1: More copper
Obviously a thermal issue, right? I reworked the layout to give the FET more copper on the drain pad. Added thermal vias. The junction temperature dropped maybe 10°C. Still way too hot.
Wrong turn #2: "It's within rating"
I kept staring at the parametric spec: 3.1A continuous drain current. My load was 2A. The power dissipation rating was 860mW at . How much power could this thing possibly be dissipating?
That's the question I should have asked on day one. I didn't. I just assumed that a 3A-rated FET switching 2A would have trivial losses.
Asking the right question
Eventually I asked my AI agent — the one with SheetsData tools configured — "Why is my Si2301CDS overheating at 2A with a 3.3V gate drive?"
The agent's first move was to pull the part details. What came back included this line:
| Spec | Value |
|---|---|
| Rds On (Max) @ Id, Vgs | 112 mΩ @ 2.8A, 4.5V |
| Drive Voltage (Max Rds On, Min Rds On) | 2.5V, 4.5V |
| Power Dissipation (Max) | 860 mW () |
And there it was. The headline of 112 mΩ is specified at . My circuit drives . That's a completely different operating point.
The "Drive Voltage" field is the clue most people miss. It shows two numbers: 2.5V (the voltage where max is specified) and 4.5V (the voltage where the min/typical is specified). The 112 mΩ everyone sees in the parametric table is the good number — at 4.5V. The at 2.5V is a separate, much larger spec buried in the full datasheet's electrical characteristics table.
For the Si2301CDS, the datasheet's electrical characteristics show:
| Condition | max |
|---|---|
| , | 112 mΩ |
| , | 220 mΩ |
At — my actual operating point — the is somewhere between these two values. Interpolating the curve, it's roughly 160–200 mΩ. Not 112 mΩ.
The math that explains the smoke
Power dissipation in a MOSFET used as a DC switch:
With the headline spec (112 mΩ at 4.5V):
That's within the 860 mW package limit. Looks safe. But with the actual at (worst case ~200 mΩ):
That's 93% of the 860 mW absolute maximum — at room temperature. The SOT-23 thermal resistance () is around 150°C/W for the Si2301. At 0.8W:
Junction temperature at : 145°C. The absolute max is 150°C. And here's the vicious part: increases with temperature. At 125°C junction temperature, the on-resistance is typically 1.5–2x the 25°C value. So the real dissipation is even higher than 0.8W, which pushes the temperature higher, which increases further. Thermal runaway in a SOT-23.
In a 45°C enclosure — which is what this product ships into — the math doesn't just fail. It fails spectacularly.
Finding the right part
I asked the agent to find a P-channel MOSFET that actually specifies at low gate voltages. It searched for alternatives and pulled up the Alpha & Omega AO3401A — same SOT-23 footprint, and critically, it specs at three gate voltage levels:
| Condition | max |
|---|---|
| , | 50 mΩ |
| , | 60 mΩ |
| 85 mΩ |
That last line is the important one. The AO3401A guarantees a maximum of 85 mΩ at — a lower gate voltage than my circuit even provides. It's explicitly designed for logic-level gate drive.
When the agent analyzed the vs characteristic curve from the AO3401A's datasheet, the numbers got even better:
| typ (25°C) | typ (125°C) | |
|---|---|---|
| -2.5 V | ~79 mΩ | ~107 mΩ |
| -3.3 V | ~55 mΩ | ~76 mΩ |
| -4.5 V | ~45 mΩ | ~65 mΩ |
At my operating point (, ):
The AO3401A also has a higher power dissipation rating — 1.4W vs 860mW. So 0.22W is only 16% of the thermal budget, even before adding copper. Even at 125°C junction temperature with the worst-case curve:
Still only 21% of the package limit. No thermal runaway. No smoke. The junction temperature rise at 0.22W with is about 24°C. Barely warm to the touch.
Side-by-side comparison
| Spec | Si2301CDS | AO3401A |
|---|---|---|
| max | -20 V | -30 V |
| continuous | -3.1 A | -4.0 A |
| max @ | 112 mΩ | 60 mΩ |
| max @ | 220 mΩ | 85 mΩ |
| max | -1.0 V | -1.3 V |
| () | 860 mW | 1.4 W |
| Package | SOT-23-3 | SOT-23-3 |
| Price (qty 1k) | ~$0.19 | ~$0.21 |
Same footprint. Two cents more. The AO3401A has lower at every gate voltage, higher current rating, higher power dissipation, and higher headroom. The Si2301 wins on absolutely nothing in a 3.3V-driven application.
The fix
Swapped the Si2301CDS for the AO3401A. Same footprint — no board respin required. The solenoid switches cleanly, the FET barely gets warm (measured ~38°C at after five minutes of continuous on-time), and the 3.3V rail sags to 3.24V under load instead of 3.18V because there's less drop across the switch.
Total fix time once I understood the problem: about ten minutes of soldering. Total time wasted before that: a day and a half.
The lesson in three sentences
The headline on a MOSFET parametric listing is almost always specified at the highest recommended gate voltage — not your gate voltage. If you're driving a P-FET from a 3.3V GPIO, you need the at , which can be 2–3x worse than the number you see on DigiKey. A part that says "logic-level" explicitly specs at low (typically 2.5V or even 1.8V) — if the datasheet doesn't spec it at your gate voltage, pick a different FET.
Check the at your actual gate voltage. Not the headline number. The actual one.