Python GPIO development¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
Basic procedure for accessing GPIO on Quectel Pi using Python.
Environment Verification¶
gpiodetect
ls -l /dev/gpiochip*
gpioinfo
python3 --version
Device Node |
Description |
|---|---|
/dev/gpiochip0 |
Currently verified as the primary GPIO controller, labeled 400000.pinctrl |
/dev/gpiochip1 |
Currently verified as the PMIC-related GPIO controller |
/dev/gpiochip2 |
Currently verified as the LPI-related GPIO controller |
Installing Dependencies¶
It is recommended to use a virtual environment before installing the Python GPIO library.
sudo apt update
sudo apt install -y gpiod python3-venv python3-pip
python3 -m venv .venv
source .venv/bin/activate
pip install python-periphery
Input Reading Example¶
This example uses line 36 on /dev/gpiochip0. Before development, refer to the M1 pin definition to verify the mapping between the physical pin and the line offset.
from periphery import GPIO
chip = "/dev/gpiochip0"
line = 36
gpio = GPIO(chip, line, "in")
try:
print(gpio.read())
finally:
gpio.close()
Output Example¶
from periphery import GPIO
import time
chip = "/dev/gpiochip0"
line = 36
gpio = GPIO(chip, line, "out")
try:
gpio.write(True)
time.sleep(1)
gpio.write(False)
finally:
gpio.close()
Important Notes¶
The GPIO line offset is not the physical header pin number. Verify the M1 pin definition before wiring.
Use
gpioinfoto check whether a line is already in use by the system. Do not directly claim lines marked[used].The gpiod tool currently installed on the board is libgpiod v1.6.3. For command-line verification, refer to the GPIOD Usage Guide.