I am reporting a reproducible system reboot issue when using Piper TTS on a Raspberry Pi 5 with the AI
Fusion HAT software image provided by SunFounder.
The problem does not occur on Raspberry Pi 4 using the corresponding SunFounder image and the same
test code.
The reboot occurs during Piper speech synthesis and can be reproduced even without using the Python
Fusion HAT library.
Hardware Configuration
Raspberry Pi
Model: Raspberry Pi 5
RAM: 4 GB
Power Supply: Official Raspberry Pi 27W USB-C Power Supply
AI Hardware
SunFounder AI Fusion HAT
Peripherals Connected
USB keyboard
USB mouse
Operating System
Official AI Fusion HAT image downloaded from SunFounder website
Kernel: 6.12.93+rpt-rpi
Initial Symptoms
Running SunFounder Piper TTS examples causes the Raspberry Pi 5 to reboot unexpectedly.
• • • • • • • •
1
Typical behavior:
Program starts normally
Several seconds later
Raspberry Pi suddenly reboots
No error message is shown
No graceful shutdown occurs
Comparison with Raspberry Pi 4
Raspberry Pi 4
Result:
Piper TTS works correctly
Speech is generated and played
No reboot occurs
Raspberry Pi 5
Result:
System reboots during speech generation
This strongly suggests a Raspberry Pi 5 specific compatibility issue.
Journal and Crash Investigation
Persistent journaling was enabled.
Previous boot logs were reviewed using:
journalctl -b -1
journalctl -k -b -1
Findings:
No kernel panic
No OOPS
No Call Trace
No Out Of Memory condition
No PCIe errors
No Fusion HAT driver errors
The journal only reports:
system.journal corrupted or uncleanly shut down
indicating an abrupt system reset.
Fusion HAT Driver Status
Kernel log shows:
fusion_hat: loading out-of-tree module taints kernel
fusion_hat 1-0017: Fusion Hat driver probed successfully
Driver loads successfully.
Python Reproduction
Original SunFounder example:
from fusion_hat.tts import Piper
tts = Piper()
• • • • • •
4
tts.set_model(‘en_US-amy-low’)
msg = “Hi, I’m Piper TTS. Are you ready to rumble? I am here to pump you up!”
tts.say(msg, stream=False)
Result:
Raspberry Pi 5 reboots
Step-by-Step Isolation Test
Test code:
print(“STEP 1”)
from fusion_hat.tts import Piper
print(“STEP 2”)
tts = Piper()
print(“STEP 3”)
tts.set_model(‘en_US-amy-low’)
print(“STEP 4”)
tts.say(“hello”, stream=False)
print(“STEP 5”)
Observed behavior:
STEP 1 printed
STEP 2 printed
STEP 3 printed
STEP 4 printed
System rebooted before STEP 5
Conclusion:
The reboot occurs inside:
• • • • • •
5
tts.say(…)
or immediately after entering this function.
ONNX Runtime Warning
During Piper initialization:
[W:onnxruntime:Default, device_discovery.cc:211 DiscoverDevicesForPlatform]
GPU device discovery failed:
device_discovery.cc:91 ReadFileContents Failed to open file:
“/sys/class/drm/card1/device/vendor”
This warning does not appear fatal and execution continues afterwards.
Critical Reproduction Without Fusion HAT Python Library
To eliminate the Fusion HAT Python wrapper, Piper was executed directly:
echo “a” | piper
-m /home/pi/.piper_models/en_US-amy-low.onnx
-f /tmp/a.wav
Result:
Raspberry Pi 5 immediately reboots
WAV file is never created
This is the most important finding.
Because the crash occurs when executing Piper directly, the issue does not appear to be caused by:
Thonny
User Python code
fusion_hat.tts wrapper
Audio playback
The reboot occurs during Piper/ONNX p
rocessing itself.
Based on all tests performed:
Eliminated Causes
User Python code
Audio hardware
Voice HAT audio playback
Raspberry Pi power supply
Thermal throttling
Undervoltage
Thonny IDE
ALSA playback path
Most Likely Cause
A compatibility issue between:
Piper
Embedded ONNX Runtime
• • • • • • • • • •
7
SunFounder AI Fusion HAT software stack
Raspberry Pi 5
The issue is reproducible and appears specific to Raspberry Pi 5.
Minimal Reproduction
echo “a” | piper
-m /home/pi/.piper_models/en_US-amy-low.onnx
-f /tmp/a.wav
Expected result:
WAV file created
Actual result:
Raspberry Pi 5 immediately reboots
No WAV file produced
• • •