What does BCM stand for in Raspberry Pi GPIO pin numbering?
BCM stands for Broadcom SOC channel. It refers to the pin numbering based on the Broadcom chip's internal numbering.
Click to reveal answer
beginner
What does BOARD mean in Raspberry Pi GPIO pin numbering?
BOARD refers to the physical pin numbering on the Raspberry Pi's GPIO header, counting pins from 1 to 40 based on their physical location.
Click to reveal answer
intermediate
Why might you choose BCM numbering over BOARD numbering?
BCM numbering is useful because it matches the chip's internal pin names, making code more consistent across different Raspberry Pi models.
Click to reveal answer
beginner
How do you set the pin numbering mode to BCM in Python using RPi.GPIO?
You use the command: GPIO.setmode(GPIO.BCM) to select BCM numbering mode.
Click to reveal answer
intermediate
What could happen if you confuse BCM and BOARD numbering when wiring your Raspberry Pi?
You might connect to the wrong pins, causing your circuit to not work or even damage your Raspberry Pi or connected components.
Click to reveal answer
Which GPIO pin numbering mode uses the physical pin locations on the Raspberry Pi header?
ABOARD
BBCM
CWIRINGPI
DGPIO
✗ Incorrect
BOARD numbering counts pins by their physical position on the header.
What command sets the GPIO numbering mode to BCM in Python's RPi.GPIO library?
AGPIO.mode(GPIO.BCM)
BGPIO.setmode(GPIO.BOARD)
CGPIO.setup(GPIO.BCM)
DGPIO.setmode(GPIO.BCM)
✗ Incorrect
GPIO.setmode(GPIO.BCM) sets the numbering to Broadcom SOC channel mode.
If you want your code to work on different Raspberry Pi models without changing pin numbers, which mode is better?
ANeither
BBOARD
CBCM
DBoth are the same
✗ Incorrect
BCM numbering refers to the chip pins, which stay consistent across models.
How many pins does the Raspberry Pi 40-pin header have in BOARD numbering?
A40
B20
C28
D26
✗ Incorrect
The Raspberry Pi 40-pin header has 40 physical pins numbered 1 to 40.
What is a risk of mixing up BCM and BOARD numbering when connecting hardware?
ACode runs faster
BPins may be connected incorrectly causing failure or damage
CNo risk, they are interchangeable
DGPIO pins become disabled
✗ Incorrect
Wrong pin connections can cause circuits to fail or damage components.
Explain the difference between BCM and BOARD GPIO pin numbering on a Raspberry Pi.
Think about chip vs physical layout.
You got /3 concepts.
Describe why choosing the correct GPIO pin numbering mode is important when programming Raspberry Pi hardware.
Consider what happens if you wire wrong pins.
You got /4 concepts.
Practice
(1/5)
1. Which GPIO pin numbering mode uses the physical pin numbers on the Raspberry Pi header?
easy
A. BOARD numbering mode
B. BCM numbering mode
C. WIRING numbering mode
D. PIN numbering mode
Solution
Step 1: Understand GPIO numbering modes
GPIO pins can be numbered by their physical location (BOARD) or by the Broadcom chip numbering (BCM).
Step 2: Identify physical pin numbering
BOARD mode refers to the physical pin numbers on the Raspberry Pi header.
Final Answer:
BOARD numbering mode -> Option A
Quick Check:
Physical pins = BOARD [OK]
Hint: BOARD mode matches physical pin numbers on the header [OK]
Common Mistakes:
Confusing BCM with physical pin numbers
Thinking BCM is the physical numbering
Assuming WIRING or PIN modes exist
2. Which of the following is the correct way to set GPIO pin numbering to BCM mode in Python?
easy
A. GPIO.setmode(GPIO.BOARD)
B. GPIO.setupmode(GPIO.BCM)
C. GPIO.mode(GPIO.BCM)
D. GPIO.setmode(GPIO.BCM)
Solution
Step 1: Recall the correct function to set GPIO mode
The function to set numbering mode is GPIO.setmode().
Step 2: Use the correct constant for BCM mode
GPIO.BCM is the constant for BCM numbering mode.
Final Answer:
GPIO.setmode(GPIO.BCM) -> Option D
Quick Check:
Use setmode with BCM constant [OK]
Hint: Use GPIO.setmode(GPIO.BCM) to select BCM numbering [OK]
Common Mistakes:
Using GPIO.mode instead of GPIO.setmode
Using BOARD instead of BCM constant
Calling GPIO.setupmode which doesn't exist
3. Given the code snippet:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
GPIO.output(7, GPIO.HIGH)
Which physical pin is set HIGH?
medium
A. Pin 11 on the physical header
B. GPIO pin number 7 on the Broadcom chip
C. Pin 7 on the physical header
D. GPIO pin number 11 on the Broadcom chip
Solution
Step 1: Identify the numbering mode used
The code uses GPIO.setmode(GPIO.BOARD), so pin numbers refer to physical header pins.
Step 2: Check which pin is set HIGH
GPIO.setup(7, GPIO.OUT) and GPIO.output(7, GPIO.HIGH) set physical pin 7 HIGH.
Final Answer:
Pin 7 on the physical header -> Option C
Quick Check:
BOARD mode pin 7 = physical pin 7 [OK]
Hint: BOARD mode means pin number is physical header pin [OK]
Common Mistakes:
Confusing BOARD pin 7 with BCM GPIO 7
Assuming pin 7 means BCM numbering
Mixing physical pin numbers with BCM numbers
4. What is wrong with this code snippet?
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(10, GPIO.OUT)
GPIO.output(10, GPIO.HIGH)
Assuming the LED is wired to physical pin 10 on the header.
medium
A. Pin 10 in BCM does not match physical pin 10 wiring
B. GPIO.setmode(GPIO.BOARD) should be used instead
C. GPIO.output() requires pin number as string
D. GPIO.setup() cannot use BCM numbering
Solution
Step 1: Understand numbering mismatch
GPIO.setmode(GPIO.BCM) means pin numbers refer to Broadcom chip pins, not physical pins.
Step 2: Check wiring vs numbering
Physical pin 10 corresponds to BCM GPIO 15. The code uses BCM pin 10 (physical pin 19), so it does not control the wired physical pin 10.
Final Answer:
Pin 10 in BCM does not match physical pin 10 wiring -> Option A
Quick Check:
BCM 10 controls physical 19 ≠ pin 10 [OK]
Hint: Match numbering mode to wiring to avoid pin mismatch [OK]
Common Mistakes:
Assuming physical pin numbers work with BCM mode
Using string instead of int for pin number
Thinking GPIO.setup can't use BCM numbering
5. You want to control an LED connected to physical pin 12 on the Raspberry Pi header. Which code snippet correctly sets the pin HIGH using BCM numbering?
hard
A. GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
GPIO.output(12, GPIO.HIGH)
B. GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.HIGH)
C. GPIO.setmode(GPIO.BCM)
GPIO.setup(12, GPIO.OUT)
GPIO.output(12, GPIO.HIGH)
D. GPIO.setmode(GPIO.BOARD)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.HIGH)
Solution
Step 1: Identify physical pin 12's BCM number
Physical pin 12 corresponds to BCM GPIO 18 on Raspberry Pi.
Step 2: Use BCM numbering mode and correct pin
Set mode to GPIO.BCM and use pin 18 in setup and output.
Final Answer:
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.HIGH) -> Option B
Quick Check:
Physical pin 12 = BCM 18, use BCM mode [OK]
Hint: Convert physical pin to BCM before coding [OK]
Common Mistakes:
Using physical pin number with BCM mode
Using BCM pin number with BOARD mode
Mixing pin numbers without conversion
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.