GPIO-Buttons (plugin) not working

Hi all
I have set up Volumio on a Pi 3B+ (with an attached standard Raspberry 7" display and a HifiBerry DAC+) and I am trying to use the GPIO-buttons plugin (the one installable via the plugins menu) to make that thing more conveniently controllable via a couple of physical buttons.

According to the HifiBerry docs ( … ry-boards/) the DAC+ is using GPIO 2-3 (pins 3 and 5) and 18-21 (pins 12, 35, 38 and 40), so I of course tried to avoid those pins. The 7" display is attached via its own flat-ribbon connector, so there should be no interference with the other GPIO pins (I hope at least…).

I attached my buttons and configured the GPIO-buttons plugin as follows:

pin#  GPIO description
9     n/a   ground
1     n/a   supply / +3.3V
5     27    planned for Power on/off  (default pull low - not yet connected)
7     4     planned for Power-LED  (default pull high - not yet connected)
8     14    Volume-  (default pull low, button connects to +3.3V)
10    15    Volume+  (default pull low, button connects to +3.3V)
11    17    <spare>
15    22    Prev. track  (default pull low, button connects to +3.3V)
16    23    Play/Pause   (default pull low, button connects to +3.3V)
18    24    Next track   (default pull low, button connects to +3.3V)

According to the GPIO-plugin docs the pins listed (except GPIO-4) have a default pull of low and the buttons thus connect them to 3.3V, as they should be connected to the opposite of their default pull. The power on/off button and the LED I have not connected, yet.

But to my dismay this setup does not work as expected: the Next track and the Volume+ buttons work (mostly at least, though also not very stable), the play/pause button works but only functions as play, not as toggle, i.e. it never pauses, and worst: all other buttons don’t work at all.

I have checked my wiring and config (and double-checked and triple-checked and …) but this is where I am stuck now.
Has anyone an idea what could be wrong here or what I might be missing? Is there anything obvious I am doing wrong? Might the HifyBerry DAC+ or the 7" display possibly conflict with any of the listed GPIO-pins?

This whole thing looked so easy at the begin but why can’t I get this to work?
Any help or hint would be highly appreciated!

I finally was able to resolve my issues! :slight_smile:

It was - of course - a combination of problems:

First: the GPIO-buttons plugin’s docs weren’t fully correct:
GPIO-pin 15 has a default pull of high (not low as described), so my cabling which pulled the pin to high had of course no effect. So I had to use a different GPIO for the Volume+ function.

Second: for some connections I had somehow confused the sides of a flat ribbon cable connector that I used to connect my buttons which caused some buttons to have different functions than intended. At least that was easily fixable by just redefining the assignments in the buttons plugin! :slight_smile:

And last: the prev. track function still does not work properly, but it also does not work in the Web-UI! So, although my button now works, all it does is to reset the track to the begin (at least sometimes, it is not very stable), but it never really jumps to the previous track. But in the WebUI (or on the 7" display) that button has the exact same behavior. So, IMHO, that’s a bug that has to be fixed in Volumio, not in the buttons plugin!

So, my buttons are all working now, including the power-off button. :smiley:

What is still missing is, that the power-button also allows to awaken the Pi again, because always having to pull and reconnect the power supply is - well - not very elegant to say the least… :unamused: I saw that there is another plugin available (though not via the plugins menu) that should support waking up the Pi via a GPIO-attached button. So, that’s my next project now…