Missing Fan LED option (On/Off/Follow) in Settings UX

I posted a different issue in which my RGB fan is always turning to ‘always on mode’. In researching I am noticing a missing setting in the UX:

In the instructions View and Control from Dashboard — SunFounder Pironman 5 documentation

There is a screenshot of the UX that an option for the Fan LED to be set to On, Off or Follow.

My UX does not include this option. I only have the Fan Mode setting.

The debug log seems to show that the setting is being passed on init to Follow:

‘gpio_fan_led’: ‘follow’
see below:

25/02/12 19:56:21.403 [DEBUG] FanControl init
25/02/12 19:56:21.403 [DEBUG] FAN update_config: {'rgb_color': '#0a1aff', 'rgb_brightness': 50, 'rgb_style': 'breathing', 'rgb_speed': 50, 'rgb_enable': True, 'rgb_led_count': 4, 'temperature_unit': 'C', 'oled_enable': True, 'oled_rotation': 0, 'oled_disk': 'total', 'oled_network_interface': 'all', 'gpio_fan_pin': 6, 'gpio_fan_mode': 0, 'gpio_fan_led': 'follow', 'gpio_fan_led_pin': 5, 'interval': 1}
25/02/12 19:56:21.403 [DEBUG] Update gpio_fan_pin to 6
25/02/12 19:56:21.403 [DEBUG] Update gpio_fan_mode to 0
25/02/12 19:56:21.404 [DEBUG] Update gpio_fan_led to follow
25/02/12 19:56:21.404 [DEBUG] Update gpio_fan_led_pin to 5
25/02/12 19:56:21.404 [DEBUG] Init GPIO Fan with pin: 6
25/02/12 19:56:21.434 [DEBUG] Init PWM Fan
25/02/12 19:56:21.597 [INFO] PWM Fan is supported, sync all other fan with pwm fan
25/02/12 19:58:24.120 [DEBUG] FAN update_config: {'gpio_fan_mode': 2}
25/02/12 19:58:24.120 [DEBUG] Update gpio_fan_mode to 2
25/02/12 19:58:26.817 [DEBUG] FAN update_config: {'rgb_style': 'rainbow'}
  1. Did this UX option get removed intentionally? Is this a bug?
  2. What do these different modes do? On / Off / Follow?
  1. We are very sorry, but in the current version we have changed the RGB fan mode to “always on”.
    If you want to turn off the RGB fan, you can adjust the fan mode to do so.
  2. The option to set the fan LEDs to ON, OFF or FOLLOW is not available in the current version of pironman5.
    The screenshot in the tutorial shows the option to set the fan LEDs to on, off or follow, which is an option that is available in the pironman5 V2 upgrade that we are working on and ready to go live, where the LEDs of the RGB fan and the fan can be controlled independently of each other.
  3. and the log display you mentioned:
    25/02/12 19:56:21.404 [DEBUG] Update gpio_fan_led to follow
    25/02/12 19:56:21.404 [DEBUG] Update gpio_fan_led_pin to 5
    25/02/12 19:56:21.404 [DEBUG] Init GPIO Fan with pin: 6
    Don’t worry about it, it’s for us to test the subsequent pironman5 V2 upgrade.

You also reported in another thread that after pironman5 components are installed in Home Assistant, the settings are reset after a reboot or shutdown and restart after changing the settings. We have also found that bug and we are currently working on fixing it, so please be patient.
After we fix it successfully, we will reply you on the corresponding post.

I have just purchased the Pironman 5 Max and have a very similar issue.

The “fan LEDs to ON, OFF or FOLLOW” is missing from the settings menu and the RGB on the fans do not light up at all. However the fans do work as they should just no RGB. And the board LEDs work perfectly.

Also the “Set OLED Sleep Timeout” is missing from the settings menu so that the OLED display stays on permanently.

I am running a Pi5 8GB with Raspberry Pi 64 bit Trixie from 2025/12/04.

1, So is the RGB on the Pironman 5 Max now disabled? If not how do I get the RGB to work?

2, How do I set the timeout on the OLED display so it is not on permanently?

Regards

1, that should read RGB on the FANS, the LEDs on the board work correctly

Please confirm if you have installed the correct pironman5 software?
Guide link: Set Up on Raspberry Pi/Ubuntu/Kali/Homebridge OS — SunFounder Pironman 5 documentation

Installation commands:
cd ~
git clone -b max GitHub - sunfounder/pironman5: Code for Raspberry Pi 5 case (Pironman5) --depth 1
cd ~/pironman5
sudo python3 install.py
Please provide the log information for us to confirm:
cat /var/log/pironman5/main.log

RGB fan LEDs are not lighting up?
If the software installation is confirmed correct, a common cause is that the FLED (GPIO 5) jumper on the IO expansion board may not be properly connected.
If the jumper is not connected, the RGB fan LEDs will be turned off by default.
How to set the OLED display timeout to avoid it staying on permanently?
If the software installation is confirmed correct, the OLED screen has a default timeout/sleep period of 10 seconds. After working for 10 seconds, the OLED screen will automatically turn off and enter sleep mode.
To wake up the OLED screen, gently tap the case.
Please provide the OLED debug log information for us:
cat /var/log/pironman5/pm_auto.oled.log
cat /var/log/pironman5/main.log

Please find attached screen printout and logs as I have tried to install the software again. this time on a new SD card. it appears it is loading the pironman5 not the pironman5_max software

sorry could not upload pdf. Comments in bold

thanks for the quick response

regards

************************************************************************************

idp@Pi5:~ $ cd ~

git clone -b max GitHub - sunfounder/pironman5: Code for Raspberry Pi 5 case (Pironman5) --depth 1

cd ~/pironman5

sudo python3 install.py

Cloning into ‘pironman5’…

remote: Enumerating objects: 31, done.

remote: Counting objects: 100% (31/31), done.

remote: Compressing objects: 100% (28/28), done.

remote: Total 31 (delta 2), reused 14 (delta 0), pack-reused 0 (from 0)

Receiving objects: 100% (31/31), 30.30 KiB | 3.03 MiB/s, done.

Resolving deltas: 100% (2/2), done.

Installing for Pironman 5

Version: 1.2.25

Install build dependencies…

  • Update package list… Done

  • Install build dependencies: python3-pip python3-venv git curl… Done

Run commands before install…

  • Run command before install: Setup InfluxDB… Done

  • Run command before install: Install LGPIO… Done

Install APT dependencies…

  • Install APT dependencies: libopenjp2-7 python3-dev i2c-tools libfreetype6-dev libjpeg-dev kmod python3-gpiozero lsof influxdb… Done

Create working directory…

  • Create work directory… Done

  • Change work directory mode… Done

  • Change work directory owner… Done

  • Create log directory… Done

  • Change log directory mode… Done

  • Change log directory owner… Done

  • Create virtual environment… Done

Install PIP dependencies…

  • Install pip… Done

  • Install setuptools… Done

  • Install build… Done

  • Install gpiozero… Done

  • Install Adafruit-Blinka==8.59.0… Done

  • Install Pillow… Done

  • Install adafruit-circuitpython-neopixel-spi… Done

  • Install smbus2… Done

  • Install rpi.lgpio… Done

  • Install gpiod… Done

Install Python source packages…

  • Uninstall pironman5 old package… Done

  • Install pironman5 from source… Done

  • Uninstall pm_auto old package… Done

  • Install pm_auto from source… Done

  • Uninstall pm_dashboard old package… Done

  • Install pm_dashboard from source… Done

  • Uninstall sf_rpi_status old package… Done

  • Install sf_rpi_status from source… Done

Setup auto start…

  • Copy binary file… Done

  • Change binary file mode… Done

  • Copy service file… Done

  • Enable service… Done

  • Reload systemd… Done

Probe modules…

  • add module: i2c-dev… Done

Copy device tree overlay…

  • Copy dtoverlay sunfounder-pironman5.dtbo… Done

Change work directory owner…

  • Change work directory owner… Done

Finished

Cleanup

  • Remove build… Done

Whether to restart for the changes to take effect(Y/N):Y

*********************************************

System Restart

idp@Pi5:~ $ sudo systemctl restart pironman5.service

idp@Pi5:~ $

No LEDs (on board or fans) or OLED Display

*********************************************

Run Log as requested it appears to be loading pironman5 software not pironman 5 max

*********************************************

idp@Pi5:~ $ cat /var/log/pironman5/main.log

26/01/12 13:04:05.225 [INFO]

26/01/12 13:04:05.225 [INFO] ############################################################

26/01/12 13:04:05.225 [DEBUG] Config path: /opt/pironman5/venv/lib/python3.13/site-packages/pironman5/config.json

26/01/12 13:04:05.225 [DEBUG] Pironman5 version: 1.2.25

26/01/12 13:04:05.225 [DEBUG] Variant: Pironman 5

26/01/12 13:04:05.225 [DEBUG] Config: {‘system’: {‘data_interval’: 1, ‘rgb_color’: ‘#0a1aff’, ‘rgb_brightness’: 50, ‘rgb_style’: ‘breathing’, ‘rgb_speed’: 50, ‘rgb_enable’: True, ‘rgb_led_count’: 4, ‘temperature_unit’: ‘C’, ‘oled_enable’: True, ‘oled_rotation’: 0, ‘oled_disk’: ‘total’, ‘oled_network_interface’: ‘all’, ‘gpio_fan_pin’: 6, ‘gpio_fan_mode’: 0, ‘debug_level’: ‘INFO’}}

26/01/12 13:04:05.225 [DEBUG] Device info: {‘name’: ‘Pironman 5’, ‘id’: ‘pironman5’, ‘peripherals’: [‘storage’, ‘cpu’, ‘network’, ‘memory’, ‘history’, ‘log’, ‘ws2812’, ‘cpu_temperature’, ‘gpu_temperature’, ‘temperature_unit’, ‘oled’, ‘clear_history’, ‘delete_log_file’, ‘pwm_fan_speed’, ‘gpio_fan_state’, ‘gpio_fan_mode’], ‘version’: ‘1.2.25’, ‘app_name’: ‘pironman5’}

26/01/12 13:04:05.225 [DEBUG] PM_Auto version: 1.2.12

26/01/12 13:04:05.226 [DEBUG] PM_Dashboard version: 1.2.10

26/01/12 13:04:06.454 [INFO] PMAuto started

26/01/12 13:04:06.567 [INFO] PmDashboard started

26/01/12 13:06:29.883 [INFO] Received signal “Terminated”, cleaning up…

26/01/12 13:06:29.883 [INFO] Stopping Pironman5

26/01/12 13:06:29.884 [INFO] Stopping PMAuto

26/01/12 13:06:30.503 [INFO] Stopping PmDashboard

26/01/12 13:06:30.780 [INFO] Pironman5 stopped

26/01/12 13:06:30.781 [WARNING] Thread Thread-1 is still alive

26/01/12 13:06:31.370 [INFO]

26/01/12 13:06:31.371 [INFO] ############################################################

26/01/12 13:06:31.371 [DEBUG] Config path: /opt/pironman5/venv/lib/python3.13/site-packages/pironman5/config.json

26/01/12 13:06:31.371 [DEBUG] Pironman5 version: 1.2.25

26/01/12 13:06:31.371 [DEBUG] Variant: Pironman 5

26/01/12 13:06:31.371 [DEBUG] Config: {‘system’: {‘data_interval’: 1, ‘rgb_color’: ‘#0a1aff’, ‘rgb_brightness’: 50, ‘rgb_style’: ‘breathing’, ‘rgb_speed’: 50, ‘rgb_enable’: True, ‘rgb_led_count’: 4, ‘temperature_unit’: ‘C’, ‘oled_enable’: True, ‘oled_rotation’: 0, ‘oled_disk’: ‘total’, ‘oled_network_interface’: ‘all’, ‘gpio_fan_pin’: 6, ‘gpio_fan_mode’: 0, ‘debug_level’: ‘INFO’}}

26/01/12 13:06:31.371 [DEBUG] Device info: {‘name’: ‘Pironman 5’, ‘id’: ‘pironman5’, ‘peripherals’: [‘storage’, ‘cpu’, ‘network’, ‘memory’, ‘history’, ‘log’, ‘ws2812’, ‘cpu_temperature’, ‘gpu_temperature’, ‘temperature_unit’, ‘oled’, ‘clear_history’, ‘delete_log_file’, ‘pwm_fan_speed’, ‘gpio_fan_state’, ‘gpio_fan_mode’], ‘version’: ‘1.2.25’, ‘app_name’: ‘pironman5’}

26/01/12 13:06:31.371 [DEBUG] PM_Auto version: 1.2.12

26/01/12 13:06:31.371 [DEBUG] PM_Dashboard version: 1.2.10

26/01/12 13:06:32.496 [INFO] PMAuto started

26/01/12 13:06:32.566 [INFO] PmDashboard started

idp@Pi5:~ $

Note after going into raspi-config enabling SPI and I2C and rebooting the board LEDs ( not fan LEDs) and OLED screen came to life. Still no menu items to control fan LED or OLED time

Logs below

idp@Pi5:~ $ cat /var/log/pironman5/pm_auto.oled.log

26/01/12 13:04:05.545 [ERROR] Failed to initialize OLED

26/01/12 13:06:31.390 [ERROR] Failed to initialize OLED

26/01/12 13:09:43.061 [ERROR] ‘SSD1306’ object has no attribute ‘draw’

Traceback (most recent call last):

File “/opt/pironman5/venv/lib/python3.13/site-packages/pm_auto/utils.py”, line 11, in wrapper

return func(self, \*args, \*\*kwargs)

File “/opt/pironman5/venv/lib/python3.13/site-packages/pm_auto/oled.py”, line 222, in sleep

self.oled.clear()

\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^

File “/opt/pironman5/venv/lib/python3.13/site-packages/pm_auto/ssd1306.py”, line 293, in clear

self.draw.rectangle((0, 0, self.width, self.height), outline=0, fill=0)

^^^^^^^^^

AttributeError: ‘SSD1306’ object has no attribute ‘draw’

26/01/12 13:17:36.509 [DEBUG] Update temperature_unit to C

26/01/12 13:17:36.512 [DEBUG] Update oled_rotation to 0

26/01/12 13:17:36.512 [DEBUG] Update oled_disk to total

26/01/12 13:17:36.512 [DEBUG] Update oled_network_interface to all

26/01/12 13:17:36.512 [DEBUG] Update oled_enable to True

26/01/12 13:17:36.512 [DEBUG] OLED wake up

26/01/12 13:17:41.401 [INFO] Connected to eth0: 192.168.68.68

26/01/12 13:17:41.402 [INFO] Connected to wlan0: 192.168.68.78

idp@Pi5:~ $ ^C

idp@Pi5:~ $ cat /var/log/pironman5/main.log

26/01/12 13:04:05.225 [INFO]

26/01/12 13:04:05.225 [INFO] ############################################################

26/01/12 13:04:05.225 [DEBUG] Config path: /opt/pironman5/venv/lib/python3.13/site-packages/pironman5/config.json

26/01/12 13:04:05.225 [DEBUG] Pironman5 version: 1.2.25

26/01/12 13:04:05.225 [DEBUG] Variant: Pironman 5

26/01/12 13:04:05.225 [DEBUG] Config: {‘system’: {‘data_interval’: 1, ‘rgb_color’: ‘#0a1aff’, ‘rgb_brightness’: 50, ‘rgb_style’: ‘breathing’, ‘rgb_speed’: 50, ‘rgb_enable’: True, ‘rgb_led_count’: 4, ‘temperature_unit’: ‘C’, ‘oled_enable’: True, ‘oled_rotation’: 0, ‘oled_disk’: ‘total’, ‘oled_network_interface’: ‘all’, ‘gpio_fan_pin’: 6, ‘gpio_fan_mode’: 0, ‘debug_level’: ‘INFO’}}

26/01/12 13:04:05.225 [DEBUG] Device info: {‘name’: ‘Pironman 5’, ‘id’: ‘pironman5’, ‘peripherals’: [‘storage’, ‘cpu’, ‘network’, ‘memory’, ‘history’, ‘log’, ‘ws2812’, ‘cpu_temperature’, ‘gpu_temperature’, ‘temperature_unit’, ‘oled’, ‘clear_history’, ‘delete_log_file’, ‘pwm_fan_speed’, ‘gpio_fan_state’, ‘gpio_fan_mode’], ‘version’: ‘1.2.25’, ‘app_name’: ‘pironman5’}

26/01/12 13:04:05.225 [DEBUG] PM_Auto version: 1.2.12

26/01/12 13:04:05.226 [DEBUG] PM_Dashboard version: 1.2.10

26/01/12 13:04:06.454 [INFO] PMAuto started

26/01/12 13:04:06.567 [INFO] PmDashboard started

26/01/12 13:06:29.883 [INFO] Received signal “Terminated”, cleaning up…

26/01/12 13:06:29.883 [INFO] Stopping Pironman5

26/01/12 13:06:29.884 [INFO] Stopping PMAuto

26/01/12 13:06:30.503 [INFO] Stopping PmDashboard

26/01/12 13:06:30.780 [INFO] Pironman5 stopped

26/01/12 13:06:30.781 [WARNING] Thread Thread-1 is still alive

26/01/12 13:06:31.370 [INFO]

26/01/12 13:06:31.371 [INFO] ############################################################

26/01/12 13:06:31.371 [DEBUG] Config path: /opt/pironman5/venv/lib/python3.13/site-packages/pironman5/config.json

26/01/12 13:06:31.371 [DEBUG] Pironman5 version: 1.2.25

26/01/12 13:06:31.371 [DEBUG] Variant: Pironman 5

26/01/12 13:06:31.371 [DEBUG] Config: {‘system’: {‘data_interval’: 1, ‘rgb_color’: ‘#0a1aff’, ‘rgb_brightness’: 50, ‘rgb_style’: ‘breathing’, ‘rgb_speed’: 50, ‘rgb_enable’: True, ‘rgb_led_count’: 4, ‘temperature_unit’: ‘C’, ‘oled_enable’: True, ‘oled_rotation’: 0, ‘oled_disk’: ‘total’, ‘oled_network_interface’: ‘all’, ‘gpio_fan_pin’: 6, ‘gpio_fan_mode’: 0, ‘debug_level’: ‘INFO’}}

26/01/12 13:06:31.371 [DEBUG] Device info: {‘name’: ‘Pironman 5’, ‘id’: ‘pironman5’, ‘peripherals’: [‘storage’, ‘cpu’, ‘network’, ‘memory’, ‘history’, ‘log’, ‘ws2812’, ‘cpu_temperature’, ‘gpu_temperature’, ‘temperature_unit’, ‘oled’, ‘clear_history’, ‘delete_log_file’, ‘pwm_fan_speed’, ‘gpio_fan_state’, ‘gpio_fan_mode’], ‘version’: ‘1.2.25’, ‘app_name’: ‘pironman5’}

26/01/12 13:06:31.371 [DEBUG] PM_Auto version: 1.2.12

26/01/12 13:06:31.371 [DEBUG] PM_Dashboard version: 1.2.10

26/01/12 13:06:32.496 [INFO] PMAuto started

26/01/12 13:06:32.566 [INFO] PmDashboard started

26/01/12 13:16:46.966 [INFO] Received signal “Terminated”, cleaning up…

26/01/12 13:16:46.966 [INFO] Stopping Pironman5

26/01/12 13:16:46.966 [INFO] Stopping PMAuto

26/01/12 13:16:47.718 [INFO] Stopping PmDashboard

26/01/12 13:16:48.674 [INFO] Pironman5 stopped

26/01/12 13:16:48.674 [WARNING] Thread Thread-1 is still alive

26/01/12 13:17:36.131 [INFO]

26/01/12 13:17:36.133 [INFO] ############################################################

26/01/12 13:17:36.133 [DEBUG] Config path: /opt/pironman5/venv/lib/python3.13/site-packages/pironman5/config.json

26/01/12 13:17:36.133 [DEBUG] Pironman5 version: 1.2.25

26/01/12 13:17:36.133 [DEBUG] Variant: Pironman 5

26/01/12 13:17:36.133 [DEBUG] Config: {‘system’: {‘data_interval’: 1, ‘rgb_color’: ‘#0a1aff’, ‘rgb_brightness’: 100, ‘rgb_style’: ‘breathing’, ‘rgb_speed’: 50, ‘rgb_enable’: True, ‘rgb_led_count’: 4, ‘temperature_unit’: ‘C’, ‘oled_enable’: True, ‘oled_rotation’: 0, ‘oled_disk’: ‘total’, ‘oled_network_interface’: ‘all’, ‘gpio_fan_pin’: 6, ‘gpio_fan_mode’: 3, ‘debug_level’: ‘INFO’}}

26/01/12 13:17:36.134 [DEBUG] Device info: {‘name’: ‘Pironman 5’, ‘id’: ‘pironman5’, ‘peripherals’: [‘storage’, ‘cpu’, ‘network’, ‘memory’, ‘history’, ‘log’, ‘ws2812’, ‘cpu_temperature’, ‘gpu_temperature’, ‘temperature_unit’, ‘oled’, ‘clear_history’, ‘delete_log_file’, ‘pwm_fan_speed’, ‘gpio_fan_state’, ‘gpio_fan_mode’], ‘version’: ‘1.2.25’, ‘app_name’: ‘pironman5’}

26/01/12 13:17:36.134 [DEBUG] PM_Auto version: 1.2.12

26/01/12 13:17:36.134 [DEBUG] PM_Dashboard version: 1.2.10

26/01/12 13:17:41.343 [INFO] PMAuto started

26/01/12 13:17:41.422 [INFO] PmDashboard started

idp@Pi5:

Thank you for providing the complete log information for us to review.

Based on the logs you submitted, the software is unable to detect the IO expansion board, which is causing the modules connected to the IO expansion board to malfunction.

Please contact service@sunfounder.com with your shipping address so we can arrange for a new IO expansion board to be sent to you.

Update, new expansion board was sent out and received in the UK in 9 days. Thankyou for your prompt help and speedy customer service. It is nice to deal with a company with good customer service when things sometime go wrong.