
The Resistor You Pick Can Make or Break an Embedded Design
The Resistor You Pick Can Make or Break an Embedded Design
We spend weeks picking an MCU, debugging firmware, squeezing the power rails — then reach for whatever 10kΩ 0402 is already in the BOM library. It's a reflex every engineer has. And it's exactly where ADC errors, excess current draw, and temperature-related field failures creep in. Here is what we actually look at when a resistor goes into an embedded design.
Pull-Up and Pull-Down: The Silent Power Consumer
The classic mistake is 1kΩ pull-ups on I²C lines, justified as "stronger pull-up = faster rise time." On a 3.3V bus, that's 3.3mA per line. Continuously. Now count the pins on a typical board: SDA and SCL, a reset pin, an interrupt line, a boot-strap pin. Five pull-ups at 1kΩ burn 16.5mA without ever stopping — more than some low-power MCUs consume in active mode.
For 100kHz I²C we usually go with 4.7kΩ and stop second-guessing. At 400kHz, 2.2kΩ works. But do the RC math either way: rise time is set by the pull-up resistance against total bus capacitance — trace plus pin capacitance, typically 10-50pF. A 2.2kΩ pull-up against 50pF gives τ = 110ns, comfortably inside I²C fast-mode plus timing. It's thirty seconds of calculation before you copy a reference design, and we've traced more than one marginal bus to skipping it.
Current Sense: Kelvin Connection Matters
Measuring motor current or battery charge current with a shunt? Start from the layout, not the tolerance spec. A 10mΩ shunt at 5A produces 50mV — a small signal that layout errors eat alive. If your sense traces tap into the high-current path 5mm away from the resistor pads, you've added the copper trace resistance between the tap points and the resistor terminals to your measurement.
Work the numbers once: 1oz copper, 5mm long, 1mm wide trace is approximately 2.5mΩ. On a 10mΩ shunt, that's 25% error. The fix is a Kelvin (4-wire) connection: run separate sense traces directly from the resistor pads to the amplifier input, carrying essentially zero current. Most SMD shunt resistors — the Vishay WSL series included — have dedicated Kelvin sense pads for exactly this reason.
Voltage Divider: Account for ADC Input Impedance
SAR ADCs — like the ones in the STM32 and MSP430 families — have a switched-capacitor input. During sampling, the internal capacitor charges through your source impedance. Two 100kΩ divider resistors give a Thevenin equivalent of 50kΩ. Feed a 12-bit ADC with a 4pF sampling capacitor from that and the RC time constant is 50kΩ × 4pF = 200ns. Twelve-bit settling needs roughly 9 time constants (e to the -9 = 0.01% error), so 1.8µs per sample.
Then check the ADC's sampling time register. Set to fewer ADC clock cycles than required and your readings are consistently wrong — the kind of bug that has you chasing ghosts in firmware for days. We've debugged that exact symptom more than once. The fix: drop the divider to the 10kΩ range, or put an op-amp buffer between the divider and the ADC input.
Temperature: Know Your TCR
Most embedded products run from -40°C to +85°C — +105°C if it's automotive. A standard thick-film resistor with 200ppm/°C TCR shifts 2.5% over that 125°C span. Put one in a voltage reference divider and your "3.3V" rail reads 3.22V on a cold morning, 3.38V in a hot enclosure. For precision analog we default to thin-film (25-50ppm/°C), or we specify 1% tolerance with 100ppm/°C maximum.
Digital pull-ups? TCR does not matter at all. A 10kΩ drifting to 10.5kΩ still pulls the line up fine. Spend the BOM cost where it shows up in measurements.
Quick Selection Table
| Application | Recommended Type | Key Parameter |
| I²C pull-up | Thick-film 5%, 0402/0603 | Match to bus capacitance |
| Current sense | Metal strip (e.g. WSL) | 4-terminal Kelvin, <1% tolerance |
| Voltage divider (ADC) | Thin-film 1%, 0603 | Low TCR (≤50ppm), impedance <10kΩ |
| LED current limit | Thick-film 5%, 0603 | Power rating: I²R < 60% rated |
| Gate drive | Thick-film 1%, 0805 | Pulse power rating, low inductance |
Next time you reach for a resistor, spend 30 seconds on two questions: what tolerance here actually affects performance, and what impedance does this node really need? That's usually the whole answer.
Looking for specific resistor series or cross-reference options? Search 10M+ parts on PartsCube Global.
References
Written by Tom Harrison
Embedded Systems Engineer · Shenzhen, China
Tom designs and reviews embedded systems projects at PartsCube Global, from MCU selection to wireless modules. He has built products for IoT, industrial control and consumer devices.
View all articles by Tom →Need help sourcing these components?
PartsCube Global stocks all alternatives mentioned in this guide. Search our catalog or submit your BOM for a quote.
Chat on WhatsApp