Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

how to make volume up and volume down with buttons



  • @caver01 How do you do this is their a tutorial any where?



  • @retroprogrammer I second that. @caver01 ’s solution looks to be exactly what I am looking for, if only I knew how to do it :-)



  • This can probably help you guys with the other end of the solution: https://www.reddit.com/r/RetroPie/comments/777ylv/how_to_map_a_controller_to_soft_reboot_your_system/



  • @douga and @retroprogrammer a tutorial does not exactly exist but the process is basically this:

    Wire your buttons to usable GPIO pins, other pole of the switches go to ground. Then, follow instructions here for installing and setting up GPIONext. What you want is to configure buttons as commands which is one of the options.

    There are other ways to do the software, but the basis of this solution is to have some kind of script running, be it python or BASH that detects the button presses and sends the commands. That is what GPIONext does in addition to serving as a driver for game controller input.



  • @retroprogrammer It works fine, abeit only in RetroArch and not in other emulators, as @caver01 mentioned. Since I mostly use RA, it's fine for me.

    As @Lurker said, if your audio signal goes through an amplifier, you'll have to adjust that to a volume that allows a good range of volume via the hotkeys and the maximum volume shouldn't be too much for the speakers. Contrary to @Lurker, I can (and do) adjust the volume to many different levels between full and none, although it requires only the slightest nudge of the joystick to change the volume by several values.

    @caver01's solution is more versatile, but for now I'm too lazy to dive into it and I'm content with RA's hotkeys. :)



  • Although I take my audio signal from the jack, I do run an amplifier--just a cheap thing that came with my USB powered speakers. The key to optimizing the range is to set all of your digital controls, amixer etc, to 100% so you are sending a full signal, then adjusting your amplifier volume to the maximum level without distortion (or the max you are comfortable using). Then, you can leave the amp controls alone and make adjustments digitally.

    With my setup, I can tap the volume buttons or hold them down. I get plenty of granularity based on the underlying commands and I don't feel the need to increase the increment in the command. + or - 1dB seems to be a good setting that allows me to hear subtle changes with each adjustment. In other words, the change is not so small as to be inconveniently slow, and it is not so big so as to feel limiting in terms of incremental change.



  • @caver01 I realize this thread is a bit old, but any chance you can share how you got holding the button down working with volume? I currently have GPIOnext working great with your volume commands, but it's a one press per command thing. I haven't been able to figure out getting it to run the commands multiple times if I hold the button down.



  • @DougA I have a pretty similar setup to this, speaker volume is set at a limit which I do not change, i then us retroarch and hotkeys to control the volume (select + joystick up to raise the volume for example)



  • @caver01 Sir,
    first of all thanks for the trick! I have two player usb encoder setup. Whatever i did unable to figure out to ran the volume up and down command over GPIO on raspberry pi or from on my joyistic buttons.
    Would you please share with us in here your used python or shell script or whatever using to up and down the volume with buttons.Thanks



  • @stazna01 Would you please share with us in here your running configuration on the GPIONext? I unable to map my joyistic any button to decreise or increise the volume.Thanks advance..



  • @ooskay said in how to make volume up and volume down with buttons:

    @caver01 Sir,
    first of all thanks for the trick! I have two player usb encoder setup. Whatever i did unable to figure out to ran the volume up and down command over GPIO on raspberry pi or from on my joyistic buttons.
    Would you please share with us in here your used python or shell script or whatever using to up and down the volume with buttons.Thanks

    Sorry, I am not near my system to share a config, and at this point I don't even remember how or where to find a config. I simply followed the instructions to setup the software, then added commands via the web interface using the GPIO pins I know I am using.

    I will add that for a second go-round on a NESPi setup, I simply wrote a Python script to manage GPIO inputs watching for EDGE triggers, then executing commands. If I could do over again, I would not need to use something with the fancy setup and web interface like GPIOnext. Raw Python would work fine.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.