SunFounder Fusion HAT power button behavior – expected or design issue?

Hi everyone,

I’m using a SunFounder Fusion HAT with a Raspberry Pi and I noticed something about the power button behavior that feels a bit unintuitive to me. I wanted to ask whether this is expected behavior by design or if it could be considered a power management issue.

Here’s what I’m observing:

When the system is off, a short press powers on both the Fusion HAT and the Raspberry Pi → works as expected.

When the system is on and I hold the power button for about 2 seconds:

Raspberry Pi performs a clean Linux shutdown

Fusion HAT remains powered on

When I hold the button for about 5 seconds:

Raspberry Pi shuts down

Fusion HAT cuts its own power rail

Entire system powers off completely within 1–2 seconds

What feels strange to me is the 2-second case:
After the Raspberry Pi has fully shut down, the HAT continues supplying power indefinitely. From a user perspective, I would normally expect the board to fully power down once the Pi has cleanly shut down, unless there’s a specific reason not to.

I understand that this might be intentional (e.g. to support quick reboot, remote wake-up, or powering peripherals while Pi is off), but:

There is no clear documentation explaining this distinction

It’s not obvious to users why a shutdown does not result in a full power-off

So my questions are:

Is this behavior intentional and documented somewhere?

Is the 2-second press meant to be a “soft shutdown” while the 5-second press is a “hard power cut”?

Are there recommended best practices for users who want the system to fully power off after a clean shutdown?

I’m curious how others interpret this behavior and whether it’s considered correct by design or potentially confusing from a UX / power management standpoint.

Thanks in advance for any clarification or shared experience.

Yes, you are correct about the button hold times:

Hold for 2 seconds: Initiates a “Soft Shutdown”

Hold for 5 seconds: Initiates a “Hard Shutdown” (forced power-off).

A “Soft Shutdown” allows the system to close processes safely before powering down, which helps protect your hardware and data. Please note that this feature must be properly configured in your system to work.

For detailed setup instructions, please follow our official guide:

A “Hard Shutdown” forces an immediate power cut to the Fusion HAT, which may interrupt ongoing processes. Therefore, we strongly recommend using the “Soft Shutdown” method for regular use.

Thanks for the clarification

However, I still have one key question regarding the design choice:

Why is there no automatic power-off of the Fusion HAT after a successful Soft Shutdown of the Raspberry Pi?

From a system behavior standpoint, the sequence currently looks like this:

  • Button held for 2 seconds
    → Raspberry Pi performs a clean OS shutdown
    → Fusion HAT continues supplying power indefinitely

In many embedded or battery-powered use cases, a soft shutdown is typically expected to result in a full power-off once the OS has safely terminated, unless the user explicitly chooses otherwise.

I understand that keeping the HAT powered can support scenarios such as:

  • quick reboot

  • remote wake-up

  • powering peripherals while the Pi is off

However:

  • this behavior is not clearly documented as the default intent

  • there does not appear to be a built-in mechanism for the Fusion HAT to detect that the Pi has fully shut down and then automatically cut its own power

  • users must manually perform a Hard Shutdown (5-second hold) even after a clean shutdown, which may not be obvious or intuitive

So my follow-up questions are:

  1. Is the lack of auto power-off after a Soft Shutdown a deliberate design decision, or a technical limitation?

  2. Was automatic power-off after OS shutdown considered and intentionally avoided?

  3. Are there recommended or supported ways (GPIO signaling, overlays, firmware hooks, etc.) to allow the Fusion HAT to power itself off automatically once the Pi has completed a clean shutdown?

Clarifying this would be especially helpful for users building battery-powered or energy-sensitive systems, where leaving the HAT powered after shutdown can be undesirable.

Thanks again for the explanation — I’m mainly trying to understand the design rationale and whether an automatic power-off path is planned or supported.

After the Raspberry Pi soft shutdown, the Fusion HAT will also automatically power off.
Please carefully review our tutorial instructions:

If you are using a Pi 4 or Pi 5, connect the jumper to RPI State → Pi3V3.
Open the EEPROM configuration tool:
sudo raspi-config
Configure the safe shutdown.

For Raspberry Pi Zero 2W, 3B, 3B+
These models do not support a full shutdown using 3.3V. Instead, GPIO26 must be configured as a shutdown status indicator.
Connect the jumper to RPI_STATE → IO26.
Edit the /boot/firmware/config.txt file:
sudo nano /boot/firmware/config.txt
Add the following line at the end of the file to set GPIO26 to low on shutdown and high on power-on:
dtoverlay=gpio-poweroff,gpio_pin=26,active_low=1
After saving the changes, reboot the system:

sudo reboot
Then proceed to install the Fusion HAT code for the changes to take effect.

To power off:
Press and hold the power button for 2 seconds.
The two power indicator lights will flash rapidly.
Release the button → the Fusion HAT will trigger the Raspberry Pi to shut down.
Once the Raspberry Pi has completed the shutdown process, the Fusion HAT will automatically power off.
This helps protect your SD card and files.

If you encounter any issues, we recommend providing a video of the problem to us. This will help us analyze and resolve the issue more effectively.

Thanks for the explanation and the documentation links.

I’d like to clarify my setup and observations again, as I’m still not fully sure whether this is a configuration issue or something specific to my hardware combination.

My setup:

  • Raspberry Pi Compute Module 4

  • Waveshare carrier board (https://www.waveshare.com/cm4-to-pi4-adapter.htm)

  • SunFounder Fusion HAT

  • Safe shutdown configured via sudo raspi-config

  • On the Fusion HAT, the RPI_STATE jumper is currently connected to the 3.3V pin (as suggested for Pi 4 / Pi 5 in the documentation)

Observed behavior:

  • Holding the power button for 2 seconds correctly triggers a soft shutdown

  • The Raspberry Pi shuts down cleanly

  • However, the Fusion HAT remains powered on

  • In this state, pressing the power button again does not power the system back on

  • A full power-off only occurs after holding the button for ~5 seconds (hard shutdown) or removing power

According to the documentation, after a successful soft shutdown the Fusion HAT should automatically power off. Since:

  • safe shutdown was already configured via raspi-config, and

  • the RPI_STATE jumper on the Fusion HAT is connected to 3.3V,

I’d like to better understand the following:

  1. On CM4 + third-party carrier boards, is using 3.3V as the shutdown-state signal officially supported and reliable?

  2. Is raspi-config safe shutdown configuration alone sufficient in this setup, or is an additional GPIO-based shutdown indicator (e.g. GPIO26) required for CM4 carrier boards?

  3. Is there a recommended or tested configuration specifically for CM4 with Waveshare carrier boards?

At this point, it’s unclear whether I’m missing an additional required step or whether this is a known limitation when using CM4 with non-official carrier boards and the 3.3V RPI_STATE signal.

Any clarification specific to CM4-based setups would be very helpful.

Thanks again for your support.

Please execute the sudo raspi-config command, configure the safe shutdown settings, and then install the Fusion HAT software. After restarting the system, verify whether the safe shutdown feature is working correctly.

It is recommended that you provide a video of the issue for us to better assist you in analyzing and resolving the problem.