processing / processing/processing4
Unable to interact with the GPIO of Raspberry Pi 5
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 494
- Forks
- 183
- Avg merge
- 4h 39m
- Merged PRs (30d)
- 3
Description
Created by: eMUQI
Description
Unable to interact with the GPIO of Raspberry Pi 5
Expected Behavior
Draw a dot on Processing, which blinks synchronously with the LED.
Current Behavior
/sys/class/gpio/export:Invalid argument
GPIO pin 17 does not seem to be available on your platform
RuntimeException: /sys/class/gpio/export: Invalid argument
RuntimeException: /sys/class/gpio/export: Invalid argument
Steps to Reproduce
-
Install Hardware I/O
-
Run the code
import processing.io.*; int ledPin = 17; boolean state = true; void setup() { size(100, 100); frameRate(2); //set frame rate GPIO.pinMode(ledPin, GPIO.OUTPUT); //set the ledPin to output mode } void draw() { state = !state; if (state==true) { GPIO.digitalWrite(ledPin, GPIO.LOW); //led on fill(255, 0, 0); //set the fill color of led on } else { GPIO.digitalWrite(ledPin, GPIO.HIGH); //led off fill(155); //set the fill color of led off } ellipse(width/2, height/2, width*0.75, height*0.75); } -
error
Your Environment
- Processing version:
- 4.3
- Operating System and OS version:
- OS: Debian GNU/Linux 12 (bookworm) aarch64
- Kernel: 6.1.0-rpi6-rpi-2712
- Other information:
- Raspberry Pi 5 Model B Rev 1.0
- CPU: BCM2835 (4) @ 2.400GHz
Possible Causes / Solutions
My suspicion is that it might be related to the introduction of the new southbridge chip, RP1, on the Raspberry Pi 5, which now handles the GPIOs and may have altered the access protocol.
Other
Also report at https://discourse.processing.org/t/issue-with-gpio-access-on-raspberry-pi-5-using-processing-4/43337
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Hardware I/O GPIO entry points used by GPIO.pinMode and GPIO.digitalWrite, and reproduce the sketch on Raspberry Pi 5 with Debian 12. Compare the /sys/class/gpio/export failure and unavailable pin 17 with the existing GPIO access path; done means the provided sketch can control the LED and draw the synchronized dot without the RuntimeException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, raspberry-pi
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100