DIY Soldering Station




Hello again!

This project was on my mind for over a year now.

After torturing myself with hundreds of work hours with generic no-name 40W soldering iron I've finally decided to make my own professional soldering tool. There are many cheap alternatives on the market, like AIOU / YOUYUE / [other unpronounceable brands] soldering stations and combo rework stations, but they all have some major flaws or questionable design choices, which we'll talk about later. If you want it done right - do it yourself!

WARNING: This is not gonna be one of those fancy DIY stations with AMOLED display, touch panel, 50 programmable modes, running FreeBSD with WiFi and bluetooth connectivity; all I'm trying to make is a simple tool that does one thing : solder stuff!

The only few exceptions I want to make are the following:

  1. Idle mode (keep 100-150°C when on stand)
  2. OFF timer, so I won't accidentally burn the house
  3. UART for debugging (just for this build)
  4. Extra PCB connectors for secondary iron or hot air wand

Interface is going to be simple: I want to use a couple of buttons, rotary encoder and a 16x2 LCD display(HD44780).

As it happens with most of my projects I will try to keep the cost to a bare minimum and scavenge as many parts for this creation as I can.


The reason why cheap aftermarket soldering stations suck is that you never know what you are getting, unless you can do a full test drive, disassemble to evaluate parts and assembly quality and most importantly, check with other owners of this exact model for feedback on quality and reliability: same company keeps popping the exact same product under different name/brand every couple of years just to confuse buyers.

As an example : about 2 years ago I bought a rework station online, and while I was(and still am) very happy with it's performance, I got very tired of a dumb design choices, like making power cord and compressor-less rework wand non-detachable and extremely short. These issues make it very uncomfortable to use (even move it on the table): station keeps flipping over as you move the wand around :( The insides were flooded with hot melt glue, so it took me a week to clean it and fix all critical and noncritical issues. Cabling for rework handle was poorly attached, so the insulation constantly slips off, creating potential wire breaks and fire hazard.

Step 1: Parts List: Evaluating the Financial Damage


  • 24V 50-60VA transformer. I've got a transformer with a secondary 9V line, which should work perfectly, because 24V will provide power for the iron, while 9V is going to be dropped to 5V for logic components.
    Alternatively you can use a 5V AC-DC buck converter for logic($1.50-$2.00) and only implement a 24V supply for the iron.
    A brand new transformer costs around $7.00-8.00 on eBay
  • ATMega8 (from a failed project) $1.10 new
  • Enclosure box.
    Any reasonably-sized sturdy box (preferably metal) will work. You can even use that broken PSU's case.
    With an extra $15.00 in your pocket you can get a cool-looking aluminium enclosure like this one:
  • Two-sided copper clad board
    Retails at $1.50 per single 100x150mm sheet
  • Rotary encoder from an old cassette stereo. Works flawlessly, but a rotary cap needs to be replaced.
    New ones go for $1.50 without cap
  • 16x2 LCD HD44780 display.
    Retail: $2.00
  • Various passive components (caps, resistors etc.) I'll average out the sum to $5.00 just in case.
  • LM7805 or equivalent voltage regulator. Found on eBay: 5pc for a buck
  • Not overly large TO-220 radiator $1.00-$1.50
  • HAKKO 907 replacement iron $5.00 - $6.00
    Mine is definitely a clone, yet they've managed to get all specs and spacing for ceramic heater just right
  • IRF540N mosfet from my improvised LED driver. Just in case need to buy one more ~$1.00
  • LM358N op-amp $0.45
  • Rectifier bridge $0.25 x 2
  • 5 pin socket and plug. I got this one a long time ago for $3.00. Now you can buy those cheaper in 5pc. bundles
    Looks awesome comparing to stock 5-pin connector and will definitely last longer
    Original socket costs a lot less and is almost identical to an old cassette stereo connector I've just destroyed.

  • Power switch $0.50-$1.00

  • AC plug of your choice. I'm using a socket from an old PC power supply $1.00

  • 5A fuse and fuse holder $2.00

TOTAL BUDGET: anywhere from $35.00 to $50.00 (depending on what you already have and whether you want it look cool)


Regarding power supply

There are some other viable options you could consider. For example you could get a relatively cheap 24V 3A power supply like this one:

24V 3A Power supply

Simply add a cascade of LM317 and LM7805 to drop the voltage to 5V on logic side and you get the same result with the same cost and less work.

P.S. Just to make it easier for you to look for parts: absolutely everything on this list can be purchased on eBay from both Chinese and US retailers.

Step 2: DAY 1 - Planning and Circuitry


This is a very important step, so please read this section carefully.

First of all, there are many clones of HAKKO 907 handles and there are at least two variations of the original HAKKO irons (with A1321 and A1322 ceramic heater).

Cheap $2-3 clones are an early examples of non-genuine parts. They use a K-type thermocouple and very crappy ceramic heater (or simple nichrome coil).

More expensive $6.00-$7.00 clones are almost identical to original HAKKO 907. The only way you can distinguish clone from an original is by markings on the wire insulation or possible absence of HAKKO brand and model number on ceramic heater itself. I was really lucky and got this one.

You can check whether your part is genuine by measuring the resistance between pins or heating element wiring:


Heater: 3-4Ohm

Thermistor: 50-55Ohm at room temperature

Tip to ESD pin: < 2Ohm


Heater: 0-2Ohm for Nichrome heating, >10Ohm for crappy ceramic

Thermocouple: 0-1Ohm

Tip to ESD: < 2Ohm

NOTE: If your heating element resistance is very high, it is most likely damaged. You should ask for replacement(if possible), or purchase a new genuine A1321 ceramic heating element.


To make things a bit confusing I have drawn my transformer as two transformers. The circuitry itself is very easy and you should have no problems understanding it.

1) At the output of each secondary we will put a rectifier bridge. I bought a few small 1000V 2A bridges, which should be good enough. The transformer itself only outputs 2A max on 24V line and the iron is rated at 50W, so our theoretical max power is going to be around 48W.

2) 24V DC output also has a smoothing 35V 2200uF capacitor. This might be an overkill, but in the future we will probably connect some more stuff to 24V line besides ceramic heater.

3) I've used an LM7805T voltage regulator with some capacitors to drop 9VDC to 5VDC to power up the control board with all logic components.


The second schematic demonstrates how we are going to control our ceramic heater: we acquire the PWM signal from ATMega microcontroller and send it through PC817 optocoupler to the gate of IRF540 mosfet.

Resistor values at this stage are purely theoretical approximations and may be adjusted in the final design.

Pins 1 and 2 correspond to ceramic heater wires.

Pins 4 and 5 (thermistor) wired to the output connector, which we will use as inputs of LM358 op-amp on our control board.

Pin 3 is an ESD connection from the soldering iron.


At the heart of my design is an ATMega8 microcontroller. This is actually the first time I work with something other than ATTiny13 or ATTiny2313.

This MCU gives us enough IO pins to avoid using shift registers for I/O and simplify our design.

Three OC pins will provide enough PWM channels for future upgrades (secondary iron for example), while tons of available ADC channels can provide additional temperature monitoring capabilities. As you've probably noticed, I've already added an extra PWM channel and an extra temperature sensor connectors for future add-ons.

At the top right corner we have our rotary encoder connections (A and B for direction, plus the push button).

LCD connector has been separated into 2 parts: 8-pin Supply and Data, 4-pin contrast/backlight control.

In addition to essential connectors I've added 4-pin UART for preliminary debugging (we'll only use RX,TX and GND pins).

ISP connector is not implemented. We will use a DIP-28 socket to connect our microcontroller and take it out for re-programming whenever we need.

R4 and R8 control the gain of corresponding amplifier circuits (x100 max gain).

Some things may change in the final design, but overall structure stays the same.

Step 3: DAY 2 - Handiwork and Preparations

The assembly process has proven to be a bit more complicated than I anticipated.

The project case I've been planning to use came out to be very small (or my parts too big), so I had to replace it with a spacier alternative: a $4.00 prototyping/instrumental box. The downside is that my soldering station will be bigger. On the bright side, we have space to attach some trinkets and Christmas lights in the future: LED lamp for comfortable soldering, secondary iron or reflow wand connector, smoke extractor etc.

Both PCBs were combined into a single 60x110mm unit (see next section).


For this project I'd like to start the process backwards. Instead of working on MCU code and fabricating circuits I want to start with preparing box and parts for assembly, because these aspects of our project won't change.

So, let's get it out of the way!

If you have successfully found a matching socket for your HAKKO iron, you can skip the next couple paragraphs.

First, I'd like to replace the original plug on my soldering iron with the new one. It is solid metal and has a holding nut, which means it will always stay in place and will last forever. Just cut the old 5-pin connector and solder the new one on its place.

Drill a hole in the front plate of the box to insert a new socket. Check if socket fits OK and then leave it as is. We'll mount all of front panel components later.

Then, you solder 5 wires to the socket and assemble a 5-pin connector, which will go to the PCB (see picture above).

Next, you cut a hole for your LCD display, rotary encoder and 2 buttons. If you'd like to have a power switch on the front panel, you should make a spot for it too.

On the last picture you'll notice, that I have used a ribbon cable (from an old floppy drive) to connect LCD screen. This works best, so if you have some unused floppy or IDE cables laying around, I'd suggest you do the same.

The last thing is to mount 4-pin connector to your rotary encoder and if you are using any pushbuttons or tactile switches - connect them too.

Also it is wise to make 4 holes for small bolts at the corners of LCD panel area, because otherwise display won't stay in place.

Back panel only has the power connector and the switch.

Step 4: STILL DAY 2 - Making a PCB

Well, there is not much to it. You can either make your own PCB layout that fits your specs and space requirements, or use the ones I provide.

There is a ZIP archive with Eagle schematic+board layout (final version) and a separate PDF file only with top and bottom layers of PCB.

NOTE: My layout is somewhat lazy, so if you want to make a single-layer PCB instead you can either solder wire jumpers across that single 5V track or juggle around with components and make it work with only the bottom layer. For easy assembly/disassembly I've made 100% through-hole design, but with SMD components and a bit of know-how you can make it about half that size.

On the last few photos the circuit is almost completely assembled and ready to go in the box.

Step 5: DAY 3 - Finishing Assembly and Starting to Work on Code


At this point you should definitely power up the whole contraption on and check voltages at all critical points (5VDC, 24VDC output etc.) Both LM7805, IRF540 and pretty much all active and passive components should be cold at this point.

If everything is cool and your PCB hasn't burned, you can mount all components together. If you have previously finished the front panel with controls you'll only have to solder transformer input wires, mains fuse, power plug and power switch.

Step 6: DAY 4-13 and Counting - ​FIRMWARE



I wanted to finish this part last week, but got blasted with few important and lengthy projects at work. The raw and untested firmware I'm using right now is quite unstable, which is why I've decided to postpone its release until I make at least some kind of self-diagnostics and debugging subroutines. I don't want you to burn down your house or workshop, so please wait until it is finished (won't be too long).

What I have in mind, is a basic PID control and few additional modes with fixed power output. If you are impatient and would like to start working on your own firmware before I finish mine, here is some good reading materials:

1. Discrete PID Controller Application Note

2. AVR Freaks: PID Controller implementation thread

3. Wikipedia article on PID with pseudocode example

I'll try to finish the viable firmware as soon as possible, so stay tuned and please vote for me in the Soldering contest!

Soldering Challenge

Runner Up in the
Soldering Challenge



    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest
    • Beauty Tips Contest

      Beauty Tips Contest
    • Pets Challenge

      Pets Challenge

    43 Discussions

    Maker BR

    2 years ago

    could any one say that if this works with 936 soldering iron.


    2 years ago

    bought a similar iron and i found a matching connector


    2 years ago

    Great project. I am trying to start a similar project based on your schematic, just with a few changes.

    For those people trying to make a similar project, you can try this link:

    It has all that you need to finish what you start.


    3 years ago

    I'm unablew to find a 24V AC transformer on eBay. The one i can find ar about 60$ and very bulky... Can someone help me find this crucial part!

    1 reply

    3 years ago

    Hey! Great work there! I was wondering how you converted the thermistor reading to celsius? Were you using the Steinhart-Hart equation or a lookup table? (Or something else? )


    3 years ago

    this is a very similar build to other hakko 907 builds. google arduino hakko 907 and you will find several similar builds using the lm358 op amp with arduino and hakko 907 them and edit their software to function with this project.

    (thats almost an exact replica)

    thats the first 3 that looked i should click on in google and they all work similarly. check the resistors and adjust accordingly going into the lm358 op amp. problem solved. oh you might have to change a few pins on the schematic or in software depending on you so......


    3 years ago


    where is AVR Program?


    3 years ago


    Looks good but without firmware (in whatever stage that is) no one can even test it and well, maybe help in advancing the project. It would be nice and helpful if you release the firmware in the present state, even if it is full of errors or bugs. Just my opinion. And I for one would be grateful if you do release it.



    3 years ago

    Great job on the design! I think you have a typo in iron controller though. The label says it feeds 24VDC at X1-1 and X1-2 but that's the mains right? X2-1 and X2-2 is the 24VDC. Correct me if im wrong :)


    3 years ago

    Why do you use optocoupler to switch on the MOSFET? I'm genuinely curious.


    3 years ago

    Your project seems to be helpful. However, the software has not been shown. How can I test it.


    3 years ago

    Waiting for it to be completed...


    3 years ago on Introduction

    Hi, great instructable.

    I have started to build this myself. I have got all the parts. With the Thermistor have you had any luck reading it yet? I am stuck on this part all the rest is done. Have you found a chart to reference from or are you useing the Steinhart-Hart equation? Any help would be appriciated.

    3 replies

    Reply 3 years ago on Introduction

    Project is on hold for another week or a bit more - I have some serious construction going on in the house and I had to move most of my lab stuff into boxes (we're rebuilding part of the house).

    About your question: I found this a while ago, and as you can see for any clone or original handle the resistance distribution relatively to the temperature is close to linear. It's just a matter of measuring few reference points(for example room temperature and max allowed temperature, or 100 & 200°C) and mapping ADC readings to temperature values. Not the most accurate way, but it will be good enough for +/-1°C.

    I've put together a small assembly code to display only the high byte of ADC registers and compared to what I would get theoretically from the chart, and it was pretty close.

    At maximum gain(x100) and room temperature ~32°C I get ADCH value of ~130. I've only tested my setup to 150°C (ADCH=200) before all this construction chaos started, but as I mentioned earlier - the observed resistance change was very close to theoretical approximation (ADCH_val = 256 * (Gain * R/(R+10000))).


    Reply 3 years ago

    Is there any progress on this project? I was very interested in doing this, but then saw in the comments that it's not finished. Since I have no knowledge about this I not be able to proceed without instruction. I hope you are able to finish and then provide that instruction. Thanks


    Reply 3 years ago on Introduction

    Awesome mate. Thanks for your help. I was thinking of measuring the Temperature by slowly increasing the temperature with low PWM Duty Cycle and Serial output the reading and temperature via an external temperature sensor. Map it in Excel and get a polynomial or linear equation. Good luck with the house construction.


    3 years ago

    Hey, I would be very interested in making this as a school project, but its been almost 2 months now and still no firmware? Im thinking this might be dead?


    3 years ago on Introduction

    Hi, I want to build this solder station , especially as I have Hakko clone with termistor builtin, when you post the code for the microcontroller? I use ATMega8, encoder is in Gray code or simple?, work with buttons ?