The GPIO interface allows you to connect physical buttons to your Raspberry Pi running the 3DPrinterOS Client. This makes it possible to trigger basic actions such as Cancel or Send Bed Clear directly from the printer without using the web dashboard.
1. How to Enable
To enable the GPIO buttons interface, locate the parameter enabled in the "gpio" section of your configuration file and change its value from false to true.
You can edit this file directly in the 3DPrinterOS Client interface:
Main Screen → Settings → Edit settings file
Example:
"gpio": {
"bouncetime": 100,
"buttons": {
"cancel_locally": 29,
"send_bed_clear": 33
},
"enabled": false,
"pull": "up",
"trigger": "falling"
2. Default Wiring
Pin numbering uses the physical layout (BOARD numbering) of the Raspberry Pi GPIO header, not the BCM numbering scheme used in code.
Cancel button: connect between pins 29 (GPIO5) and 30 (GND)
Send Bed Clear button: connect between pins 33 (GPIO13) and 34 (GND)
Each button connects a GPIO pin to ground when pressed.
No 3.3 V or 5 V pins are required for this setup.
3. Wiring Recommendations
If you experience unexpected or spontaneous button activation, try the following:
Use shorter wires to reduce signal noise.
Keep the Raspberry Pi with GPIO enabled away from strong electromagnetic sources (motors, generators, fridges, etc.).
Place a 100 nF capacitor as close as possible between the GPIO and GND pins for each button to improve signal stability.
4. Schemas
Below are the recommended connection diagrams for Raspberry Pi 3 Model B V1.2:


