Every robot project you’ll ever build will contain at least one resistor. They’re the unsung heroes sitting quietly on your breadboard, keeping everything else alive.
What is a Resistor?
A resistor is a passive electronic component that opposes the flow of electrical current. The more resistance, the less current gets through. Resistance is measured in ohms (Ω) — named after Georg Simon Ohm, who worked out the relationship between voltage, current, and resistance back in the 1820s.
You’ll find resistors in values ranging from a few ohms up to megaohms (millions of ohms). Common values you’ll reach for time and again:
- 220Ω — protecting an LED from a 3.3V or 5V GPIO pin
- 10kΩ — pull-up or pull-down resistors for buttons and switches
- 1kΩ — general-purpose current limiting
Resistors come in through-hole (those small cylinders with coloured stripes) and surface-mount (tiny rectangles on a PCB). Through-hole resistors are what you’ll use on a breadboard. Read the value from the colour bands printed on the body.
The symbol and the bands
A resistor has no polarity — it goes in either way round. On a schematic it’s a zig-zag (or a plain rectangle in newer drawings), and on the physical part the colour bands encode its value:
Schematic symbol Reading the bands (4-band)
──/\/\/\── (zig-zag) │ │ │ │
or │ │ │ └ tolerance (gold = ±5%)
──▭▭▭▭── (box) │ │ └─── multiplier (×10ⁿ)
│ └───── 2nd digit
no + or − : fits └─────── 1st digit
either way round
e.g. red-red-brown-gold = 2,2 ×10 = 220 Ω, ±5%
In a circuit
The job you’ll wire most often: a current-limiting resistor in series with an LED, protecting it (and the GPIO pin) from too much current:
flowchart LR
GPIO["GPIO pin<br/>3.3 V"] -->|"220 Ω<br/>(limits current)"| LED["LED"]
LED --> GND["Ground"]
Without that resistor the LED draws far more than the ~10 mA it wants and burns out in seconds — one cheap component standing between a working circuit and a dead LED.
Why Robot Builders Care
Your microcontroller’s GPIO pins — whether on a Raspberry Pi Pico, Arduino, or ESP32 — can typically only source or sink around 10–20 mA of current. LEDs and other components will happily draw far more than that and burn themselves out (or fry the pin) without something to limit the flow.
Resistors do three important jobs in robot circuits:
- Current limiting — protect LEDs, transistors, and sensitive inputs
- Pull-up / pull-down — hold a GPIO pin at a known logic level when a button isn’t pressed
- Voltage dividers — scale a signal down, for example making a 5V sensor output safe for a 3.3V input pin
Understanding resistors means you can wire up sensors, buttons, LEDs, and motor drivers with confidence rather than crossing your fingers and hoping nothing gets hot.
Get Started
The best way to get comfortable with resistors is to wire up an LED correctly. Connect a 220Ω resistor in series between a GPIO pin and the positive leg of an LED, then connect the other LED leg to ground. That one resistor is the difference between a working circuit and a dead LED.
The Raspberry Pi Pico GPIO Mastery course walks you through exactly this — blinking LEDs, reading buttons (with pull-down resistors), and using potentiometers (variable resistors) to control things with a twist of a dial.
If you want a broader look at how power, voltage, and components interact, the Power up your robot projects post covers batteries, voltage levels, and why getting the numbers right matters for your whole build.
For a handy reference you can keep on the workbench, the Robot Makers Almanac has resistor colour codes, common values, and the Ohm’s Law formula all in one place.
Once you’re confident with fixed resistors, explore reed switches — they pair with a pull-up resistor to give your robot a simple magnetic sensor with just two components and three wires.
Reacts well with
More Electronics Foundations
- OhOhm's Law
- ElElectronics
- CiCircuits
- BrBreadboard
- SoSoldering
- CaCapacitors
- TrTransistors
- PbPCB Design
- MmMultimeter
- ToTools
Learn more on KevsRobots
Courses
Articles to read
Share this element
This page is awesome? Show some love!Did you find this content useful?
If you found this high quality content useful please consider supporting my work, so I can continue to create more content for you.
I give away all my content for free: Weekly video content on YouTube, 3d Printable designs, Programs and Code, Reviews and Project write-ups, but 98% of visitors don't give back, they simply read/watch, download and go. If everyone who reads or watches my content, who likes it, helps fund it just a little, my future would be more secure for years to come. A price of a cup of coffee is all I ask.
There are a couple of ways you can support my work financially:
If you can't afford to provide any financial support, you can also help me grow my influence by doing the following:
Thank you again for your support and helping me grow my hobby into a business I can sustain.
- Kevin McAleer
Comments