Hey all, came across this post as I’ve been working to setup my Waveshare CM5 PoE Base A board. I had similar questions to those posting here (e.g., needed a good alternative to the older [deprecated] HA hardware, needed [wanted] PoE, and the wall mount is a nice bonus).
This is my first post on the forum (so apologies for lack of any etiquette), and I haven’t got to PoE yet but I can help with my fan/cooling solutions so far.
I also ordered the Waveshare CM5 Dedicated All-in-one 3007 Cooling Fan, which is a heat sink and PWM fan which installed “OK” but lacked good/clear instructions. If you’re building your own hardware, you should be able to figure it out though.
I removed the case fan (pre-installed) and loaded HAOS, which is another activity without much cohesive guidance/documentation. After poking around forums and finding some good resources from Jeff Geerling (although still not fully clear), I was able to boot the board as a mass storage device Mac (using Homebrew and libusb) and install HAOS via the Raspberry Pi Imager.
Got HA up and running but that PWM fan was not running!
“Fan Control” documentation is available on the Waveshare wiki, but again lacking context. This is assuming you have a standard version of Rpi OS or some more “accessible” version of linux. So, some more configuration is needed!
After poking around more posts on “where the config.txt file is on HAOS,” here’s what worked for me:
- You (probably) need host-based SSH. I say probably because this is how I did it and don’t know if the SSH add-on will be sufficient. Home Assistant Operating System configuration | Home Assistant Developer Docs
- Get your fan configuration (i.e., dtparam=fan_temp0…) setup and ready to copy/paste see the Waveshare wiki.
- SSH into your HA host.
- Use the Vi Text Editor (was installed with HAOS) to modify the config.txt file:
vi /mnt/boot/config.txt
- Copy/paste your config params.
- Save those changes.
- Reboot your HA host:
ha host reboot
My CPU is idling around 32 C based on my configs below (altered from wiki baseline). You can check you CPU temp from the HA CLI using: cat /sys/class/thermal/thermal_zone0/temp
I inserted the below config block in the config.txt file:
#Added for CPU fan control on the Waveshare CM5 PoE Base A board
dtparam=fan_temp0=25000,fan_temp0_hyst=2000,fan_temp0_speed=75
dtparam=fan_temp1=35000,fan_temp1_hyst=3000,fan_temp1_speed=150
dtparam=fan_temp2=45000,fan_temp2_hyst=4000,fan_temp2_speed=200
dtparam=fan_temp3=55000,fan_temp3_hyst=5000,fan_temp3_speed=255
Good luck!!