About: Electronics hobbyist

In this Instructable you can learn how to make a hot air gun controller using Arduino and other common components. In this project, PID algorithm is used to calculate the power required and is controlled by a isolated Triac driver.

this project uses a handle compatible with 858D, it has a K-type thermocouple, 700 watt 230 VAC heater and a 24 VDC fan.

This controller is efficient and reliable compared to the commercial one and is easy to build.

Step 1: Gather the Parts.

Here is the part list and link from where you can order them.

1. Modules and Boards :

> Arduino Pro Mini

>1602 LCD + I2C module

>Rotary encoder with push button

2. Tools :

>Hot Air Gun Handle :

>Hot Air Gun Handle Holder + Nozzle :

3.Semi-Conductor devices :

>BTA12-600B Triac:



>MOC3021 DIAC :



>UF4007 DIODE :

4.Connectors :





Female Headers :





>200K TRIM POT :










Buzzer :

Step 2: Wiring

The following modification should be made to the arduino pro mini to use it. Since, the I2C pins of arduino A4 and A5 are not PCB friendly. The pins A4 to A2 and A5 to A3 should be shorted as in the picture.

Wiring for I2C LCD module:

I2C Module<--------------> Arduino Pro Mini





Wiring for Rotary encoder module:



+<-------------------------------->NC(Not Connected, code uses inbuilt input pull-up of arduino)




Wiring of Handle:(7 wire)

3pin connector - (Green, Black, Red)

Red wire<----------------------->Thermocouple +

Green wire<-------------------->Reed Switch

Black wire<--------------------->Common ground.

2 pin connector - (Blue, Yellow)

Blue wire<--------------------------> Fan +0

Yellow wire<------------------------>Fan - (or GND)

2 Big pin connector -(White, Brown)

White wire<-----------------------> Heater

Brown wire<----------------------> Heater(no polarity)


Thewiring of the hot air gun handle may be different for different type of wands. So, refer to the wiring diagram in the photo and follow the path of the wire to find the respective pins.

Step 3: Circuit Diagram

The circuit consists of 3 parts mainly.

The Interface Part :

It consists of a 1602 LCD display with I2C module and a rotary encoder with push button. The display shows the set temperature, current temperature, Fan speed and applied power and current status of the handle. The encoder is used for various inputs and to navigate through the options and controls.

The Sensor Part :

It consists of a K-type thermocouple for temperature sensing and a reed switch for determining the position of the handle. The thermocouple's voltage is amplified by the op-amp to a voltage level measurable by the arduino. The gain of the op-amp is controlled by 200K trim pot.

The Controller Part :

There are mainly 2 controllers in this circuit. The one is a simple PWM Fan speed controller with a MOSFET. The other one is a isolated controller for heater. It consists of a TRIAC driven by a opto-coupled DIAC and it is done by controlling the number of wave cycles that is delivered to the heater. The 4N25 optocoupler helps to maintain the sync with the AC waveform.

Step 4: PCB

The circuit of this project is a bit complicated, So I recommend you to use a printed board than a dot PCB. If you want to make your own PCB I have attached the eagle files in this step. But, If you want to get them done by a PCB manufacturing company you can order it from JLCPCB

. You can view the Easy EDA design through this link :

Step 5: The Code and Libraries.

The program is the most crucial part of the project and thanks a lot for sfrwmaker writing the program. The program uses PID algorithm to control the power to maintain the set temperature. It works by controlling the number of wave cycles delivered to the handle per second.

When the controller is turned on the wand will be in OFF state. By rotating the encoder the temperature and fan speed can be adjusted. Short press of the encoder will switch between the Fan speed and Set temperature adjustment.

The Hot air gun starts heating as soon as it is lifted up from the holder and shows Ready and make a short beep when it reaches the set temperature. It will turn off heating as soon as it is put back into the holder. But, the fan will continue to blow until it reaches the safe temperature. After the temperature falls below 50 C it will make a short beep and displays COLD.

When the hot air gun is off, the controller will enter Setup mode if the encoder is long pressed.

The setup mode has Calibrate, Tune, Save and Cancel and Reset Config options.

Note: If you are using PCB from easyEDA then you should change the pin number of reed switch to pin no. 8 and Buzzer pin to pin no.6

you have to install the Commoncontrols-master library andtime-master library for the code to work properly.

go to this GitHub repository to download all the files in one zip file:

Step 6: SETUP

The temperature readings should be calibrated with the original value to get reasonable readings. So, in order to do that you should follow the following steps.

First, go to the setup mode and select the Tune option.In the tune mode the internal temperature (0-1023) is displayed on the screen.Rotate the encoder to manually select the applied power to the hot air gun. Heat the gun to 400 degrees.When the temperature and dispersion become low, the controller beeps. Then tune the trim-pot to set the internal temperature about 900 (in the internal units). Long press to the encoder return to the menu

Then, go to the setup mode select Calibrate option. Choose the calibration point: 200, 300 or 400 degrees, press the encoder. The hot gun will reach the desired temperature and beeps. By rotating the encoder, enter the real temperature. Then select another reference point and repeat this process for all the calibration point.

After this long press and come to main screen and then again go to Setup mode and select save.

And now the Hot air rework station is done.

Step 7: Finished Project:

For power supply, I have used Hi-link 230 VAC - 5 VDC 3 watt isolated power supply module and for 24 VDC have used 12-0-12 500 mA transformer by connecting the 12 VAC end to a bridge rectifier and center tapped is left unconnected. Then the rectified output is fed to a filtering capacitor and then to LM7824 voltage regulator IC. The output of the IC is the regulated 24 VDC.

Thank you sfrwmaker for writing the code, Checkout the other projects by sfrwmaker:

Thanks to LCSC for their support. LCSC Electronics is one of the fastest growing suppliers of electronic components in China. LCSC has been committed to offering multitudinous, genuine and in-stock items, since its founding in 2011. Aiming to provide the whole world with more superior parts from Asia. More details please visit:

If you have to make your own PCB at home, checkout this instructable:

Thank you.