PiPower 3 at Raspberry PI 4 - Shutdown doesn’t work

Hi. I followed for my new PiPower3 the instructions. I am operating it on a Raspberry PI 4 64b bookworm Configuration.

I can see on my PI-terminal the status of the PiPower, but the SHUTDOWN doesn’t work, neigther after pressing the button, nor after the battery is below the 80% shutdwon 80 level.

Please have a view to the screenshots - hope you have an idea.


.

It appears that after the system upgrade, the pipower3 software may not have configured the safe shutdown settings in the /boot/firmware/config.txt file by default.

Please follow these instructions to configure it:
Open the configuration file:
sudo nano /boot/firmware/config.txt
Add the following line at the end of the file:
dtoverlay=gpio-poweroff,gpio_pin=26, active_low=1
Save and exit the editor, then reboot your Raspberry Pi.
This should enable safe shutdown functionality.
Please let us know how it goes — we truly care about your experience and will do our best to provide a satisfactory solution, no matter the outcome.

.Good evening. I did as you recommended, entered the last line and rebooted.

After that I tried to shutdown with the button - the picture shows the status prior I pushed button and thereafter.

And after a further reboot I turned power of - the video shows what happened.

However, the system is still not performing the switch off :frowning:

One topic I notice during the installation of the software. The last action “shut down” was not performed - there was no question, the routine hang and show over 10 minutes and more this rotating symbols. I stoped it with ctrl C and switched off the pi manually over the menu. Is the shutdown command implemented in PiPower possibly the reason?

From the video you provided, it seems that the GPIO pins of pipower3 and PI 4 are not connected, so pipower3 cannot send a shutdown signal to PI4.
How does pipower 3 power PI4? Connect 5V and GND of pipower 3 to 5V and GND of PI4?
We recommend that you install it according to our assembly leaflet to see if the safety shutdown can work properly?
If you want to use the GPIO pins, you can connect them from pipower3. After PI4 is connected to pipower3, the GPIO pins of pipower3 are the GPIO expansion pins of PI4.

Hello. It seems that the construction isn’t clearly visible in the video. My Raspberry Pi is installed in a case for passive cooling, so I can’t stack the Raspberry Pi and the PiPower directly. I solved the challenge with a 2x20-pin ribbon cable. This way, all the pins are connected as shown in the instructions.

So the power of the Pi is available via the header as well as all other signals of the PiPower / which the PiPower software installed on the PI needs / all as explained in the PiPower manual. Which means, the PiPower board presents all information of the PiPower board to the PiPower software. So I assume, the communication line via I2C is working pour as Zoe can the in the previous sent screenshots.

Who give the command to the Pi to shutdown?

Is there a way to trace what’s happening with the PiPower software?

Short update: I temporary took the ribbon cable out … but the behavior is the same. The system doesn’t switch off, nighter after pushing the button on the PiPower board, nor after taking the power supply away and waiting until the battery was unloaded down to 75% (I set the limit to 80%). And once again with reference to the photos already send previously - the status shows a SHUTDOWN request but the PI seems to be not ware about it because I can not see any expected reaction of the PI; the PI is running and not performing a shutdown. :anxious_face_with_sweat:.

And here a photo of my “Tower” :wink::

Interesting aspect. I surfed the web and found this: “Poweroff is equivalent to ‘shutdown -P now’ and ‘shutdown -h now’, which is the standard behaviour for shutdown when no argument is passed.

However, I believe the moderator knows how to trigger the system in the direct direction :wink:. But nevertheless, he made a small typo, in particular he entered in post #2 a SPACE into the line.

wrong: dtoverlay=gpio-poweroff,gpio_pin=26, active_low=1
correct: dtoverlay=gpio-poweroff,gpio_pin=26,active_low=1

I am going to check it today evening - It must be possible to make the beast fly :crossed_fingers:

Thank you for your inquiry.

Please refer to the tutorial link for detailed guidance: Hardware Introduction.

Make sure that your config.txt file is configured correctly with the following line:

dtoverlay=gpio-poweroff,gpio_pin=26, active_low=1

Also, check that the SDSIG pin on the PiPower 3 is connected to pin 26 using a jumper cap. The SDSIG serves as the shutdown signal. By connecting pin 26 to the middle pin, you will link SDSIG to GPIO26 on the Raspberry Pi. Once configured, if the Raspberry Pi shuts down, GPIO26 will go high, sending a shutdown signal to PiPower 3.

Additionally, when there is no external power and the battery voltage drops below the shutdown percentage, PiPower 3 will send a “LOW BATTERY” shutdown request via I2C. The host can read this signal through I2C and handle the shutdown accordingly. After shutdown, pulling SDSIG high will turn off PiPower, enabling the low battery shutdown feature.

If you have any further questions, please feel free to ask.

Ah… so that’s how it works… got it.
I’d believed from the above discussion that gpio26 was used to power down the rpi4 from pipower3, not the other way around. My mistake.
I’ll remove my earlier incorrect comment to avoid potential confusion.

I had understood the functional principle before the explanation - but THANK YOU for that.

The I2C communication works, as I can see from the fact that the pipower3 - a command displays the three possible scenarios:

  • Shutdown request: 0 - none
  • Shutdown request: 1 - (low battery …or similar, I wrote this from memory)
  • Shutdown request: 2 - Button

I will also check again this evening whether the SDSIG bridge is plugged in correctly and whether it is working (perhaps the bridge is defective).

But if I have understood everything correctly, the PiPOWER uses the GPIO-PIN26 to tell the Rasperry PI that it should shut down. The PiPOWER software installed on the Pi has nothing to do with this. It is only used to read and write values.

Note: you have again added a teaching character to the dtoverlay line

wrong: dtoverlay=gpio-poweroff,gpio_pin=26, active_low=1

correct: dtoverlay=gpio-poweroff,gpio_pin=26,active_low=1

Maybe it’s because of the gauge - but I can only check that tonight.

Translated with DeepL.com (free version)

I have checked whether the SDSIG jumper on the PiPower3 module is set correctly:

The default is “dtoverlay=gpio-poweroff,gpio_pin=26, active_low=1”, but everywhere on the net it is said that the command is to be written without a leading character, like this"dtoverlay=gpio-poweroff,gpio_pin=26,active_low=1". With a leading character there is no shutdown (the reason for this task) and without a leading character the Pi only starts for seconds and shuts down again immediately. The video documents this

Finally, I ran the installation again (beforehand I commented out the line dtoverlay=gpio-poweroff,gpio_pin=26, active_low=1 in config.txt and restarted the Pi). As the first time, the installation did not go through. Even after an hour, the hourglass is spinning and the installation just won’t go through. The video shows where it hangs:

Thank you for sharing your questions and video demonstration. Here are our detailed responses to your concerns:

  1. Power-off Configuration & Low Battery Startup
  • The correct format should indeed have no leading space:

dtoverlay=gpio-poweroff,gpio_pin=26,active_low=1

  • From your video, we confirm the safety shutdown is working properly.
  • The system triggers shutdown when the actual battery percentage falls below your set threshold.
  • To restart:
    • Connect external power, OR
    • Charge the battery until percentage exceeds your threshold
  1. Software Installation Issue
    We’ve conducted fresh installation tests which completed successfully (see attached screenshot). Our test environment:
  • Raspberry Pi OS Bookworm (64-bit)

Suggestions for resolution:

  • Please check your network connection
  • Try switching to a different network
  • Reattempt the pipower3 installation
  • Monitor the installation process for any error messages

If the issue persists, please:

  • Share screenshots of any error messages
  • Let us know your exact Raspberry Pi OS version
  • Describe when exactly the installation freezes

We’re committed to helping you resolve these matters. Please don’t hesitate to ask if you need further assistance.

Hello and thank you for your feedback.

I see now that the installation routine is aborting very early in my case. the last steps are not being carried out. What do the steps do? What is behind the three commands? Can I follow them manually? The photo shows on the left your routine and on the right side my routine … you can see the moment of freeze, marked with the red line.

About your note
image

Let me explain: the battery is loaded (>90%, all 4 LEDs are on) and the SP-parameter is set to 80%. And at that point I give power to the system. The behaviour is visible in the video above. On my point of view, the software has no motivation interrupt the start and to switch of after 10 seconds.

To your questions:

  • Please check your network connection: my network performance is perfect, The PI itself as all other devices work without trouble
  • Try switching to a different network: no change to the story, the issue is the same
  • Reattempt the pipower3 installation:* that’s what I did yesterday. The video above show what happened*
  • Monitor the installation process for any error messages: The video above shows what happens. There are no fault messages
  • My IOS:
    image

And one add on - I noticed as task of the pipower3 setup routine, that a log directory shall be created. The setup routine confirms the task with done :slight_smile: and I checked the directory this moment the first time. However, it is empty. Why? When will I find which information there?

My summary:

  • I did what you recommended. But nevertheless the setup routine is not performing all steps (as the comparison in picture above shows). Why?
  • Can I do the open setup steps manually? If so, what do I have to do?
  • What will I see in the pipower3 log directory?

After thorough testing, we weren’t able to replicate the problems you described, but we’d like to help you resolve them with the following step-by-step troubleshooting guide:

Recommended Troubleshooting Steps:

  1. Fresh System Installation
  • We recommend performing a clean installation of the OS and then reinstalling the PiPower 3 software to rule out any software conflicts.
  1. Safe Shutdown Configuration Check
  • Please verify that the SDSIG pin on your PiPower 3 is properly connected to GPIO 26 using the jumper cap.
  • After reinstalling the system and software, please run the command:
    pipower3 -sp 80
    (Example: If your current battery level is 85%, this should trigger a shutdown when the battery reaches 80%.)
  1. Config File Modification
    If shutdown still doesn’t occur:
  • Edit /boot/firmware/config.txt and add the following line at the end (without leading spaces):
    dtoverlay=gpio-poweroff,gpio_pin=26,active_low=1

  • Reboot the system and test again.

  • Note: The shutdown function will not trigger when using external power.

Next Steps:

If these steps don’t resolve the issue:

  • There may be a firmware-related problem with your PiPower 3.

Please let us know your test results, and we’ll proceed accordingly. We appreciate your understanding and cooperation in troubleshooting this matter.

Thanks for the new tips.

I still had an SD card lying around, but IO-Broker and two other things were already installed on it. That was the basis a year ago, the mother from which I cloned it to an SSD.

I have now started the system with the SD card and installed PiPower3. The installation went through, so it didn’t freeze.

And then I unplugged the power plug and pressed the button on the PiPower board for 2 seconds → Hooray, the Pi shuts down :grinning_face: :grinning_face: What a moment after a long week of frustration.

Then I plugged the power plug back into the socket and started the system. The battery was 90% charged. The PiPower shutdown value is set to 80%. After several minutes, the battery was discharged to such an extent that it fell below the limit and the Pi performed a shutdown for this as well.

Summary:

  • in the constellation with an SD card it works

  • the PiPowewr board is fine, no need to return it AMAZON :wink:

  • if I want to install PiPower on the SSD, the installation does not go through, freezes and the PiPower software does not work (even if I manually enter the dtoverlay command in the /boot/firmware/config.txt).

Unfortunately, my SD is damaged while playing. I will now buy a new one and set up the system again. Then install PiPower and IOBroker etc. And if PiPower still works, then I will clone it to an SSD. I’m looking forward to the result.

  • Should you need to verify or test the product, we’re here to assist.