Bird
Raised Fist0
Raspberry Piprogramming~20 mins

Raspberry Pi hardware overview (GPIO, USB, HDMI) - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Raspberry Pi Hardware Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
GPIO Pin State Reading

What is the output of this Python code snippet that reads a GPIO pin state on a Raspberry Pi?

Raspberry Pi
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
state = GPIO.input(18)
print(state)
AGPIO.IN
B1
C0
DRaises RuntimeError
Attempts:
2 left
💡 Hint

Consider the pull-up resistor setting and what it means for the input pin state when nothing is connected.

🧠 Conceptual
intermediate
1:30remaining
USB Port Power Limits

Which statement correctly describes the power limits of USB ports on a Raspberry Pi 4?

AAll USB ports share a total current limit of 1.2A combined.
BEach USB port can supply up to 1.2A independently.
CUSB ports do not supply power, only data signals.
DEach USB port can supply up to 500mA independently.
Attempts:
2 left
💡 Hint

Think about the total power budget for USB devices connected to the Pi.

❓ Predict Output
advanced
2:00remaining
HDMI Display Resolution Detection

What will this Python code print when run on a Raspberry Pi connected to a 1920x1080 HDMI display?

Raspberry Pi
import subprocess
output = subprocess.run(['tvservice', '-s'], capture_output=True, text=True)
print(output.stdout.strip())
AError: tvservice command not found
Bstate 0x40001 [LCD], 800x480 @ 60.00Hz, progressive
Cstate 0x12000a [HDMI DMT (82) RGB full 16:9], 1280x720 @ 60.00Hz, progressive
Dstate 0x12000a [HDMI CEA (16) RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive
Attempts:
2 left
💡 Hint

Look for the resolution and refresh rate in the output string.

🔧 Debug
advanced
1:30remaining
Fixing GPIO Output Code

What error does this code raise when trying to set a GPIO pin high on a Raspberry Pi?

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.output(17, 2)
ARuntimeError: GPIO not set up
BTypeError: GPIO.output() takes 2 positional arguments but 3 were given
CValueError: The GPIO pin value must be 0 or 1
DNo error, pin set high
Attempts:
2 left
💡 Hint

Check the allowed values for GPIO.output() when setting pin state.

🚀 Application
expert
2:00remaining
Calculate Total GPIO Pins Available

How many general-purpose input/output (GPIO) pins are available on a Raspberry Pi 4 Model B for user programming?

A26 pins
B40 pins
C28 pins
D17 pins
Attempts:
2 left
💡 Hint

Consider the total pins on the header and which are reserved for power or ground.

Practice

(1/5)
1. Which Raspberry Pi hardware component allows you to connect and control electronic parts like LEDs and sensors?
easy
A. GPIO pins
B. USB ports
C. HDMI port
D. Ethernet port

Solution

  1. Step 1: Understand GPIO function

    GPIO pins are designed to connect and control electronic parts such as LEDs and sensors.
  2. Step 2: Compare with other ports

    USB ports connect devices like keyboards, and HDMI connects to screens, so they don't control electronics directly.
  3. Final Answer:

    GPIO pins -> Option A
  4. Quick Check:

    GPIO = electronic control pins [OK]
Hint: GPIO pins control electronics, USB and HDMI do not [OK]
Common Mistakes:
  • Confusing USB ports with GPIO pins
  • Thinking HDMI controls electronics
  • Selecting Ethernet port which is for network
2. Which of the following is the correct way to describe the HDMI port on a Raspberry Pi?
easy
A. Connects to electronic sensors
B. Connects to USB devices
C. Connects to power supply
D. Connects to a display screen

Solution

  1. Step 1: Identify HDMI port purpose

    The HDMI port is used to connect the Raspberry Pi to a display screen like a monitor or TV.
  2. Step 2: Eliminate other options

    Electronic sensors connect via GPIO, USB devices connect to USB ports, and power supply uses a separate power connector.
  3. Final Answer:

    Connects to a display screen -> Option D
  4. Quick Check:

    HDMI = display connection [OK]
Hint: HDMI always connects to screens, not devices or power [OK]
Common Mistakes:
  • Confusing HDMI with USB ports
  • Thinking HDMI connects sensors
  • Mixing power supply with HDMI
3. What will happen if you connect a keyboard to the Raspberry Pi's USB port?
medium
A. The keyboard will work and allow typing input
B. The keyboard will control GPIO pins directly
C. The keyboard will display output on the HDMI screen
D. The keyboard will charge the Raspberry Pi

Solution

  1. Step 1: Understand USB port function

    USB ports connect input devices like keyboards and mice to the Raspberry Pi.
  2. Step 2: Analyze keyboard behavior

    When connected, the keyboard sends typing input to the Raspberry Pi; it does not control GPIO or display output.
  3. Final Answer:

    The keyboard will work and allow typing input -> Option A
  4. Quick Check:

    USB port = input device connection [OK]
Hint: USB ports connect input devices like keyboards [OK]
Common Mistakes:
  • Thinking keyboard controls GPIO pins
  • Assuming keyboard shows output on HDMI
  • Believing keyboard charges the Pi
4. You tried to connect a sensor to the Raspberry Pi but it did not work. You connected it to the USB port instead of the GPIO pins. What is the likely problem?
medium
A. The sensor needs HDMI connection to work
B. The sensor requires power from the USB port only
C. USB ports cannot directly connect sensors; use GPIO pins instead
D. The sensor must be connected to the Ethernet port

Solution

  1. Step 1: Identify correct sensor connection

    Sensors connect to GPIO pins because they need direct electronic control signals.
  2. Step 2: Understand USB port role

    USB ports connect devices like keyboards and storage, not sensors directly.
  3. Final Answer:

    USB ports cannot directly connect sensors; use GPIO pins instead -> Option C
  4. Quick Check:

    Sensors use GPIO, not USB [OK]
Hint: Sensors connect to GPIO pins, not USB ports [OK]
Common Mistakes:
  • Trying to use HDMI for sensors
  • Assuming USB powers sensors directly
  • Confusing Ethernet port with sensor connection
5. You want to build a project that lights up an LED when you press a button connected to your Raspberry Pi. Which hardware ports will you use to connect the LED and button, and how will you see the output on a screen?
hard
A. Connect LED and button to Ethernet port; use USB for screen output
B. Connect LED and button to GPIO pins; use HDMI port for screen output
C. Connect LED and button to HDMI port; use USB for screen output
D. Connect LED and button to USB ports; use GPIO pins for screen output

Solution

  1. Step 1: Identify connection for LED and button

    LEDs and buttons are electronic components controlled via GPIO pins on the Raspberry Pi.
  2. Step 2: Identify how to display output

    The HDMI port connects the Raspberry Pi to a screen to show output visually.
  3. Final Answer:

    Connect LED and button to GPIO pins; use HDMI port for screen output -> Option B
  4. Quick Check:

    GPIO for electronics + HDMI for display [OK]
Hint: Use GPIO for electronics, HDMI for screen display [OK]
Common Mistakes:
  • Connecting electronics to USB or HDMI ports
  • Using USB for screen output
  • Confusing Ethernet port with GPIO
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard