A Fan Controller for ATTiny Microchips, Securely Adhered
================================================================
In a creative and resourceful DIY project, [ashafq] has built a fan controller that transforms a noisy Radeon RX 550 into a quiet operator. The fan controller, made from bits likely already in [ashafq]'s junk drawer, is a perfect example of efficient and minimalist design.
The project, detailed on Hackaday, involves crafting one's own 1-wire temperature reading code on an ATTiny85 and coding a PWM fan speed controller that responds directly to GPU temperature thresholds. This approach keeps the firmware minimal and efficient, without relying on libraries or bulky firmware.
To build a temperature-triggered GPU fan controller using an ATTiny85 and a DS18B20 temperature sensor, follow these key steps:
- Low-level 1-wire Communication: Implement the 1-wire protocol by bit-banging GPIO pins on the ATTiny85 to send reset, write, and read commands directly to/from the DS18B20 temperature sensor. Timing must be precise to meet the 1-wire timing specifications.
- Temperature Conversion: After sending the necessary 1-wire commands, read the temperature scratchpad from the DS18B20 and convert the raw data to Celsius. This involves handling 12-bit resolution data that the sensor returns.
- PWM Fan Control: Use one of the ATTiny85’s timers to generate a PWM signal that controls the GPU fan speed. The duty cycle varies depending on the current temperature threshold.
- Minimal Firmware: Write all code in a single compact program without RTOS or external libraries, which keeps the footprint small and firmware efficient.
- Hardware Considerations: Power the ATTiny85 and DS18B20 from the GPU card supply (usually 12V regulated down to 5V or 3.3V). The fan runs at 12V with PWM input. Use proper level shifting or transistor drivers for the PWM fan signal if needed.
The original build resulted in a significantly quieter and more responsive fan controller, with idle temperatures around 40°C and load peaks at 60°C. The project's source code and PCB are fully open-sourced on GitHub and Codeberg for detailed reference.
This DIY approach demonstrates that careful timing and control logic can create a robust temperature-triggered GPU fan system on the ATTiny85 and DS18B20 without library dependencies or bloated firmware. It is an excellent learning experience and an efficient solution for quiet GPU cooling.
Building a fan controller can be a rewarding DIY project, and the provided documentation is available on our website for those interested in trying it out. McGyver would surely approve of [ashafq]'s fan controller build.
Technology and DIY (Do-It-Yourself) projects often showcase innovative solutions like [ashafq]'s fan controller, which utilizes technology to transform a noisy GPU into a quiet operator. This project, implemented with an ATTiny85 microcontroller and a DS18B20 temperature sensor, demonstrates how minimalist design and efficient coding can lead to a robust temperature-triggered GPU fan system, with technology playing a crucial role in its functioning and performance.