Turn up the Heat

Arduino-based Soldering Station

Geoff Cohen

Issue 29, December 2019

This article includes additional downloadable resources.
Please log in to access.

Log in

With a little ingenuity, Geoff retired his old underperforming soldering station and built his own, with Arduino smarts and digital display.

When Geoff shared his homemade, state-of-the-art soldering station project with us recently, we just had to get in touch with him to find out more.

Geoff’s amazing project is Arduino controlled, features an OLED display, auto-off functionality, and is housed in a custom 3D printed case. It even has his name on it!

As you will learn, Geoff’s build has some great features, and he has even supplied the files so you can build your own.

Thank you for taking the time to chat with DIYODE, Geoff. This is a great project. How long have you been involved in electronics?

I have been in the IT business for over 20 years, ran an Electronics Dept at the Australian National University, designed Computers (Osborne 1) in Silicon Valley, and currently design custom 3D printed things (See Thingiverse). I also write Utility and IOS apps, plus occasional magazine articles.

Gee, where do you find the time to do all that?! You are obviously a keen electronics enthusiast as well. What motivated you to design and build your soldering station?

I was annoyed that my (very) old Duratech Iron was not keeping a constant temp very well, plus it didn’t have enough power when soldering bigger stuff (i.e. very wide PCB tracks/groundplanes) and programming Arduino’s is fun.

It can be time-consuming to wait for some soldering stations to get to temp. What station have you repurposed in your build?

I looked at many Hakko Clones, and settled on a FX-8801 as it has slightly more power than the 900 series (26V/65W vs 24V/50W) – also . some 900 series clones use a platinum resistor and others use a thermocouple (which really needs an instrumentation Op Amp) – but all the 8801’s I tried used a platinum resistor.

Considering you wanted more grunt, we understand why you chose the one with the extra wattage. How did you go about starting the design and workout out what components to use?

I had 2 old laptop 16V power packs – these power the 26V 8801 iron at 32V – boy does it heat up quickly - 25 seconds from room temp to 350°C.

What a great idea to repurpose old laptop power supplies. What temperature are you able to achieve?

Red Hot. I found this out due to a software bug in early testing, just before the element disintegrated – luckily replacement elements are only a few bucks.

Recommended for normal use are temperatures of 180°C to 480°C.

Luckily you didn’t overheat the iron into a melted mess. What Arduino board did you use, and have you performed any tests and made measurements/graphs of how the iron performs soldering different components?

My build uses an Arduino Uno but it will work with most other Arduinos too. It is powered from +12 to +15V, and the Arduino's output powers other parts of the circuit.

I used the Arduino graphing function to check the heating. I settled on a slight overshoot initially – BUT – much faster heating (it’s only 5-20 deg, depending on the initial temperature difference).

Not all stations have a display. Why was it important for you to add a digital display?

I wanted a digital display, as it’s easy to read the temperature accurately, plus it’s simple to add extra stuff – like how long to switch to SLEEP/OFF modes. I also added a power used indicator (similar to a WiFi signal strength S-meter), a mode indicator PWR/SLEEP/OFF/, and Set temperature.

As you can see in the photos, the display indicates Power %, Time to Sleep/Off, Set Temp, actual Temp, current mode (PWR-SLEEP-OFF).

Great to see you fit a lot of content onto such a small display area. We notice you chose to use analogue controls instead of digital. What was your reason for this?

While I like Digital Displays, I’m not so big a fan of Digital Setting – so I used an analog pot to set the temperature. About 1000% quicker to use. Not really critical here, but some cars are very annoying, as well as distracting and dangerous to use.

Agreed. Sometimes analogue is best to make things user-friendly. Please tell us about the code. Did you design the code from scratch or repurpose someone else’s code?

Coded from scratch – used some code from my Touch-Screen Garden Timer.

Interesting! We’ll have to find out more about your garden timer project sometime. Does the code have any intelligent PID control?

It uses the standard Arduino PID library.

Geoff's prototype

That makes it easy. Have you incorporated any safety features?

I have made it turn off if the temperature gets too high.

Great! We notice your schematic has a circuit to detect when the iron is placed back into the holder. Can you explain this, please?

This is used to detect when the iron is IN it’s STAND, and thus start the countdown timers to SLEEP/OFF. I thought of several sneaky and complicated ways to detect IN-STAND, but settled on a KISS method - a 30mm steel washer glued onto the stand, with a wire from it plugged into the electronics.

A very clever solution. We like that you’ve designed and printed your own 3D printed case as well. You are quite resourceful. What’s your goto CAD software?

I nearly always use openScad, as I’ve been a programmer for many years, mostly in C or C-like languages.

Programming experience does come in handy. What advice would you give our readers who want to build their own soldering station like yours?

A few things. I used a BUK9511 MOSFET but an IRF3205 (or similar) will work. Basically any N channel MOSFET with Rds (on) of 5-15 milliohms will do – the low on-resistance means no heatsink is needed. You could even use a HY3403 MOSFET with its super low RDS(ON) of 2.4mΩ, but that’s total overkill here.

My circuit uses a 470µF 50V electrolytic. Users can substitute for a similar value if they don’t have a 470µF available. I’ve added a 100Ω resistor to Ground, not direct as I’ve seen on some Hakko schematics – the reason is because I have occasionally soldered stuff that has voltage (5V-12V usually), and have let the smoke out of a few components – LED’s can get REALLY bright, for a millisecond or two. I’ve provided the code, schematics and 3D print files if any of your readers want to make their own.

Thank you so much. If you were to start over again, what would you change?

If I made another iron, I’d make a PCB - I normally use EasyEDA, which I find easy to use, and quite cheap to get PCB’s made. Sometimes I just use the schematic drawing module.

An online PCB design tool?! We hope our readers check that out. Are you working on any other projects at the moment?

Yes, a 12V DC UPS, 4th 3D printer, and a high capacity 5V USB powerpack using up to 8x18650’s.

We’ll have to keep in touch to see how these projects turn out. Thank you for your time Geoff and for sharing your project with us.

WARNING: Geoff’s project involved working with 240V mains power so the two power supplies could share one power input lead. In Australia, a person cannot legally work on voltages above 50Vac without a licence. Any mains wiring is very dangerous for those not qualified and experienced with it. We recommend that you use the approved power lead for each of the power supplies instead. DIYODE cannot take any responsibility for harm caused by anyone dealing with mains power.