IdeaFan for Y410 Y410p Y500 Y510 Y510p Y580 G500 Y50-70*
I have been trying to find a way to control fans on my y510p. As everything else failed up to the Embedded Controller (EC), I have made myself a program to call dust removal function. With a help of this forum members, I have perfected calling and stopping timing which works on my computer.
Basically, running Furmark, if I do not run this program, I constantly run into 97C and thermal throttling for my GPU (see Mhz of core and memory):
And when I do run this program, it manages to keep temperatures at 88-93C and there is no more throttling in a long run.
Usage: run the program and it will enable the dust function when a monitored temperature reaches the configured Max value (70C by default). Buffer and Cool-down settings keep it running until temperatures settle below the lower boundary. Or Start/Stop it with the default keyboard shortcuts Ctrl+Shift+Q, Ctrl+Shift+O or through the tray-icon menu. Up to ten shortcuts can be configured in ideafan.ini.
Download: IdeaFan v3.7 (includes OpenHardwareMonitor 3.0.9705; when upgrading from v3.4 or older, delete the previous version files because v3.5+ overhauled the configuration and file structure)
So far, this has been tested on many computers (y510p Win 8.1/Win 8.1Pro/Win10/Win11 + y410/y410p/y510). Both with Lenovo Energy driver v7.x and v8.x. I have tried it for both 2xSLI and 1x GPU, also for CPU stress tests or simply during high CPU usage, i.e. rendering videos. Feel free to use and leave some comments that it can be further improved if possible.
IdeaFan laptop compatibility
Based on forum user feedback, IdeaFan has been reported to work on the following laptops:
- Lenovo Y410 — 🟢 Works perfectly
- Lenovo Y410p — 🟢 Works perfectly
- Lenovo Y500 — 🟢 Works perfectly
- Lenovo Y510 — 🟢 Works perfectly
- Lenovo Y510p — 🟢 Works perfectly
- Lenovo Y580 — 🟢 Works perfectly
- Lenovo G500 — 🟢 Works perfectly
- Lenovo Y50-70* — ⚠️ Works only with a workaround
* Y50-70 requires manually forcing the older, unstable Windows 8.1 Lenovo Energy Management driver onto the system. On Windows 10 or 11 this workaround can cause crashes, blue screens or battery-charging problems. Newer driver exposes BIOS/EC differently through the driver.
These are community reports rather than a guarantee for every configuration. Compatibility can depend on the exact laptop model, BIOS and Lenovo Energy Management driver version.
IdeaFan pros & cons
Pros
- High-speed cooling: repeatedly re-arms Lenovo's firmware-controlled dust-removal fan waveform, which can significantly lower sustained-load temperatures.
- Reduced throttling: can reduce CPU/GPU thermal throttling and related FPS drops.
- Lightweight: a small, simple application with minimal resource usage.
- Automated: can run quietly in the background and activate the dust function automatically at a configured temperature.
Cons
- Strict driver dependency: requires the compatible legacy Lenovo Energy Management driver.
- High noise: Lenovo's high-speed dust-removal fan waveform is loud.
- Y50-70 instability: its driver workaround can cause Windows 10/11 crashes, blue screens or battery-charging problems.
- Legacy setup: requires old Lenovo software, manual configuration and administrator privileges on modern Windows.
Danger! Do not use Furmark to stress your GPU unless you know what you are doing. I have used it here for testing purposes only.
Release Notes
v3.7
*new* Entering standby or hibernation now stops the active fan sequence before Windows suspends
*change* After resume, a previous manual run stays stopped while automatic mode checks fresh temperatures and starts cooling again only when needed
*change* Temperature monitoring now remains active when Auto is off, keeping tooltip temperatures and the manual cooling temperature icon up to date
*fix* Disabled unused network-card monitoring in the bundled monitor configuration to avoid a possible startup crash after sleep or resume; temperature monitoring and the web server remain enabled (OHW 3.0.9705 bug when resuming from standby)
v3.6
*new* Added configurable Temperature Buffer and Cool-down controls so automatic cooling does not stop after a brief temperature drop
*new* The tray icon now shows the hottest current temperature while cooling is active manually or automatically
*change* Reorganized the tray menu to group automatic temperature controls and separate the fan Timing selector
*change* Grouped tooltip temperatures under CPU, SSD, GPU and Other while hiding empty groups
*fix* Excluded Distance to TjMax headroom readings from temperature decisions, the tooltip and the hottest-temperature icon
*fix* Brief temperature-monitoring interruptions no longer falsely end an active automatic cooling run
v3.5
*new* Added up to ten configurable global keyboard shortcuts in ideafan.ini; see the available modifiers and keys
*change* The About dialog now shows the first two active shortcuts instead of fixed shortcut text
*fix* Invalid shortcut settings now show a warning and use Ctrl+Shift+Q as a fallback for that run
*fix* Starting IdeaFan again now silently closes the new launch when IdeaFan is already running
*change* Upgrades now add newly introduced settings to ideafan.ini with their defaults without changing existing settings
*fix* Temperature monitoring now uses a configurable web-server port to avoid Windows-reserved port conflicts; IdeaFan reads the port from ideafan.ini and updates the listener-port value in the Open Hardware Monitor configuration before starting it
*fix* The tray tooltip now explains when Open Hardware Monitor cannot start or open its configured port
v3.4
*new* Added selectable Legacy and Absolute fan timing modes
*change* Absolute timing is now the default after comparing fan recordings, with Legacy timing still available as a fallback
*fix* Fan timing now recovers safely after long system stalls or sleep
*change* Updated the bundled Open Hardware Monitor to version 3 while preserving IdeaFan temperature monitoring
*fix* Corrected the Open Hardware Monitor attribution in the About dialog
v3.3
*new* Added selectable Celsius and Fahrenheit units for temperatures and the maximum-temperature setting
*fix* Temperatures now work regardless of whether OpenHardwareMonitor reports them in Celsius or Fahrenheit
*new* Added the TechInferno discussion to the About dialog
v3.2
*change* Selected 9181 ms as the best observed fixed dust timing after comparing 8970, 9197, 9202 and 9213 ms
*new* Added the csvLogging true/false INI option to enable or disable ideafan-timing.csv diagnostics
*change* Documented the recovered EC waveform counters, scheduler timing and hardware test results
v3.1
*fix* Improved dust OFF to ON cadence by compensating for the measured driver call time
*change* Switched dust timing measurements to 64-bit monotonic milliseconds
*new* Added buffered ideafan-timing.csv diagnostics with call duration, success and next-timer data
*fix* Failed dust driver calls now stop the loop safely instead of continuing an uncertain cycle
v3.0
*change* IdeaFan from v1 to v2 to allow asynchronous executions
*change* Temperature polling is now asynchronous so the tray menu and hotkeys stay responsive
*fix* Temperatures now appear as soon as OpenHardwareMonitor is ready, including IPv4/IPv6 listeners and UTF-8 degree symbols
*fix* Fixed tray menu actions and reliable saving of Auto settings
*fix* Fixed Startup task registration and status handling on current Windows versions
*fix* Improved timer, shutdown and OpenHardwareMonitor process cleanup
*new* Added reproducible x64/x86 compile and elevated stop scripts
v2.0
*fix* Fixed temperatures reading from OpenHardwareMonitor for different locales
*change* Migrated to OpenHardwareMonitor 0.9.2.0, default config to start its web server and read temperatures from it
v1.9
*fix* Fixed crasching when OpenHardwareMonitor does not have web server enabled. Please make sure OpenHardwareMonitor is closed before upgrading
v1.8
*fix* IdeaFan used too much, around 5% CPU, now it uses almost 0%
v1.7
*change* Changed reading temperatures from WMI to OpenHardwareMonitor json data because of Windows 10 build 1607 anniversary edition bug
v1.6
*change* Migrated to OpenHardwareMonitor 0.7.1.0 beta
*fix* Temperatures are shown and working on Windows 10 (tested on build 1511)
v1.5
*fix* Supposedly startup error with OHM should be fixed
*new* Added another keyboard shortcut just for diversity
v1.4
*fix* When fan is running, nothing should disrupt the cycle (not tray menu nor high cpu/gpu usage or temperatures)
*change* Startup option changed from startup folder to windows task
*change* Updated default settings
*change* Removed sleeps, introduced timers/threads
*new* Lower cpu usage
v1.3
*change* Reverted default settings (to have several versions with all newest changes available)
v1.2
*change* Updated default settings (provided by octiceps)
v1.1
*new* Options are saved in ini file
*new* Automatic dust function control based on temperature (OpenHardwareMonitor 0.6.0 beta included)
*new* Startup option fixed
*new* Ability to change timeouts in ini file
v1.0
*new* Initial Version to run dust function
And here are possible improvement requests for the future:
1. Research the embedded-controller dust waveform further. IdeaFan can schedule re-arming precisely, but it still cannot guarantee continuous fan output, remove every longer slowdown or control the firmware's starting phase.
2. Make temperature-monitor and Lenovo driver failures visible in the tray or tooltip, and provide a configurable safe response when temperature data is unavailable.
3. Add automatic-mode hysteresis, a cool-down delay and selectable sensors so brief temperature changes or unrelated sensors do not start and stop the fan cycle unnecessarily.
4. Add an in-app settings editor and live reload for shortcuts, temperature limits and timing options, avoiding manual ideafan.ini edits and restarts.
5. Detect the laptop model, BIOS and Lenovo Energy Management driver version, then build a verified compatibility list for supported configurations.