
Push Buttons — SIK Circuit 5
Instructions
Parts & Introduction
Parts & Introduction
Push buttons are the simplest digital input. This experiment uses two buttons with an XOR logic gate: the LED turns on if you press either button, but turns off if you press both. You'll learn about digitalRead(), pull-up resistors, and boolean logic.
Parts Needed
- 1x Arduino Uno + USB cable
- 1x Breadboard
- 2x Push Buttons
- 1x LED (any color)
- 1x 330Ω Resistor
- 2x 10KΩ Resistors (pull-ups)
- 7x Jumper Wires
Materials for this step:
SparkFun Inventors Kit - V3.21 kit
Push Button2 pieces
330 Ohm Resistor1 piece
10K Ohm Resistor2 pieces
Jumper Wires7 piecesTools needed:
Hardware Hookup
Hardware Hookup
Wiring Instructions
- Place both push buttons across the center canyon of the breadboard.
- Button 1: Connect one pin to GND. Connect the opposite diagonal pin to Arduino Digital Pin 2. Add a 10K resistor between Pin 2 and 5V (pull-up).
- Button 2: Connect one pin to GND. Connect the opposite diagonal pin to Arduino Digital Pin 3. Add a 10K resistor between Pin 3 and 5V (pull-up).
- Connect LED positive leg to Digital Pin 13, negative leg through 330Ω resistor to GND.
Note: The pull-up resistors hold the input HIGH when the button is not pressed. Pressing the button connects the pin to GND (LOW).
Materials for this step:
Push Button2 pieces
330 Ohm Resistor1 piece
10K Ohm Resistor2 pieces
Jumper Wires7 piecesArduino Code
Arduino Code
Open the Arduino IDE and upload the following sketch to your Arduino board.
Materials for this step:
Tools needed:
Test & Experiment
Test & Experiment
What You Should See
The LED turns on when you press either button individually. It turns off when you press both buttons simultaneously (XOR logic).
Troubleshooting
- Not responding: Push buttons are square — it's easy to put them in the wrong orientation. Try rotating 90°.
- LED always on or always off: Check the pull-up resistor connections. Without them, the input pin floats and reads random values.
Experiments to Try
- Change the logic to AND (both buttons required) or simple OR.
- Use the buttons to control an RGB LED — one button for color, one for brightness.
- Try using
INPUT_PULLUPmode to eliminate the external resistors.
Materials
8- $105.00
- 2 pieces$2.00
- $3.00
- $3.00
- $5.00
Related blueprints
Other builds that share materials, tools, or techniques with this one.






CC0 Public Domain
This blueprint is released under CC0. You are free to copy, modify, distribute, and use this work for any purpose, without asking permission.
Support the Maker by purchasing products through their Blueprint where they earn a Maker Commission set by Vendors, or create a new iteration of this Blueprint and include it as a connection in your own Blueprint to share revenue.