The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →This Arduino project uses an LM35 sensor to read temperature, a potentiometer to set a target, and an LCD to show readings and status. A small DC motor acts as the fan, with its speed adjusted through a transistor driver connected to Arduino pin 9. The published sketch uses a ±5 °C threshold band and stepped PWM output; it is a demonstration design, not a verified temperature-control system.
How the project works
The Arduino Uno reads the LM35 analog output on A0 and the setpoint potentiometer on A1. The sketch maps the potentiometer’s 0–1023 ADC reading to a nominal setpoint range of 0–100 °C. It converts the sensor reading using the LM35’s stated 10 mV/°C output assumption and displays temperature and status on an alphanumeric LCD.
The program defines upper and lower limits 5 °C above and below the selected setpoint. When the measured temperature rises above the upper limit, it increases a fan-speed variable in steps of 20 and sends the resulting PWM value to pin 9. When the temperature falls below the lower limit, it decreases that variable. The loop pauses for one second between readings.
In the published sketch, the speed variable starts at 50, the increase condition allows changes while it is below 150, and the decrease condition allows changes while it is above 50. Those are software values, not measured fan speeds or airflow figures. The sketch also uses a green LED for its normal-status branch, red for the above-limit branch, and blue for the below-limit branch; the threshold branches call tone for an audible alert.
#1 Best Overall
- 【DIY PWM Fan Controller Project】Build a functional PWM fan speed controller and explore electronic cooling control through practical soldering for PC cooling and custom electronics projects. This soldering project allows you to create a working fan regulation system for PC cooling and personal electronics applications.
- 【Build & Test Electronic Circuits】Assemble a complete electronic circuit with PCB, components and display modules while practicing soldering. Explore PWM speed regulation, fan control principles and the interaction between electronic components.
- 【Smart Temperature-Based Fan Control】Featuring an NTC temperature sensor (0–100°C), this controller monitors temperature changes and adjusts fan operation. The LCD display provides real-time information including temperature, fan status, and RPM for easy monitoring.
- 【Compatible with 2/3/4 Wire DC Fans】Designed for different DC cooling fans used in DIY cooling systems, including 2-wire, 3-wire, and 4-wire fan types. Adjust fan speed with 5 levels using onboard buttons or the included infrared remote control.
- 【Complete Electronics Project Kit】Includes PCB, LCD display, electronic components, temperature probe, remote control and assembly accessories. Designed for makers and electronics enthusiasts to build and explore PWM fan control, motor regulation and electronic circuits.
Parts and connections described in the example
| Part | Role or connection |
|---|---|
| Arduino Uno Rev3 or ATmega328-based Arduino | Main controller; the sketch is uploaded with the Arduino IDE. |
| Analog LM35 temperature sensor | Sensor output to A0; the project describes its output as 10 mV/°C. |
| 10 kΩ potentiometer | Setpoint control: wiper to A1, with the other terminals connected to supply and ground. |
| Miniature DC motor | Demonstration fan load. |
| MJE3055 transistor and base current-limiting resistor | Motor driver stage controlled from pin 9; the motor is not powered directly by an Arduino pin. |
| Character LCD | Displays temperature and status. The parts list identifies a 20×4 display, but the sketch initializes 16×4. |
| LCD contrast potentiometer | The circuit description specifies a 10 kΩ potentiometer at the LCD VEE pin. The parts list names only one 10 kΩ potentiometer, so confirm whether the diagram shows a separate contrast control. |
| Three LEDs and 470 Ω resistors | Red, green, and blue status indicators on pins 6, 7, and 8. |
| 8 Ω speaker | Audio alert connected to digital pin 10 as described. |
| Breadboard and Arduino IDE | Prototyping and programming. |
Resolve the LCD and potentiometer details before wiring
The project page lists a 20×4 LCD but its code calls lcd.begin(16, 4). Confirm the actual display dimensions and set the library initialization to match; otherwise, the displayed layout may not behave as intended. The circuit description also assigns a potentiometer to LCD contrast separately from the setpoint potentiometer, although the component list names only one. Check the circuit diagram and include a control for each role if both are required.
What the control numbers do—and do not—mean
The 0–100 °C setpoint range, ±5 °C band, and 10.31 ADC counts per °C are values or assumptions given in the 2019 Arduino Project Hub explanation and sketch. The count conversion assumes a 5 V ADC reference and scales the LM35’s stated 0–1 V output range; it is not a universal accuracy specification for the sensor or a measured performance result for the build.
Rank #2
- TURN CODE INTO REAL-WORLD RESULTS — Follow 22+ guided lessons to make LEDs blink, read temperature and distance, move servo and stepper motors, control an LCD and respond to joystick or IR input; ideal for a family weekend build, homeschool unit, coding club or STEM classroom
- MORE PROJECT VARIETY IN ONE ORGANIZED KIT — Includes the UNO R3 controller, LCD1602 with pre-soldered header, breadboard power module, ultrasonic and DHT11 sensors, joystick, IR receiver and remote, SG90 servo, stepper motor, relay, DC motor, fan blade, displays, LEDs, buttons, resistors and jumper wires
- START WITHOUT SOLDERING — Plug-in modules, a solderless breadboard and the pre-soldered LCD help beginners focus on wiring, code and testing; the illustrated component list makes it easier to find each part and move from one lesson to the next
- LEARN THE LOGIC, THEN CREATE YOUR OWN — Use Arduino IDE and the included example code to understand digital input and output, analog sensing, timing, motor control and display functions, then change thresholds, speeds and sequences for alarms, environmental monitors, reaction games and motion projects
- CLEAR SETUP SUPPORT FOR FIRST-TIME BUILDERS — Download the latest tutorial and code, select the UNO board and correct computer port, check component polarity and breadboard rows, and keep power-module input at 9V or below; younger learners should work with an experienced adult
The code uses strict greater-than and less-than tests for the upper and lower limits, and its normal branch checks values strictly between them. A reading exactly equal to either limit is therefore not handled by those three conditions as written. If adapting the sketch, define the equality behavior explicitly—for example, by using inclusive comparisons or a final fallback branch—so every possible reading has a defined status.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Keep the load and driver appropriate
The described output is a miniature DC motor driven through an MJE3055 transistor and a base resistor. Do not connect the motor directly to an Arduino output pin. The project does not establish that this circuit is suitable for a computer fan, household fan, mains-powered fan, or a different motor; each load needs a driver and power arrangement suited to its electrical requirements. The page provides no independently validated performance figures or safety certification.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #3
- Voltage: 5VDC, Current: 0.13A, Power consumption: 0.65W
- DC Brushless Fan: Quiet
- Small size and light weight: 50mm x 50mm x 10mm, 65g
- Tutorials for Arduino, ESP32, ESP8266 and Raspberry Pi are provided
- Cooling Fan works with Arduino, ESP32, ESP8266, Raspberry Pi, or any 5V or 3.3V microcontroller.
The design and code details above are from ambhatt’s Arduino Project Hub project, published September 8, 2019.
Quick Recap
Best Value
- Build a 37-Module Sensor Lab: Add motion, distance, light, sound, temperature, touch, display and control functions to compatible UNO, MEGA, Nano, ESP-32 or STM32 projects for prototyping, classroom experiments and maker builds
- Explore Input Sensors and Motion: Experiment with GY-521 motion sensing, PIR detection, ultrasonic ranging, temperature and humidity, DS18B20, flame, Hall, touch, light, sound, tilt, tracking and obstacle-avoidance modules
- Add Displays, Timing and Control: Use the LCD1602, DS1307 real-time clock, joystick, rotary encoder, relay, buzzers, RGB LEDs and infrared modules to build clocks, alarms, counters, status displays and automated projects
- Follow Guided Projects Materials: Use digital tutorial materials, datasheets, wiring diagrams and example code for compatible UNO R3, MEGA 2560 and Nano boards, then adjust thresholds, timing and logic to create custom experiments
- Module-Only Expansion Kit: Controller board, USB cable, breadboard and jumper wires are not included; use 6.5–9 V DC only with the included power module, verify pin requirements before wiring and keep the laser emitter away from eyes
Rank #4
- 𝐋𝐄𝐃 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐡𝐞𝐫𝐦𝐚𝐭𝐢𝐜 𝐅𝐚𝐧 𝐒𝐰𝐢𝐭𝐜𝐡: The Part #0444 digital radiator fan switch kit is designed specifically for automotive and industrial cooling systems and is suitable for 12V and 24V applications. Easy to installed, settings can be easily adjusted through simple programming, making it suitable for a wide range of vehicle models and equipment. It senses air temperature as it passes through the radiator with the sensor placed in the radiator fin section.
- 𝐏𝐫𝐞𝐜𝐢𝐬𝐢𝐨𝐧 𝐓𝐞𝐦𝐩𝐞𝐫𝐚𝐭𝐮𝐫𝐞 𝐂𝐨𝐧𝐭𝐫𝐨𝐥 & 𝐑𝐞𝐚𝐥-𝐓𝐢𝐦𝐞 𝐌𝐨𝐧𝐢𝐭𝐨𝐫𝐢𝐧𝐠: LED digital display shows real-time temperature (104-230°F/40-110°C) and custom preset values with power-off memory. Automatically activates fans when threshold reached and shuts off 5°C below set point for energy efficiency.
- 𝐃𝐮𝐚𝐥 𝐅𝐚𝐧 𝐌𝐚𝐧𝐚𝐠𝐞𝐦𝐞𝐧𝐭: Supports 1 or 2 fans (30A load capacity) with 10-second delay start for Fan 2 to prevent circuit overload, effectively improving cooling efficiency and saving energy.
- 𝐔𝐬𝐞𝐫-𝐅𝐫𝐢𝐞𝐧𝐝𝐥𝐲 𝐈𝐧𝐬𝐭𝐚𝐥𝐥𝐚𝐭𝐢𝐨𝐧: Clear installation instructions and color-coded wires (red/B+, black/B-, yellow/ignition+) enable quick installation even in tight engine compartments. Sensor cable length upgrade, and all cables are oversized to electric fans ensure current carrying capacity. A/C override or manual toggle switch wires are built directly into the harness.
- 𝐃𝐮𝐫𝐚𝐛𝐥𝐞 𝐚𝐧𝐝 𝐑𝐞𝐥𝐢𝐚𝐛𝐥𝐞: The electric fan controller kit is made of high-quality materials and can maintain stable performance in the usage environment. Compatible with OE# 0444 DC0444 DC-0444 digital radiator fan switch.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




