I recently picked up a b3+ and a nespi+ case. The case comes with a power and reset button and provides a script for the safe shutdown and for the most part has been driving me insane.

I've fixed the script so that the reset works when run from terminal as the killall command would stop further processing, so this seems to work fine.

The shutdown commands on the other hand are giving me some issues. I know the button is functioning as from a hardware level it does trigger the power on, however when I modify the script for the when_pressed and when_released actions of the buttons to print out a debug message, it will not fire.

I've tried to look up GPIO monitoring tools, but most of these seem to run on s remote machine or run through the GUI. However I"m currently toying with retropi so I don't have access to the GUI and the only GPIO monitor I found that runs via terminal does not seem to work with the b3+ hardware.

While I'm competent at using linux and am a programmer this is my first time playing with a Raspberry pi and Python so I'm somewhat lacking tools to debug any possible hardware issues. My first thought was that the pins might have been wrong for power but that was just a guess. I found a script that apparently would let me debug GPIO but it also said to not do this if anything controlling power was connected as this would change how the pin worked, so I avoided doing that without knowing too much about how the GPIO controls worked.

  • Seeing that the script uses GPIO2/3: are you sure i2c is disabled?
    – Dirk
    Commented Aug 24, 2018 at 8:48
  • Had to google I2C but I don't know. I've done nothing but install retropi that script and some python libs and scripts to try to debug. Commented Aug 24, 2018 at 9:37
  • There should not be an entry 'dtparam=i2c' or similar in /boot/config.txt. Alternatively use 'sudo raspi-config' and disable it explicitly.
    – Dirk
    Commented Aug 24, 2018 at 9:49
  • It's best not to use those pins for your buttons. The pullup resisters are stronger, which can cause some circuits to fail.
    – NomadMaker
    Commented Aug 24, 2018 at 9:52

1 Answer 1


For a GUI solution (remote or local) you can use piscope.

For a non-GUI terminal based monitor you can use monitor.py.

Both require the pigpio daemon to be running (sudo pigpiod).

pigpio is installed on full Raspbian. On Raspbian Lite it may be installed with

sudo apt-get install pigpio python-pigpio python3-pigpio

Both mentioned monitoring options are purely passive. They do not affect the GPIO in any way.

  • Marking as correct answer as this did let me confirm the pin numbers as correct Commented Aug 25, 2018 at 23:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.