Portable iron V3
page 2/2

Portable soldering iron V3

Help me by sharing this post

PART 3.2 - Keep soldering components

Now we can solder the remaining components such as the vibration sensor and the side push buttons. The board I've made didn't had the wings pads for the buttons, that's why I've put some hot hlue behind the buttons. But the final GERBER file has the wing pads for the buttons so solder those as well. Next we solder the clips for the T12 tip. Make sure the clips are on the bottom side. Then solder the OLED display on the top side of the board over the ATmega chip. Make sure all the resistors and capacitors are soldered before you add the display. Otherwise it would be difficult to solder below the OLED screen.

atmega328 SMD PCB board

PART 3.3 - The buck converter

Ok, now, before we add the buck converter, we have to make sure its output is exactly 5V and it will stay that way. Connect it to a multimeter and apply 20V at the input. Rotate the potentiometer till you get exactly 5V. Then glue the potentiometer with some glue so it won't change its value. Now we can solder the buck converter in place. Make sure which is OUT and In as shown on the PCB.

atmega328 SMD PCB board

The baord is complete. As a final test, check for shorts on all pads and then connect 20V to the USB input and see if we have 5V at the 5V pins. Is time to program the baord. For that you will have to download and install some libraries for the Arduino IDE and downlaod the last firmware V3.3 for this board.

PART 4 - The code

Below we have a bit of the code. Here we could change the variables for the code. The version is V3.3 in this case and the minimum temperature is 200, and maximum is 500. The delay variable is the refresh rate so the loop will run each 0.3 seconds in this case. If you change these variables, you could affect the PID code and get the wrong values.

Downlaod full code here:

//////////////////////////////////////////YOU COULD CHANGE THIS VALUES IF YOU NEED TO//////////////////////////////////////////////////
//Editable Variables (change these values below to fit your project)
String Version = "Version 3.3";
float min_temp = 200;                            //This is the minimum temperature that the iron could get
float max_temp = 500;                            //This is the maximum temperature that the iron could get
float Delay=300;                                 //Refresh rate. This is the time in ms the loop runs (PID+temperature read)
int   setpoint = 280;                            //Temperature setpoint initial value
int   sleeptime = 1;                             //Wait to enter into sleep mode. Time in minutes
int   max_sleeptime = 10;                        //This is the maximum sleep time you could set the iron
int   sleeptime_adress = 2;
int   setpoint_adress_low = 3;
int   setpoint_adress_mid = 4;
int   setpoint_adress_high = 5;

/*PID variables. Fine tune this values. Start with P=1 and D and I = 0. Start increasing till you get good results*/
float Kp=7.58, Ki=0.050, Kd=0.86, Hz=10;          /*My values: Kp=7.98, Ki=0.055, Kd=0.86, Hz=10;*/
int output_bits = 8;                              //With 8 bits, maximum PID output is 255, and that's waht we need for analogWrite
bool output_signed = false;
FastPID myPID(Kp, Ki, Kd, Hz, output_bits, output_signed);

The new firmware, the V3.3 has some extr settings. If you press both buttons we get into sleep mode. If you press the bottom button while in sleep mode, you will enter settings. Here you can change the sleep time and the preset temperature which is the temperature that the iron starts with. These values get saved into the EEPROM of the Arduino so each time you restart the iron, those values will be on. See example in the video below. Stay tuned for future updates. I'll make a version where you could change the PID constants using the push buttons as well.

PART 4 - The 3D case

Ok, so below you have the .STL files for the 3D case. Dwonlaod each file and print them. They are already oriented so you don't have to do enything. The case is made out of 4 parts. The top aprt, the bottom part and two small push buttons. I've used PLA material for each. Alos, a 0.4mm nozzle of my printer, 0.2mm layer height, 2 perimeters and 100% infill at a temperature of 200ºC.

Downlaod 3D .STL files here:

To mount the final product just put the PCB on the bottom part of the case without the T12 tip. Make sure it fits ok in place. If there is not enough space, just slightly use the other soldering iron or a hot nail to melt a bit the plastic supports inside the case. Then add the buttons on each side. use some sandpaper for the buttons so they can moove freely. Then add the top part of the case and close it with two screws. Add the T12 tip and the product is ready.

3D case printed for soldering iron Arduino

Go back ←

Help me by sharing this post


PCBWAY PCB service

PCBWAY PCB service

Arduino curso en español desde cero