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!

could any one say that if this works with 936 soldering iron.
bought a similar iron and i found a matching connector
<p>Great project. I am trying to start a similar project based on your schematic, just with a few changes. </p><p>For those people trying to make a similar project, you can try this link: </p><p><a href="https://create.arduino.cc/projecthub/sfrwmaker/soldering-iron-controller-for-hakko-907-8c5866?ref=platform&ref_id=424_recent___&offset=17" rel="nofollow">https://create.arduino.cc/projecthub/sfrwmaker/sol...</a></p><p>It has all that you need to finish what you start.</p>
<p>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!</p>
<p>You can try to modify a laptop power supply like this</p><p><a href="https://hackaday.io/project/3469-modifying-a-notebook-power-supply" rel="nofollow">https://hackaday.io/project/3469-modifying-a-noteb...</a></p><p>It's easy, I just modified one to output 12V, just need to change some resistors.</p><p>If you need more power you can use an old Fujitsu-Siemens Amilo power supply</p>
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? )
<p>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 iron....compare them and edit their software to function with this project. </p><p><a href="https://www.instructables.com/id/DIY-Soldering-Station-for-HAKKO-907/" rel="nofollow">https://www.instructables.com/id/DIY-Soldering-Stat...</a></p><p><a href="http://www.trythistv.com/viewtopic.php?f=6&t=109&sid=ce0719ea1b3ebc9130dc8b6212a4abff&start=50" rel="nofollow">http://www.trythistv.com/viewtopic.php?f=6&amp;t=109&amp;s...</a></p><p>(thats almost an exact replica)</p><p><a href="http://macoprojects.blogspot.ca/2010/09/home-made-soldering-station.html" rel="nofollow">http://macoprojects.blogspot.ca/2010/09/home-made-...</a></p><p>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......</p>
<p>Hi</p><p>where is AVR Program?</p>
<p>Hi,</p><p>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.</p><p>Thanks.</p>
<p>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 :)</p>
<p>Why do you use optocoupler to switch on the MOSFET? I'm genuinely curious.</p>
<p>Your project seems to be helpful. However, the software has not been shown. How can I test it.</p>
<p>Waiting for it to be completed...</p>
<p>Hi, great instructable.</p><p>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.</p>
<p>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).</p><p>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 &amp; 200&deg;C) and mapping ADC readings to temperature values. Not the most accurate way, but it will be good enough for +/-1&deg;C.</p><p>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.</p><p>At maximum gain(x100) and room temperature ~32&deg;C I get ADCH value of ~130. I've only tested my setup to 150&deg;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))).</p>
<p>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</p>
<p>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.</p>
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?
<p>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 ?</p>
<p>Great idea! <br>But also, investing in a Weller or some other high quality soldering station is also really good idea. I've been using my Weller for over 6 years, not a flaw with it. Still burns through motherboards :)</p>
<p>I am going to be making this soon, Looks like a cool idea, but I plan on just using a arduino and a mosfet and just get a standard thermocouple amplifier. Also, is it a thermocouple in there or is it a thermsistor?</p>
<p>The one I have uses a built-in PTC thermistor. With a thermocouple you will definitely need to modify the amplifier sub-circuit.</p>
<p>Thanks :D, I am going to be using a Atmega328P, and it has a built in ADC, and using a precision 10k resistor I can calculate the resistance without the need for all that extra stuff. https://learn.adafruit.com/thermistor/using-a-thermistor Thank you for the knowledge and the great Idea!</p>
<p>I'll do quick calculations for you, so you won't make a mistake of not using the &quot;extra stuff&quot;.</p><p>In 0-400&deg;C range that PTC thermistor changes resistance between 50 and 120 Ohms(approximately). With a 10K resistor in a voltage divider you'll get ADC values between 20 and 49, which means your atmega will be able to calculate the temperature in 14&deg;C increments. Add EMI and some other environmental errors, and you will get some very-very unexpected temperature readings...</p><p>If you are planning on using thermocouple instead, you may want to consider digital thermocouple amplifiers. Adafruit has one based on MAX31855 chip. It is quite expensive, but highly accurate and easy to use.</p>
<p>I see and heed your advice, thank you.</p>
<p>Great project. I have the hakko fx-888d. It runs from a really cheap 230V to 120V step down converter. I couldn't find a transformer to convert it and this makes the setup huge and heavy. Never thought of using a step down converter before tho. Thanks! I will probably be converting my fx-888<br><br>I like the lcd readout the hakko has but not the buttons to change the temp. I might build this anyway to see how it goes. Because it uses a rotary encoder i like it alot more already.</p>
<p>Your project seems to be fun and usefull, but without software, is nothing than useless. I'll vote for you when the project will be complete.</p>
<p>you can use a half phase power for the electronics but using a single diode</p><p>you don't need a log of power from that 9v coil half wave will drop the input voltage a tad to the 7805 and help if it's getting hot</p>
got my vote too
<p>Nice Project. </p><p>I have been thinking to build one myself for quite some time, and now I will, once yours is completed with firmware and all.</p><p>Best of Luck.</p>
<p>got my vote...</p>
<p>I made similar controller for some generic ceramic soldering iron (65W afair), but instead of pwm, DC and mosfet for power I used straight AC from transformer, triac for switching and ac zero cross detection circuit, then PID algorithm to control the timing when to open the triac, no heat sinks required, standard TO220 triac casing dissipates the tiny amount of heat there is on it, doesn't even get warm to the touch</p>
<p>That's what I originally had in mind - just run 24VAC through BT136 triac, but laziness always beats dedication - I had a leftover IRF540 from my LED driver project, so I used it instead... shame on me (((</p><p>IRF540 runs cool, but previously I only used it in my LED driver, which ran at 12V 1A. According to datasheet it can dissipate up to 150W but with its thermal resistance and temperature ratings I did not want to push it over half its limit without at least some cooling. Plus in the future I wanted to replace that used transformer with something more powerful and reliable, so I can hook up something other than iron to it (fume extractor, secondary iron, vacuum tool etc.)</p>
<p>Interesting project! I'll be watching for updates!</p><p>I'm curious about the heat coming off that mosfet (and the big heatsink). Is your software far enough along to test it yet? If I understand correctly, you are driving it directly with the PWM signal, so the mosfet will usually be either fully saturated on or off -- meaning it shouldn't dissipate much power unless the transitions are unusually slow.</p>
I had considered building one at one time, however found a knockoff on Amazon with hot air reflow for under $100.
<p>Got one myself ($45 bought locally), but it is only a hot air rework station. I've considered an upgrade to multi-purpose station with dual iron and hot air wand, but those are huge 700W monsters, that's why I'm making my own ))</p>
<p>Nice project, but what did you use to solder it together? ;-)</p>
<p>my old 40W generic no-name iron )))</p>
<p>Well , I suppose it all depends on what you want , or need ,and how you are going to use it . From my experience , an old UNGAR or WELLER 23-40 watt iron does all that I need , without temperature control or display . Although I do have an adjustable Weller that had been thrown in the trash because the control board had &quot; fried &quot; and was too expensive to repair . I use a standard triac light dimmer to control it ( a couple of bucks ) . If I need to cool it down for heat sensitive components , I can , but I usually don't need to , and I don't have a temperature display . I guess that I don't need an alphanumeric display to tell me that it is a soldering station , I already know what it is . When I need more heat for some jobs , I have 4 Weller soldering guns of different wattages . I got them fairly cheap , mostly from yard sales . If I am soldering a larger wire to a chassis , I use my D550 ( 240/325 watts ) Anyway , good project ! </p><p>Cheers , take care , and have a good day !! 73 to all !</p>
<p>That's true - in reality a properly calibrated and functional SID only needs 2 LEDs to indicate power and heater status, but if a simple iron with PWM control could be applied in any situation, there wouldn't be a market for any type of soldering station. Especially this is true for things like laptop/tablet motherboards and fine-trace SMD boards (pads and traces are easily damaged at lower or higher temps for various reasons).</p><p>I guess my excuse for adding a LED display and all the extras is that I want to reuse this device later in another project - a bottom pre-heater for an IR rework station. It will be used in my workshop to assist in IC reflow process and SMD montage.</p><p>It uses ceramic heater which requires 220AC, so I'll have to replace IRF540 with a high-power triac, but the control logic and all working principles are pretty much the same. It will have a thermistor for bottom temperature measurements (temps won't exceed 140C) and a K-type thermocouple for the target top area.</p><p>The firmware is still in its embryonic stage, but so far I've been able to calibrate the temperature measurement and have static PWM regulation on the heater (no PID yet).</p>
Thanks for the reply . Yes , like I said , it all depends on what you will use it for ! I am sort of an &quot; old school &quot; type of guy , and most of my work has to do with tube-type audio amps ( guitar amps etc . ) and old communications receivers HF , SW and ham bands . I am retired now , but I spent a lot of years working with industrial electronics , PWM ac 3phase motor drives , steppers , servo's , PLC's and instrumentation . We had one machine that required 1.5 megawatts of DC , and it could be a real pain re-building it when it blew up ! But anyway , good project !<br>Cheers , take care , and have a good day !! 73 to all<br><br>
This is really done. Good job

About This Instructable




More by silentbogo:DIY Soldering Station DIY PCB lab for under $35.00 Controlling Arduino with Gamepad 
Add instructable to: