DIY CNC Reflow Hotplate

by VirgileC in Circuits > Electronics

1399 Views, 8 Favorites, 0 Comments

DIY CNC Reflow Hotplate

g1270.png
system.PNG
IMG20230416191425.jpg

Is it a plane, is it a bird ? No, it is a CNC hotplate for SMD reflow, at least … stricto sensu.

Nowadays, hotplate are widely used for soldering SMD onto PCBs. There are plenty of soldering hotplate options both commercial and DIY products but in this instructable, I will describe how I have built mine with the 2 main parts of the machine scavenged from other devices. The heating plate itself (meaning the heating element and the plate on which the PCB is placed) is from a standard iron and the heating control board is, in fact, the motherboard of an old FDM printer (on which 2 of the stepper driver are KO). In addition, this board was used in the printer together with a touch screen as Human user interface (HUI) but it got broke as well so I am replacing it with a Raspberry pi 3B (running octopi) that I will use to communicate with via my computer.

We will be using high voltage in this instructable, use extreme caution if you decide to replicate this instructable and every step of the way, proceed only if you are confident your safety is assured!

Note: the motherboard could have been reworked (stepper driver could have been replaced) but I have chosen to replace the board in the printer altogether as I prefer to use an other board with removable driver. In addition, you will find that using the motherboard the way I am about to describe is not destructive in anyway and I keep the option of replacing the stepper driver if I ever need/want to in the future.

Supplies

Iron soleplate

M4*120mm threaded rod (iron dependent, see Step 3 for more details)

MDF or wood board (approximately of the same size of your iron soleplate)

12V/24V power supply (depends on your 3d printer motherboard)

Solid state relay (rated for more than the power of the iron)

Wiring AWG28

2xPower cable

A computer

Heat-shrinkable sleeve

USB cable to connect your computer to the motherboard

TOOLS

Drill

Screwdrivers

Soldering iron

Polyimide tape

Dismounting the Iron’s Soleplate and Mounting It on the MDF

IMG20230415184521.jpg
IMG20230415185314.jpg
IMG20230415190809.jpg
holes.PNG

First, dismount the iron, we will only need the soleplate. The soleplate of the iron provides both the flat surface on which the PCB will be reflowed and the heating element itself.

Depending on the model of your iron, on the soleplate, you will find a few threaded holes that will serve as mounting points of the soleplate on the MDF. Those mounting point have to give stability of the soleplate. For my model, I have used three of the M4 (metric 4mm) threaded holes giving me simple mounting and stable end result.

Mark the MDF for the hole corresponding to the threaded holes of your soleplate. Drill the holes for soleplate mounting as well as an additional hole that will be used (in a future step) as a pass through for the power cable of the soleplate, thermistor and Solid State Relay (SSR) control wires

Dismounting the 3d Printer’s Motherboard

IMG20230415184554.jpg
IMG20230415184918.jpg
IMG20230415194211.jpg
IMG20230415195448.jpg
IMG20230415184857.jpg

Why are we using a 3d printer motherboard ? Because I have one and, also, it implements the control of an heating element with no work on our end ! (laziness and good engineering don’t rhyme, but they should). I will be using a motherboard called Robin nano V1.2 (out of an elegoo Neptune 2) but this should work with the motherboard of any entry-level 3d printer.

In essence, we will make the motherboard think that it is heating up the nozzle of the printer, when, in fact, we will heat up the soleplate of the iron. We are using the close loop control of the board, that way, we do not have to redesign anything ourselves, we will also use the exact same thermistor used in the 3D printer.

Since we are using the motherboard with the software as is, we have to circumvent the implementaed safety features of the motherboard software the first of which is that in the Robin Nano V1.2, the hotend wont heat up if the endstops are activated (endstops are NC) meaning that to have the motherboard believe that everything is OK, you have to short those connectors on the board.

You can either solder a piece of wire, make a “short-on-connector” (like me), or simply connect the 3d printer original endstops (if you still have them). The other safety measure that we have to bypass is that the hotend wont heat up if we are not getting a sensible temperature reading on both the hotend thermistor as well as the heat bed’s. This not a problem for the temperature reading on the hotend as we are using a thermistor, but for the heatbed thermal reading, you can either put a resistor of, for example 100K, on the heatbed’s thermistor connector or, like me, put another thermistor that will measure the ambient air temperature (but we wont use this reading in any way shape or form).

And that was all the work to be done on the motherboard !

Final Assembly

IMG20230415193550.jpg
IMG20230415193632.jpg
Capture.PNG
IMG20230415184731.jpg
IMG20230415184840.jpg

First, we will add feet to the MDF board to give a little bit a clearance for the 3d printer motherboard that will be mounted on the underside of the MDF, I have used some scrap 30x46mm cut to the entire length of the MDF board as legs.

Now, screw in the M4 rods on the iron’s soleplate, then, put on every rod: a nut, a washer, the MDF board, a washer, a nut (in this order). The MDF should be clamped by the 2 washers and kept in place with the 2 nuts. You should make the soleplate as parallel as possible to the MDF.

I have 3D printed and glued to the MDF some plastic supports for the motherboard but you can use any method you prefer to mount the motherboard under the MDF. The Iron soleplate had quite short wires, so I chose to mount the SSR on the upper side of the MDF, this also separate the “high” voltage (220V in France) on the top side of the MDF to the low voltage for the motherboard (24V for my board) on the underside of the MDF.

I did not mount the raspberry pi on the machine as I frequently use it on other project but if you have a dedicated raspberry pi (see schematic in next step), there is plenty of space left on the underside of the MDF board

The Wiring

system2.PNG
system3.PNG
IMG20230415194644.jpg
IMG20230415194647.jpg

As explained before, we are using the hotend connector to control the iron soleplate heating element, however, we cannot directly drive such a load with the 3d printer motherboard, to achieve that, we are using a power solid state relay (that is functionally equivalent to a controllable switch). As far as the motherboard is concerned, this SSR is perfectly transparent. The thermistor of the hotend (labeled "thermistor1" on the schematic) is tapped using polyiamide tape to the underside of the iron soleplate.

The wiring is quite straightforward, make sure you have the shorts mounted on the endstops connectors, and then follow the schematic below and you should be done !

The Code

This machine, using a 3d printer motherboard, is controlled with… gcode files! If you are new to gcode, it is the most widely used file format used to control not only 3d printers but CNC machine in general. (amusingly, the hotplate we are building is also stricto sensu a “computer numerical controlled” machine )

As such, we have to give the machine this kind of file. You can find the thermal profile that matches your soldering paste the best on the internet and then write the corresponding Gcode using only the two instruction:

M104 SXX => heats up the “hot-end” to XXX°C

G4 P1000 => wait 1000ms (you can chose another resolution than 1000ms)

I have written a very small python script writing the gcode file for me, you can adapt the script to generate any thermal profile you want.

Quick note, this is the main benefit of using the 3D printer motherboard, the only work we have to do is telling the machine what temperature we want the soleplate to be at, all the work of the close loop control of the temperature is outsourced to the motherboard software and sensors.

https://github.com/Virgile-Colrat/reflow_hot_plate/blob/e31670f627866533845bb3a2815472d41b58ad49/graph%20generator.py

Results

Capture2.PNG
IMG20230416120747.jpg
IMG20230416131107.jpg
IMG20230416131100.jpg

I have tried this reflow hotplate with the smallest (but also only) PCB I had lying around and it works ! Although my soldering paste is getting quite old making the solder point quite less than perfect, dare I say just functional really. You can see on the graph that the thermal profile is not actually on point, but it is definitely good enough :)

(more an Annex Than an Actual Step): Octopi

Octopi is normally a software allowing a raspberry pi to control a 3d printer, I have used it mainly because I broke my printer HUD. You can find out how to install it and then access it trough your local network with this awesome tutorial from Thomas Salanderer: https://www.youtube.com/watch?v=HBd0olxI-No

Once you have it up and running, just upload to your octopi server the gcode generated by the python script and run it!