All jobs / Embedded / hardware
Electronics interview questions
Electronics questions a Embedded / hardware can be asked, from first job to senior. Open one to see the strongest answer and why it works.
An LED runs from a 3.3 V pin and its datasheet says it drops about 2 V at the current you want. How do you size the series resistor?
The strongest answer: The resistor takes the leftover 1.3 V, so its value is 1.3 volts divided by the current I want; then I round up to a standard value and check the pin can source that current
Why it works: Right — subtract the drop, apply Ohm’s law, then sanity-check the pin’s current limit, which is the step people skip.
- The resistor sees supply minus the LED drop.
- R is volts across it over current.
- Round up to a standard value.
- Check the pin’s current limit.
A reset pin “randomly” browns the board. First hardware question?
The strongest answer: Is it floating — pull-up/down, solder, and the reset source — I do not start by rewriting the scheduler
Why it works: Exactly. Floating resets are electrical. Mutexes do not solder a resistor.
- Check float vs pull.
- Look at solder and the reset source.
- Do not start in the scheduler.
- Do not leave reset floating.
The board “reboots when the motor starts.” First electrical thought?
The strongest answer: Supply sag / brownout — I look at rails, decoupling, and the brownout detector, not a new state machine first
Why it works: Exactly. Motors kick rails. Disabling BOD is how you run on garbage and corrupt flash.
- Suspect rail sag with motors.
- Check decoupling and BOD.
- Do not start in the state machine.
- Do not disable brownout detect.
In reset, before your code runs, a GPIO drives a heater FET. What should you have designed?
The strongest answer: A hardware default that is safe — pull that keeps the FET off — software is late to the party
Why it works: Exactly. Power-up is hardware. Faster C does not beat the pad default.
- Safe hardware default on actuators.
- Software starts too late.
- Do not race main() against a FET.
- Do not default heaters on.
A 5 V sensor output goes straight into a 3.3 V MCU pin. What is your concern, and what do you do?
The strongest answer: Unless that pin is rated 5 V tolerant, 5 V pushes current into its protection diode and damages it; I check the datasheet, then add a level shifter, or a divider if the signal is slow
Why it works: Right — tolerance is a per-pin property in the datasheet, and the other direction matters too: 3.3 V may not reach a 5 V input’s high threshold.
- Check pin voltage tolerance in the datasheet.
- 5 V into a 3.3 V pin needs shifting.
- A divider only suits slow signals.
- Check the 5 V input’s high threshold too.
A low-side MOSFET switching a motor gets hot, even though the datasheet promises a very low on-resistance.
What do you look at?
The strongest answer: The gate drive. On-resistance is quoted at a gate voltage, so 3.3 V into a part that wants 10 V leaves it half on; I check that rating, the drive level and how fast the edges are
Why it works: Exactly — and slow edges heat it too, because it spends longer in the linear region on every switch.
- On-resistance is quoted at a gate voltage.
- Match the FET to your drive level.
- Keep edges fast enough to leave linear.
- Pulldown on the gate for reset.
ADC readings wander with the rail. What did the design forget?
The strongest answer: A reference and a layout that respects it — I do not “calibrate in software” a floating AVDD and call it done
Why it works: Exactly. A reference. Bits and averages of a wandering rail are prettier wander.
- Give the ADC a real reference.
- Software cannot invent a rail.
- More bits ≠ a reference.
- Do not average a sag and ship it.