Skip to main content

3DPrinterOS RPi’s GPIO Interface

Illia Nazarko avatar
Written by Illia Nazarko
Updated over 3 weeks ago

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:

Did this answer your question?