Building a soldering station is not that hard if you have a Arduino at hand. But I wanted my station to be small and to have something extra than just a temperature controller. This is how I come up with roroSOL, the bluetooth soldering station with arduino.

 Needed components

  • Arduino Mini Pro
  • HM-05 bluetooth module
  • LM358N operational amplifier
  • 5v+ logic MOSFET
  • 2pcs-10k,1pc-1k, 1pc-120k resistors
  • 2pcs-0.1uF capacitors
  • cheap soldering iron
  • 24V (aprox. 6A) power source

History of my design

Well… this is the history of my bluetooth soldering station with arduino. Till I managed to obtain something to work i destroy 3 soldering irons,1 arduino pro mini board, 1 expensive blue tooth module and buy an expensive soldering iron that i tough it was with K-type thermocouple. And of course buy some MAX6675 modules.

Here are some pictures from the process:

Also this way i want to thanks Alex for sharing his design. From there I got inspired for the temperature readout hardware.

How it works

First you need to connect with your phone to the soldering station. To do this open on your android phone the roroSOL app. From the interface connect to the soldering station and start it. After that you will be able to set the desired temperature based on your needs. System will start increasing the temperature till will reach that temperature. From there is just happy soldering :-).

rorosol concept




Nothing much to say related the schematic. On next version I’ll be trying to improve the voltage regulation of the circuit. Transforming 24v->5v with lm317 is ineficient and it’s overheating the voltage regulator.


Eagle format stlgh.sch

Calibrating this bluetooth soldering station:

To have a accurate temperature I needed to calibrate the soldering station a little bit. This is what I did:

  1. Heat the soldering iron at around 400C from the software and withe the multimeter set on reading temperature I start reading the iron tip temp.
  2. Same time on the serial output of Arduino I printed the read temp value and analog value.
  3. When on the multimeter screen I see 350C then I took that analog value
  4. In software I changed this value with the new value and that’s it
     Input = map(Input, 10, 515, 25, 350);


Arduino software

 * ROROSOL -Soldering station with Android interface and
 * bluetooth communications
 * Building a soldering station is not that hard if you
 * have a Arduino at hand. But I wanted my station to be
 * small and to have something extra than just a temperature
 * controller. This is how I come up with this project and
 * build my station with bluetooth capabilities and a
 * Android interface.
 * Software is working with PID library autotune capabilityes

#include <PID_v1.h> //using PID library
#include <SoftwareSerial.h>// import the soft serial library for bluetooth comunication
#include "Timer.h"// import timer library for display function
SoftwareSerial HC05(9, 8); // RX is on pin 9, TX is on pin 8

//Define PID variables
double Setpoint, Input, Output;

//Define the aggressive and conservative Tuning Parameters
double aggKp = 4, aggKi = 0.2, aggKd = 1;
double consKp = 1, consKi = 0.05, consKd = 0.25;
Timer t;
//Specify the links and initial tuning parameters
PID myPID(&Input, &Output, &Setpoint, consKp, consKi, consKd, DIRECT);
int state = 0; //State of the system. 1-On/0-Off
String comanda;//Variable used for reading commands from HC05 bluetooth module
void setup()
  //initialize the bluetooth module
  HC05.println("sunt online");
  //initialize the RGB led for showing system state
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);

  t.every(500, display_);

  //initialize the variables we're linked to
  Input = analogRead(0);
  Setpoint = 250;

  //turn the PID on

void loop()
{ String k, v;

  //normalize de analog reading
  for (int i = 0; i <= 50; i++) {
    Input = Input + analogRead(0);
  Input = Input / 50;
  //here you need to calibrate the system if you want betther acuracy
  Input = map(Input, 10, 515, 25, 350);

  if (state == 1) {

    double gap = abs(Setpoint - Input); //distance away from setpoint
    if (gap < 30)
    { //we're close to setpoint, use conservative tuning parameters
      myPID.SetTunings(consKp, consKi, consKd);
      //we're far from setpoint, use aggressive tuning parameters
      myPID.SetTunings(aggKp, aggKi, aggKd);

    //heat the solderin iron acording to PID output
    analogWrite(3, Output);
  else {
    analogWrite(3, LOW);//cooldown soldering iron


  t.update();//update display

  // respond to commands from serial.
  //while (Serial.available()) {
  if (HC05.available() > 0) {
    char c = (char);
    if (c == '\n')
      if (comanda.length() > 0) {
        parseCmd(comanda, &k, &v);
        if (k == "c")
          state = v.toInt();
        if (k == "t")
          Setpoint = constrain(v.toInt(), 150, 350);//constrain input to min 150C max 350C
        comanda = "";
      comanda += c;


void display_()
  if (Input <= 50) {
    digitalWrite(A1, LOW);
    digitalWrite(A2, LOW);
    digitalWrite(A3, HIGH);
  else if (Input > 50) {
    digitalWrite(A1, HIGH);
    digitalWrite(A2, HIGH);
    digitalWrite(A3, HIGH);

int parseCmd(String cmdLine, String *key, String *value) {
  int equalsPos;
  equalsPos = cmdLine.indexOf('=');
  if (equalsPos == -1) {
    *key = cmdLine;
    *value = "";
  else {
    *key = cmdLine.substring(0, equalsPos);
    *value = cmdLine.substring(equalsPos + 1);
  return (equalsPos);



rorosol facerorosol


Working with Blue SS

To do

  1. Move android software from app inventor to android studio
  2. Print a box for the PCB
  3. Improve the stabilization time

Bluetooth soldering station with Arduino
Etichetat pe:                                    

8 comentarii la „Bluetooth soldering station with Arduino

  • 26/07/2015 la 21:33
    Legătură permanentă

    Salut, interesant proiectul tau, am facut si eu o statie de lipit cu o schema luata de pe net de la niste polonezi poate stii despre care e vorba, doar ca am modificato foarte mult si este extreme de stabila si nu pleaca mai mult de 5 grade de la temp dorita, ce vreau eu sa te intreb este daca ai vrea sa facem o colaborare sa fac o statie de lipit cu 2 capete cu un singur display color mare cu touchscreen? daca vrei ma poti contacta pe adresa de mail

    • 17/05/2016 la 14:46
      Legătură permanentă

      Merci pt ‘u’ nu l-am vazut pana acum 🙂

      Chiar acum ma uitam pe variante de statii de lipit deoarece vreau sa imi fac alta. Varianta aceasta cu bluetooth e ok ca si concept. Practica ne omoara.

      O sa urmeze un review al unui kit de statie de lipit de pe e-bay…peste vreo luna


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.