Free counters!


This is a more simpler design than the DIY SMD SOLDERING STATION WITH AVR (MEGA2560 VERSION) due to the controller core (Arduino NANO instead of MEGA2560), the UI (a 4 rows / 20 characters LCD instead of the TFT)  and the supporting of only PTC type soldering irons. The power supply is still separated (external power pack at 24V used).

All the information for the user is presented continuously  and simultaneously for the actual temperature and desired temperature by the form of bargraph and numbers. For the present, only the Celsius scale is supported but I am still working on updated version with Fahrenheit scale and a very simple menu function for making the adjustments.

The final view of this simple construction is like the following:


I made all the necessary files for the PCB and a good friend of mine (Kostas), the order for ten prototypes. The design was a clear Through Hole project in order to be easily constructed as kit even from young people. In the near future, I will write a very easy-to-read guide for assembling and programming.


I thank Kostas for the kind offer of the prototype PCB and also the spread of this project to other friends. 

The schematic is the following (also in .pdf):



The PCB is the following:


All relative files (Altium files, Gerber files, BOM, Arduino libraries, firmware) can be freely used and can be found here:×20-LCD

UPDATE 14 AUG 2016:

The updated version of the soldering station is a new design with the implementation of an Arduino Micro PRO instead of Nano. The overall dimensions have been reduced and the code was re-written to support a small serial I2C OLED display.





To see the relative Altium files (.SchDoc, .PcbDoc, CAM, gerbers, schematic & component libraries), just right-click and save as .zip the following file:






Free counters!

2014-03-03 08.29.43

This clock is based on an ATMega644 micro controller. It’s user interface consists of a 4×20 characters LCD and navigation tactile push buttons. It provides real time clock with date and ambient temperature and can be programmed for a repeating alarm on a weekday basis. This version is still a beta one, so I’m still working on it.

2014-03-03 08.33.11

The time is presented on the top 3 rows of the LCD and a complete data for time, date and temperature scrolls on the lower 4th row of the screen. There is also a bit of information (i.e. a star character is appeared on the left if the alarm is enabled and the “am-pm” info on the right.

2014-03-03 08.33.41

The temperature is presented in Celsius centigrade and appears alternately with the time information every few seconds.

2014-03-05 09.48.45                    2014-03-05 09.48.08

2014-03-05 09.47.47

The project was constructed on a prototype pcb by hand. The small unit on the left picture is a machined piece of pcb on a LPKF CNC and supports the RTC and temperature sensor, based on ST’s M41T80 and TI’s LM75 chips. There is also a small piece of pcb holding the buttons and a buzzer for the audible signals (alarms and function or button beeps.

2014-03-03 08.32.31

The code includes menus for adjusting the time, the date and the alarms schedule on a weekly basis. The Alexander Brevig‘s MenuBackend library helped a lot building the menus section.


My YouTube channel:

DIY SMD Soldering Station with AVR (MEGA2560 VERSION)

Free counters!

At the from Matthias Wagner, I saw a DIY project of a soldering station with nice user interface and clever control of the RT series soldering tips of Weller. It was so interesting that I decided to make some changes on the hardware and of course re-writing of the firmware.

It is based on a ATMega644 controller, it has a 2.4″ TFT and a rotary encoder for the user interface and is designed to support two kinds of soldering irons: the classic RT tips or other devices with in-built heat sensor and the simple devices with only the heating element.


The small 2.4″ TFT is on an Arduino MEGA1280 for developing of the initial code and making fine adjustments of the -on screen- details.


The splash screen can be any 320×240 pixels .bmp file and can be processed in any image conversion program like Ms Paint.

My original thought was to use a simple, low power, cheap soldering iron for soldering up to 1206 dimension SMT parts, such as chip resistors and capacitors and small package IC’s. The problem with this is that since the soldering iron has no temperature sensing (RTD sensor, thermocouple sensor), it is very difficult to calculate the tip temperature of the device. I know though from Physics the relationship between the resistance and temperature of a resistor (i.e. the heating element itself), so with some effort I can take some feedback for an automated temperature controller.

Since the electrical resistance of a conductor such as a copper wire is dependent upon collisional processes within the wire, the resistance could be expected to increase with temperature since there will be more collisions. An intuitive approach to temperature dependence leads one to expect a fractional change in resistance which is proportional to the temperature change:

ΔR is the difference between initial and final (R resistance, T temperature) and α is the temperature co-efficient of a resistor or the material of the resistor (for my case, the heating element material is a Nickel-Chrome alloy, very common for soldering iron resistors).

So, the above formula can be more simple, solving for the unknown temperature. It is supposed that the every single moment heating element’s resistor value can be found from the moment current that leaks the element:

In the very useful page  can someone calculate the resistor’s temperature by inserting all other values in different fields. Very useful, indeed!

The main problem now is to make something that can measure very slight changes of iron’s resistor, such as from about 26 to 30 Ohms. These 4 Ohms have to be divided in about 375 parts, since the temperature of the tip is expected to reach the 400 degrees of Celsius centigrade. This means that if the nominal operating voltage of the iron is 12 volts, the current we have to measure varies from 12/26=0,4015 to  12/30=0,4000 Amperes. The accuracy range of the ADC must be then not less of a 0,00015075 Α  per one degree for a temperature range of ambient 25 to maximum 400 degrees.

To be honest, I would like to express my reservations on this approach but the magic of the unknown would not make no sense…

UPDATE (22 FEB 2016):

After some research, I realized that the above approach to this kind of design had very little chances to succeed. So I revised my design in order to fit it in market’s soldering iron types. The updated design has 3 options of tip temperature measurement, depending on the thermal sensor type of the soldering iron. PTC, NTC and K-TC sensors have been implemented and can be easily chosen through a quadruple DIP switch. The signal amplifiers are separate, each for every type, so defining the soldering tip’s sensor in the code, the program executes accordingly.

The core of the design depends now on a very interesting ΑΤMEGA2560 core I found:


DS-Mega2560-CORE-V01-EN datasheet

This one has plenty of flash memory, so I can do many things with graphics on the TFT.


This part of the design shows the individual signal amplifying stages before the 10bit ADC measurement.



Continue reading DIY SMD Soldering Station with AVR (MEGA2560 VERSION)

This site is dedicated to the modern science of Digital Electronics