I would like to present an Arduino-based soldering iron temperature controller that I have recently developed, and was asked by a member here to share.
It has been designed to control a 24v 50W iron, in my case an Antex TC50, although any iron with a thermocouple sensor should be suitable.

Features:
The list of parts used is as follows:
The controller starts in IDLE mode, set to 150C.
A short press of the mode button toggles between this and ON mode, where the temperature can be adjusted via the up/down buttons.
A long press of the mode button selects toggles between these and OPEN loop mode, where the up/down buttons adjusts the power in the sequence 0-1-2-4-8-15, where 15 = full power.
If there is no valid temperature reading, closed-loop modes will set the power to zero and display 'OOR' (Out Of Range). Open-loop mode will work without a valid temperature reading, either as a backup or when manual control is desired.
The default temperatures and ranges can be modified in the code, as can the pins used for the various interfaces (The MOSFET driver should stay on pin9 as this is hardwired to the timer used).
Temperature/power plot, IDLE->ON plus some use of the iron, followed by ON-> IDLE
Example build:
Please see below for schematic and Arduino code (+ LCD library for the serial backpack I used).
Full details also on: my GitHub
It has been designed to control a 24v 50W iron, in my case an Antex TC50, although any iron with a thermocouple sensor should be suitable.

Features:
- Closed-loop temperature control, setting 25-450C (adjustable in code)
- IDLE mode maintains a lower temperature (set in code), also closed-loop
- OPEN loop mode with selectable constant power
- Display shows mode/set temperature, and current power level
The list of parts used is as follows:
- Arduino UNO R3 (any clone will do) + prototype shield
- MOSFET driver module (D4148)
- MAX6675 thermocouple interface (like this)
- 24v to 5v buck converter module (something like this)
- 16x2 LCD display with serial backpack (I used this)
- 3 buttons
- Connector for soldering iron
- Enclosure of your choice
- 24v 3A SMPS (such as this) + socket
The controller starts in IDLE mode, set to 150C.
A short press of the mode button toggles between this and ON mode, where the temperature can be adjusted via the up/down buttons.
A long press of the mode button selects toggles between these and OPEN loop mode, where the up/down buttons adjusts the power in the sequence 0-1-2-4-8-15, where 15 = full power.
If there is no valid temperature reading, closed-loop modes will set the power to zero and display 'OOR' (Out Of Range). Open-loop mode will work without a valid temperature reading, either as a backup or when manual control is desired.
The default temperatures and ranges can be modified in the code, as can the pins used for the various interfaces (The MOSFET driver should stay on pin9 as this is hardwired to the timer used).
Temperature/power plot, IDLE->ON plus some use of the iron, followed by ON-> IDLE
Example build:
Please see below for schematic and Arduino code (+ LCD library for the serial backpack I used).
Full details also on: my GitHub
Attachments
Last edited: