Reflow Soldering Hotplate

16,779

172

28

Published

Introduction: Reflow Soldering Hotplate

About: I study (civil) electronics engineering at the VUB in Belgium. I have a passion for making things, both useful and cool.

Soldering tiny SMD components can be quite challenging, but the process can also be automated. This can be done by applying soldering paste and baking it, either in a (reflow) oven or on a hot plate (like a cooking plate in your kitchen). Around the web, I've seen many DIY reflow ovens; in my opinion they have one big downside: they take up a lot of space. So I decided to build a hotplate instead.

The hotplate is fully programmable, so that any reflow profile can be added. The reflow process is then fully automated. Let's get building!

Step 1: Parts & Tools

Parts

  • Hot plate, I got mine from an old wok
  • Solid State Relay (SSR)
  • Power cord
  • USB powerplug (US plug)
  • LCD
  • Prototyping board
  • Arduino nano
  • Female headers
  • Type K Thermocouple + MAX 6675 amplifier
  • Push button
  • USB to mini USB cable

Tools

  • Clamps
  • Wood glue
  • Lasercutter
  • Drill
  • Soldering iron

Step 2: The Case

For the case we have two options, depending on your hotplate. A first option is to modify the existing enclosure, this is viable if it is big enough to accommodate a SSR, LCD etc. In my case however, there was not enough room, so I had to design a new one.

The case is made out of lasercut MDF. Due to the living hinge, this design can only be made on a lasercutter: small slits in the MDF make it able to bend. The pieces can be glued together as a puzzle, just use enough clamps. Add the hot plate and secure it in place (mine is secured with screws in the bottom).

Some additional holes need to be drilled: one for the power cord, one for the button and two for the LCD. This way, any button, lcd, ... you have laying around can be made to fit. The LCD can then be screwed in place, together with the button.

The thermocouple should be firmly pressed against the hot plate. Drill a hole and feed the thermocouple through. Next, it should be pressed against the MDF. I used a small tin strip, but you could also use tape or a zip tie (drill 2 holes next to the thermocouple hole and feed the zip tie though them).

Something to be aware of: you might be wondering if using MDF in combination with a 250°C cooking plate is a good idea. In general it isn't, but I have made the case such that this is not a danger.

The MDF parts only touch the feet of the hotplate, which are significantly cooler (max 60°C) than the top of the hotplate. Everywhere else, the MDF and hotplate are separated by a small air gap. Since air is a very good insulator, the MDF doesn't heat up at all, let alone catch fire. Furthermore, the temperature is only high during a few minutes, so the legs can never reach the same temperature as the top (steady-state is never reached).

I added the Fusion 360 file so that you can adjust it to your needs. Just keep the warning above in mind when tuning the design for your own hotplate.

Step 3: Electronics

The electronics part of this project is quite straightforward, we only need to connect some modules together. The Arduino gets the temperature from a thermocouple, whose signal is amplified by the MAX6675. It then displays the temperature on an LCD and switches a Solid State Relay (SSR) if needed. Everything is depicted on the diagram.

Low voltage

Since they don't draw a lot of power, we can simply connect everything to the Arduino pins and configuring the required pins for power and ground.

Due to some space limitations, it didn't turn out as neatly as I had hoped. I mounted everything to a small piece of perfboard, soldered to the back of the LCD screen. The MAX6675 was taped to the back with some double sided tape.

The Arduino is powered via the mini USB port, so we connect it via a USB cable to the power brick. It is a good idea to test the system at this point before going any further.

High voltage

We can now connect the hotplate itself. Since this is mains wiring, we should be very careful: make sure everything is unplugged when working on it!

First of all, we should ground the hotplate to prevent electrocution if anything goes wrong. Strip the power cable and firmly screw the yellow/green grounding wire to the casing.

Next, we will connect the two terminals of the hotplate to the mains via the SSR. Connect the live wire (color code depends on your country) to one side of the SSR. Connect the second side of the SSR to the hotplate via a short wire (same gauge/diameter as the power cable). The other end of the hotplate goes to the neutral wire.
I added a picture of the wiring before mounting the hotplate into the case to make this clear.

Wiring the power adapter is easier: the live wire goes to one terminal, and the neutral to the other. Although I live in Europe, I used a US power adapter for this: the holes in the prongs are very convenient to attach spade terminals to.

That wraps up the electronics, now lets blow some life in it with code.

Step 4: Programming

The code is what turns a dumb wok into a reflow hotplate. It allows us to precisely control the temperature and add custom reflow profiles.

Reflow profiles

Unfortunately, reflow soldering is not as simple as turning on the heater, waiting and turning it off again. The temperature needs to follow a specific profile, the so called reflow profile. A good explanation can be found here, or on other places on the interwebs.

The code allows to store multiple profiles to satisfy different needs (mainly leaded or lead-free solder). A simple button press switches between them. They are added in the Times_profile and Temps_profile, which are both 4 column vectors. The first column is for the preheat phase, the second one for the soak phase, then ramp up and finally the reflow phase.

Controlling the hotplate

Driving the hot plate such that it follows this trajectory is not straightforward. The science behind this is called control theory. One can go very in-depth here and design the perfect controller, but we will keep it as simple as possible while still ensuring a good result. The input to our system is the SSR, which turns it on or off, and the output is the temperature, which we can measure. By turning the SSR on or off, based on this temperature we introduce feedback, and that is what allows us to control the temperature. I will explain the process as intuitively as possible, and explain how you can characterize your specific hot plate to work with the code I made.

We all know that when turning on a heater, it doesn't instantly get hot. There is a delay between turning it on (action) and becoming hot (reaction). So when we want to reach a temperature of 250°C, we should turn off the hotplate some time before that. This delay can be measured by turning on the hotplate and measuring the time between turn on, and change in temperature. Let's assume the delay is 20 seconds. Fill this in for the variable "timeDelay".

Another way of looking at it would be as follows: if we turn off the heater at 250°C, it would reach a higher value -let's say 270 C - and then start to cool down somewhat. The difference in temperature is the overshoot - 20°C in our case. Fill this in for the variable "overShoot".

In conclusion: reaching 250°C requires us to turn off the hotplate at 230°C and wait another 20 seconds for the hotplate to reach this overshoot temperature.

When the temperature has dropped, the hotplate should turn on again. Waiting for a drop of 20°C would not give a nice result, so a different threshold is used. This is called control with hysteresis (different values to turn on and off). Small bursts of max 10 seconds are used to maintain the temperature.

Measurements

To verify the controller, I logged the data to an excel file via Putty (a serial terminal for the PC with some awesome features). As you can see, the reflow profile produced is more than good enough. Not bad for cheap electric wok!

Step 5: Test & Enjoy

We're done! We have turned an old wok into a reflow hotplate!

Plug in the hotplate, select a reflow profile and let the machine do the work. After a few minutes, the solder starts melting and solders all components into place. Just be sure to let everything cool down before touching it. Alternatively, it can also be used as pre-heater, which is handy for boards with large ground planes.

I hope you liked the project and have found inspiration to make something similar! Feel free to check out my other instructables: https://www.instructables.com/member/ThomasVDD/

Share

    Recommendations

    • Clocks Contest

      Clocks Contest
    • Water Contest

      Water Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    28 Discussions

    Would PWM pulse width modulation help with the ups and downs of reflow programming? Neat idea and love how you shrunk it down.

    1 more answer

    PWM would certainly be easier (with PID for example), but I was not to keen on PWM'ing a relay with a 2000W load. That's why I opted for a bangbang controller :)

    0
    user
    Scuba7

    Question 2 months ago

    Thomas,

    I am unable to get the MAX6675 working. From your sketch the :

    const int thermo_so_pin = A0;

    const int thermo_cs_pin = A1;

    const int thermo_sck_pin = A2;

    Are the connections for the MAX.

    As this is a SPI device according to the spec the connections should be:

    D8, D9, and D10.

    How did you manage to get working with the A0, A1, A3 connections?

    Thank you

    2 more answers

    D8, D9 and D10 are the hardware SPI connections. There is nothing preventing you from using other pins with a software SPI (bitbanging). The library supports this on all pins, as long as you define them correctly.

    Try with the arduino only, nothing else connected, and maybe change the pins around.

    I was unaware of that, thank you Thomas I will try what you suggest.

    I have an induction hot plate sold by BuzzFeed (yes, BuzzFeed) that goes by the label ‘Tasty’. The temperature is controlled by an iOS device and has a surface temperature sensor in the middle of the heating surface - there is a separate probe as well - that maintains the set temperature by +/- 1 degree and is dead on accurate. If I put an iron disk on the surface, I think I’d have a nice reflow heater. My concern and question is what effect would an induction heater have on the circuits/ chips? And, does placing a metal plate on the heater mitigate any problem if they exist.

    0D738415-19C5-4E43-96B4-40C7E7C15BC6.jpeg
    1 reply

    Induction heating works by converting the magnetic field generated by the coil into so called "eddy currents" in the piece of metal. The metal then heats up due to these currents. So I would guess that most of the magnetic field is attenuated by the metal plate, and that this wouldn't be an issue for the chips.
    That said, I have no idea if the presence of a magnetic field could change the chips' behavior. Try it out and let us know! ;)

    I suppose the hot plate reflow idea is restricted to a PCB with components on one side only, right? Any ideas adaptations or fixtures that would handle a 2-sided board? Great device!

    1 reply

    Indeed, you can only solder components on the top side. I have no experience with reflow soldering double sided loads, so no idea :p

    Cool idea.

    Or should that be "Hot idea"? ;-)

    Really clever project. Those "live hinges" look really nice, though the laser cutting is way out of my budget. Reclaimed steel for me! Just need to find a hotplate...

    3 replies

    I plan to 3D print my case, with a separate hot plate, so the heat will not melt the plasice case.

    I am lucky enough to have access to the lasercutter of my local fablab. I bet a steel version would look more badass though ;)

    Reclaimed steel is good. Just watch out for shorts to AC power.

    It's the one included in the official arduino starter kit: LCM1602C

    what software did you design the case in. Specifically the living hinge.

    1 more answer

    Fusion 360. The design files are included in step 2 ;)