I am happy to release my plugin GPIO Control which allows Volumio to control GPIO pin states when certain events occur. With this plugin you can control LEDs and pretty much anything else running connected to your raspberry pi! I currently use it to illuminate and an LED whilst music is playing and when the system starts turns on 12v audio amplifier and illuminate a system on LED.
This is based on tomatpasser's gpio-buttons.
Tested on a Pi Zero and running stable for weeks now.
I did try supporting PWM which would have been great with the volume changed event but ran into issues. I used a library called pigpio but it required sudo permissions to access the hardware PWM. I didn't want to ruin Volumio with my implemented with my limited knowledge!
The currently supported Volumio events are:
For each event, a GPIO pin can be assigned from the GUI and the state defined as shown below:
Here is a report on my attempt to use the GPIO control plugin on the Raspberry Pi3B:
Tested with a single LED connected (as shown in your diagram) to indicate a MUSIC PAUSE EVENT. In settings the GPIO state is ON
Music playing = LED OFF (First time) pause = LED ON From then on, whether playing or paused, the LED remains ON.
This is the problem I've always had. I don't think it's relevant but the LED was measured to be using below 16mA. Also, I tried toggling the GPIO state from ON to OFF in the settings (but I didn't think that would help). Up until now, I have been using the 'Amplifier switch' plugin to light an LED on play. As this is triggered by play status, I did wonder if there may be some conflict with your plugin. So:
To rule out the possibility of any conflict with other installed plugin(s), I flashed another SD card with Volumio and started from scratch installing ONLY your GPIO control plugin. No good, the result was still as above.
Back in the last century, I qualified as an Electronics Service Engineer, but I have not got a clue about programming or even how to see the Pi's command lines. This is why I appreciate what you developers do to allow us to interface buttons and LEDs with Volumio. I note that you've had steady results with the plugin on a Pi Zero and presume that it should work equally well with the Pi3B. Maybe other users will be able to report their experiences.