TinySolder ATtiny13 Soldering Station SMD

TinySolder ATtiny13 Soldering Station diy

TinySolder is a simple T12 Quick Heating Soldering Station based on the ATtiny13A featuring in less than 500 bytes of code:

  • Temperature measurement of the tip
  • Direct control of the heater
  • Temperature control via potentiometer
  • Handle movement detection (by checking ball switch)
  • Time driven sleep/power off mode if iron is unused (movement detection)

Hardware TinySolder ATtiny13 Soldering Station SMD

Schematic Attiny13 Soldering Station Smd
Schematic Attiny13 Soldering Station Smd

Heater Control
To switch the heater on and off, it is controlled via an AO4435 p-channel MOSFET. The MOSFET is designed for voltages up to 30V and currents up to 10A. Its resistance is relatively low at 14 milliohms, which guarantees high efficiency and low heat generation on the MOSFET itself. There are many 4435 MOSFETs available from different manufacturers with slightly different specifications. It should be ensured that a 4435 with a gate-source voltage of +/-25V is selected.

Temperature Measurement
A thermocouple (temperature sensor) is located inside the T12 soldering tip. It creates a very small voltage depending on the temperature difference between the hot end and the cold junction. To measure this, the heater must be switched off since heater and thermocouple are connected in series. The low voltage is amplified by the OpAmp and measured by the ADC of the microcontroller. The gain factor of the OpAmp is controlled via the calibration potentiometer within fixed limits. The LMV358 is a very cheap and versatile OpAmp, but not the ideal choice for this task because it has a fairly high input offset voltage and is quite noisy. For this kind of soldering station, however, it delivers completely sufficient values. Should a higher accuracy be required, an OPA2330AIDR or OPA2333AIDR can be used instead of the LMV358. Since these OpAmps have the same pinout, no further changes need to be made.

Get new posts by email:

Voltage Regulator
Since the ATtiny13A and the OpAmp only consume very little power, a small voltage regulator of the type 78L05 is completely sufficient for obtaining the 5V supply voltage. Because of the low current it has to deliver, it hardly heats up despite the relatively high voltage gradient.

Tinysolder Attiny13 Soldering Station Diy Pcb
Tinysolder Attiny13 Soldering Station Diy Pcb


In order to determine the temperature of the soldering tip, the heater must first be switched off. The output voltage of the OpAmp is then measured using the analog-to-digital converter (ADC) and the temperature is determined from this using a two-step linear approximation. The setting of the temperature selection potentiometer is also determined via the ADC. If the temperature of the soldering tip is below the selected setpoint, the heater is then switched on again via the MOSFET, otherwise it remains off for the time being.

A sleep timer runs all the time, which is reset by a pin change interrupt as soon as the tilt switch in the handle of the soldering iron changes its state. If the handle is not moved for about 5 minutes, the system switches to sleep mode, in which the temperature is reduced to about 125 °C. If the handle is not moved for another 5 minutes, the heater will be switched off completely. As soon as the handle is moved, the operating mode is switched back to.

The main loop of the code is shown below:

// Loop  while(1) {    // Read potentiometer setting and calculate setpoint accordingly    poti = ADC_read(pinADC(POTI));    if (poti < 512) setpoint = (uint32_t)(( poti * (TEMP300 - TEMP150))>>9) + TEMP150;    else            setpoint = (uint32_t)(((poti - 512) * (TEMP450 - TEMP300))>>9) + TEMP300;      // Set heater according to temperature reading and setpoint    pinLow(HEATER);                                 // shut off heater    _delay_us(TIME2SETTLE);                         // wait for voltages to settle    temp = ADC_read(pinADC(TEMP));                  // read temperature    smooth = ((smooth << 3) - smooth + temp) >> 3;  // low pass filter    if (smooth < setpoint) pinHigh(HEATER); // turn on heater if below setpoint // Set status LED according to temperature and setpoint pinLow(LED); if ((smooth + 10 > setpoint) && (setpoint + 10 > smooth)) pinHigh(LED);      // Some timing    if (handleTimer++ > TIME2SLEEP/CYCLETIME*1000) sleep(); // sleep mode if handle unused    _delay_ms(CYCLETIME - 8);                               // wait for next cycle  }  

Compiling and Uploading

If using the Arduino IDE

  • Make sure you have installed MicroCore.
  • Go to Tools ⇾ Board ⇾ MicroCore and select ATtiny13.
  • Go to Tools and choose the following board options:
    • Clock: 1.2 MHz internal osc.
    • BOD: BOD 2.7V
    • Timing: Micros disabled
  • Connect your programmer to your PC and to the ICSP header on the TinySolder board.
  • Go to Tools ⇾ Programmer and select your ISP programmer (e.g. USBasp).
  • Go to Tools ⇾ Burn Bootloader to burn the fuses.
  • Open TinySolder.ino and click Upload.

If using the precompiled hex-file

  • Make sure you have installed avrdude.
  • Connect your programmer to your PC and to the ICSP header on the TinySolder board.
  • Open a terminal.
  • Navigate to the folder with the hex-file.
  • Execute the following command (if necessary, replace “usbasp” with the programmer you use):
avrdude -c usbasp -p t13 -U lfuse:w:0x2a:m -U hfuse:w:0xfb:m -U flash:w:tinysolder.hex

If using the makefile (Linux/Mac)

  • Make sure you have installed avr-gcc toolchain and avrdude.
  • Connect your programmer to your PC and to the ICSP header on the TinySolder board.
  • Open the makefile and change the programmer if you are not using usbasp.
  • Open a terminal.
  • Navigate to the folder with the makefile and sketch.
  • Run “make install” to compile, burn the fuses and upload the firmware.
Building Instructions

In addition to the components for the PCB, you will need the following:

  • 3D-printed case
  • GX12 Aviator Plug (4- or 5-pin, depending on your iron handle)
  • DC Power Jack (5.5 × 2.1 mm)
  • Rocker Switch (KCD1 15 × 10 mm)
  • Some wires
  • 4 Self-tapping screws (2.3 × 5 mm)
Tinysolder Attiny13 Soldering Station Diy 3D Case
Tinysolder Attiny13 Soldering Station Diy 3D Case

Make sure that all parts fit nicely into the case. Solder the wires to the connectors and protect them with heat shrinks. Use thick wires (AWG18) for the power connections. Make all connections according to the schematic down below but keep in mind, that there’s no standard pinout. Solder the wires directly to the corresponding pads on the pcb. To make the soldering station ESD-safe, connect the earth (E) terminal of the aviator plug to a female dupont connector and glue it into the corresponding opening on the case. Now you can connect the soldering station via a male dupont connector to an earth terminal. Upload the firmware and screw the pcb on top of the case.

Tinysolder Attiny13 Soldering Station Diy Connector
Tinysolder Attiny13 Soldering Station Diy Connector

The pinout shown works for the Quecoo handles from aliexpress. Different handles may have different pinouts. If you are assembling your handle yourself, follow the scheme shown below. The video by John Glavinos (electronics4all) shows how it’s done.

Tinysolder Attiny13 Soldering Station Diy Iron Tip
Tinysolder Attiny13 Soldering Station Diy Soldering Tip

Operating Instructions
Power Supply Specification Requirements
Choose a power supply with an output voltage between 16V and 24V which can provide an output current according to the table below. The power supply must be well stabilized. The current and power is determined by the resistance (R = 8 Ohm) of the heater.

Voltage (U) Current (I) = U / R Power (P) = U² / R
16 V 2.00 A 32 W
17 V 2.13 A 36 W
18 V 2.25 A 41 W
19 V 2.38 A 45 W
20 V 2.50 A 50 W
21 V 2.63 A 55 W
22 V 2.75 A 61 W
23 V 2.88 A 66 W
24 V 3.00 A 72 W


For calibration you need a soldering iron tips thermometer. For best results, wait at least three minutes after switching on the soldering station before you start the calibration. Calibrate at your preferred temperature using the trimpot.

Indicator LEDs

LED Color Status
POWER blue lights up when the station is receiving power
HEAT red tip temperature has not reached setpoint yet
WORKY green tip temperature is at setpoint – iron is worky
HEAT + WORKY red + green blinking: iron is in sleep mode; steady: iron is in off mode; move handle to wake up


Bom TinySolder ATtiny13 Soldering Station SMD

Name Designator Footprint Quantity
Resistors SMD
100k (104) R2 RM065 – Trimpot 1
100k (104) R3 0603 1
10k (103) R7,R6,R5,R1,R14,R8 0603 6
10K (103) R10 RK09 – Potentiometer 1
1k (102) R13,R11,R12,R4,R9 0603 5
Capacitors SMD
47u C2 1206 – SMD ceramic capacitor 1
2n2 C3 0603 – SMD ceramic capacitor 1
100n C5,C1,C4,C7 0603 – SMD ceramic capacitor 4
1u C6 0603 – SMD ceramic capacitor 1
LMV358IDR U3 SOP-8_150MIL – Dual Operational amplifier 1
78L05 U2 SOT-89-3 – 5V voltage regulator 1
NCE4435 or AO4435 Q1 SOP-8_150MIL – Mosfet P 1
MMBT3904 Q2 SOT-23_1 – NPN Transistor 1
ATTINY13A-SSU U1 SOP-8_150MIL – Microcontroller 1
5V1 D1 ZENER-SOD-123 1
WORKY LED2 LED-0603 – Green 1
HEAT LED3 LED-0603 – Red 1
POWER LED1 LED-0603 – Blue 1
ICSP-6 ICSP1 ICSP-6 – Program connector 1
KF350-3.5 mm P2,P1,P3 KF350-2P – Terminal block connector 3

Download files, PCB in Gerber, PDF, PNG



Case 3D

Assembly manual in PDF

References, Links, and Notes

Source: https://oshwlab.com/wagiminator/y-attiny13-soldering-station-smd

License: CC-BY-SA 3.0

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Share on the social networks!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Photo of author
About the author
Xtronic.org blog author. Electronics technician for the technical school of Brasilia - Brazil. Interested in electronics, circuits and technology in general.

Leave a Comment