An Arduino Nano based Spot Welder for battery welding

This Spot Welder can be used to weld 18650 batteries. It needs a 7-12V power source (12V recommended) and uses a 12V car battery as welding current supply. Typically one 45Ah battery delivers enough current to get good welds with 0.15mm nickel strips. For thicker nickel strips maybe you will need bigger battery or two in paralell.

The Welder generates a double pulse, where the first one is 1/8 of the time of the second one. Pulse time of second pulse is adjustable by the potentiometer and displayed on the screen in mS so you can exactly adjust the time. Its adjustable from 1 ... 20 mS.

Watch the Video to get detailed instructions on how to build it.


Project Files:


Due to many requests for the PCBs

If you guys want to buy a set of pcbs to build your own spot welder please take a look in the comments below this instructable. Some people who ordered boards at PCB manufactures are willing to sell some of them. I don't have any more pcbs left for sale.

Step 1: Making the PCB

You can find the Eagle files for the PCBs on my Github.

Easyest way is to order the boards at an PCB manufacturer. For example at pcbway.com .There you get 10 boards for about 20 €. The necessary gerber files for ordering at pcbway.com can be found in my Github.

You can support me by registering through this link http://www.pcbway.com/setinvite.aspx?inviteid=128...

This way you get a 5$ coupon for your order and i get some credits at the shop which i can use for upcoming projects.

But if you like diy you can also build it on a prototype pcb board with hand wiring. This is how i did the first prototype of the spot welder. In the pictures you see a manufactured board looks much cleaner.

<p>I just received PCBs and have 6 spares.</p><p><strong>Only delivered by hand in Paris,</strong> France. For 5&euro; a piece or a good pint :)</p><p>If interested, please PM me on twitter <a href="https://twitter.com/codextreme" rel="nofollow"> https://twitter.com/codextreme</a></p>
<p>hi. Can you please write me itreparatur at gmail dot com. I want to buy one PCB. </p>
<p>Hi I send message your Twitter account. Can I buy this. Thank you.</p>
<p>Salut,</p><p>Je suis interesse par deux PCB. Tu peux m envoyer un mail ? </p><p>akira.johndoe .at. gmail.com (je ne suis pas sur twitter)</p>
<p>Hi all, build complete, but not working, when I push the switch, the green led flash .. but no weld, what can be the problem ? </p><p>Thanks a lot :)</p>
<p>What is your controller board voltage ?</p><p>It might need to be as high as the car battery voltage (12V) to work properly. If someone could confirm this ..</p>
It's a 12v power supply so not the problem I think<br>I will check the mosfet signal and mosfets
<p>What is the aluminum bar for? Do the tranzistors get that hot? What if I used 2oz copper as the heat sink?</p>
<p>Yes MOSFETs can get quite hot during a welding session.</p><p>Moreover its used to attach the negative welding probe wire and so adds some convenient flexibility to your kit, as 16mm&sup2; cables are not so flexible and can be tricky to manipulate.</p>
Good weld
<p>Good evening my name is John, I live in Portugal and I wonder where I can buy already assembled DIY Arduino Spot Welder?</p><p>Because I do not know much about electronics, but I need to have a DIY Arduino Spot Welder to weld the 18650 batteries.</p><p>I then bought here a battery of 12v.</p><p>If I can give the link to buy already assembled, I thank you.</p><p>I look</p><p>John</p>
<p>it works great</p>
<p>awesome! Are you in North America? I posted a partial parts list a little further below... Anyway you can list what/where parts you used/got them from?</p>
<p>Ordering parts and i can't figure to the 36pol male header and the 20 pol female header, as i can't see these on the board. Am i missing something? </p>
<p>Hi - anyone can give PC pricing quote from pcbway? They're doubling cost because saying it's a panel order, so $24 instead of $10 normal. That's not including the shipping component.</p>
<p>On the other hand : ordering the two boards already separated is less expensive than ordering the panel. ($10 each) The panel pricing quote was $24.</p>
Hello. I have just received my pcbs from pcbway.com. I want to know the resistance of the pot. Also I have a 12v 60a switching power supply. Can I use it for this project?
<p>Take the pot value like in the parts list: 50k</p><p>You can not use the power supply. It will switch of, or in bad case blow up.</p>
<p>For us in North America i've started a list for Mouser but not 100% sure if i have the right parts. Below is what i have so far, also posted this on Endless-sphere hopefully we could possibly update the docs with a mouser shopping cart!</p><p>The links are what i've found on mouser... some i couldn't find a compatible part. Let me know what you think/see</p><p>Mosfet IRF1405 55V 169A IRF 1405 1.15 &euro; 9.20 &euro; <a href="http://www.mouser.com/ProductDetail/Infineon/IRF1405PBF/?qs=%2fha2pyFaduj7MXkE9%2f%2fgmDrs1nVe70vn6O%252b8qYoYC30RfgXKwb4V2FORCVRRaZaJ" rel="nofollow">Infineon / IR IRF1405PBF</a><br>Mosfet Driver MCP14E10-E/P MCP 14E10-E/P 1.70 &euro; 6.80 &euro; <a href="http://www.mouser.com/ProductDetail/Microchip/MCP14E10-E-P/?qs=%2fha2pyFaduiK%252bzV9xLHb5QdgBW%252bT%2f00l4%2fdh1wPtiKwfWRHWKNowJfSmZGFgUXhdODiseL0%252bIng%3d" rel="nofollow">Microchip Technology MCP14E10-E/P</a><br>Poti 6mm Linear 50K RK09K113-LIN50K 0.99 &euro; <br>7 Segment Display SC 56-11 RT 0.84 &euro; <a href="http://www.mouser.com/ProductDetail/Kingbright/SC56-21EWA/?qs=%2fha2pyFaduhC59Humhok116%252bpSOSbqYIXY75OExBNV91Nwcz5gCSYRSMjIJIcSFW" rel="nofollow">Kingbright SC56-21EWA</a><br>1x20pol female header BL 1X20G8 2,54 0.26 &euro; <a href="http://www.mouser.com/ProductDetail/Harwin/M20-7822046/?qs=%2fha2pyFaduh2v%252b0OBRjFzNOTWjD968Z59MrSIrYVuqw1g1JJqdVIdQ%3d%3d" rel="nofollow">Harwin M20-7822046</a><br>1x36pol male header SL 1X36G 2,54 0.17 &euro; <a href="http://www.mouser.com/ProductDetail/3M/929647-01-36-I/?qs=%2fha2pyFadug97%2fLAehBJvdrxTX4rOj1oZvCXvtwyTnK7QE1mt%2fNI7EJ2FWUfO8N4vm15dwVI3Bwe6ekr6pZg0vHA0ml8iiWj" rel="nofollow">3M Electronic Solutions Division 929647-01-36-I</a><br>PCB connector set 2pin PS 25/2G WS 0.29 &euro; <br>IC socket 8 pole GS 8 0.03 &euro; 0.12 &euro; <br>diode 1N5817 1N 5817 0.06 &euro; <a href="http://www.mouser.com/ProductDetail/ON-Semiconductor/1N5817RLG/?qs=%2fha2pyFaduiZaMrYrLxOTDwO4DMVFpvYFH8lJ1Sr3fPPix8gkqDGnw%3d%3d" rel="nofollow">863-1N5817RLG</a><br>elektrolytic capacitor 1 &micro;F RAD 1/63 0.04 &euro; <a href="http://www.mouser.com/ProductDetail/Cornell-Dubilier/SK010M063ST/?qs=%2fha2pyFadug4JIzDYXzcpqw60vo7Y9rO2CmQGGHRArGUPcAN3W463A%3d%3d" rel="nofollow">598-SK010M063ST</a><br>ceramic capacitor 100pF KERKO 100P 0.06 &euro; <br>Resistor 221 Ohm METALL 221 0.08 &euro; 0.16 &euro; <a href="http://www.mouser.com/ProductDetail/Yageo/MFR-25FBF52-221R/?qs=%2fha2pyFadui%252bnL3Q99GBfguh2CWHI%2fx2rn3%252byZU7M86ExXJaXLeptmtFvQHzmhSR" rel="nofollow">603-MFR-25FBF52-221R</a><br>Resistor 100K-Ohm METALL 100K 0.08 &euro; <a href="http://www.mouser.com/ProductDetail/TE-Connectivity/LR1F100K/?qs=%2fha2pyFadugZbks9V501ar%252bo%2fCfpl0bKxhdvsti4BD5YAdT%2fHh%252bHbA%3d%3d" rel="nofollow">279-LR1F100K</a><br>LED 5mm green LED 5MM GN 0.06 &euro; <a href="http://www.mouser.com/ProductDetail/Lumex/SSL-LX5093GD-TR/?qs=%2fha2pyFadui7ivFq1vSLB70eX4IfdKX3RMDoz%2fMLTtn8ei294yXM6A%3d%3d" rel="nofollow">696-SSL-LX5093GDTR</a></p><div></div>
Where could i find the electrodes ?
<p>Heres my build. I draw the 12V directly from de 12V car battery. I did a strong welding on the back to be able to manage high currents.</p>
<p>Hi all, I want to build this spot welder, but I see nothing about how to build the foot switch, what parts I have to buy to make it ?</p>
<p>Hi White </p><p>you can buy it done, </p><p><a href="http://es.aliexpress.com/item/Promotion-SPDT-Nonslip-Metal-Momentary-Electric-Power-Foot-Pedal-Switch/32428553147.html?spm=2114.43010208.4.2.JKxKYb" rel="nofollow">http://es.aliexpress.com/item/Promotion-SPDT-Nonsl...</a></p><p>or make it for yourself, it is too easy</p><p>for example: <a href="http://jimlaurwilliams.org/wordpress/?p=723" rel="nofollow">http://jimlaurwilliams.org/wordpress/?p=723</a></p><p>parts you need:</p><p>- limit switch <a href="http://www.ebay.co.uk/itm/10-Pcs-Micro-Limit-Switch-Long-Lever-Arm-Miniature-SPDT-Snap-Action-CNC-Home-/121240449049" rel="nofollow">http://www.ebay.co.uk/itm/10-Pcs-Micro-Limit-Switc...</a></p><p>- wire 1-2 meter</p>
Thanks a lot ! <br>On aliexpress there is mosfet irfb1405 for 4&euro; 10 pieces, what do you think ?
<p>Thank you for good welder. Could you help me. My 7 segment display doesn't show any digits. Where is the problem?</p>
<p>Did you get the right 7 segment display? It needs to be a common cathode.</p><p>SC56-11EWA or equivalent</p>
Thank you for replay. Yes I did. I think I found the problem. When I connected the power supply (12V) the arduino burned. I ordered new one and will try with 9v power supply.
<p>I should work fine with 12V ! You have a short somewhere.</p>
What would happen if we increase the time from 20 ms to 100 ms? Because I am makeing a dent puller with this circuit.
<p>You would draw current for longer. The switching will handle the current without problem. If you are driving an inductive load, you will want to add in some method of handling the back EMF it will generate when the MOSFET's switch off.</p>
what to do in the program that will be fine . extension of time I put in 10.23 . EMF but I do not know
I'll use solid state relay
<p>Someone else asked this same question but no answer: Do you use the 12 volt car battery to supply the 12 volts to the logic circuit board?</p>
<p>Im using a 3s lipo battery (about 12V) to power the spot welder pcb.</p><p>Should also work to use the 12v directly from the car battery. </p>
<p>Hi. Thanks for your great and useful project.</p><p>I'm planing to use the 12V straight from the lead acid Battery also. But not sure if that's a good idea. The battery is in fact short circuited for a small fraction of time. Can that damage the Spot Welder components??</p>
<p>The short_pulse variable must be a Float otherwise you'll get inconrrect first pulse time. Spot that with oscilloscope.</p>
<p>Thats right , but as far as i know the &quot;delay&quot; command can only handle integer values. So there would be the need to implement some new code, to handle microseconds instead of the milliseconds. I had no problem with the pulses while welding but if you like you can change the code and sent it to me. Then i will test it and update it at the Github page.</p>
<p>Here's the updated code with the first pulse fix:</p><div>void DoppelImpuls(){ <br><br>pulse_time = analogRead(sensorPin)/51.15; <br>float pulse_short = pulse_time; // use a float to handle fractions<br>pulse_short = (pulse_short/8)*1000; // Impuls with 1/8 of the time of pulse_time<br><br>if (pulse_short &lt; 1) //makes the short pulse to be at least one milli second <br>pulse_short = 1; <br><br>digitalWrite(ledPin, HIGH);<br>digitalWrite(mosfetPin, HIGH);<br>delayMicroseconds(pulse_short); <br>digitalWrite(mosfetPin, LOW);<br>delayMicroseconds(pulse_short); <br>digitalWrite(mosfetPin, HIGH);<br>delay(pulse_time); <br>digitalWrite(mosfetPin, LOW);<br>delay(100);<br>digitalWrite(ledPin, LOW);<br><br>}<p><a rel="nofollow">[delete]</a>Feature Comment</p></div>
<p>tested it with oscilloscope but the short pulse time is still only 1 millisecond for pulse_time from 1-16 and 2 milliseconds for pulse_time 17- 20. Seems like the delayMicroseconds is not working properly or my Arduino can't handle it.</p>
try to declare float pulse_short on the setup section <br>Have you removed the old int pulse_short?
<p>From the Arduino reference web site: If doing math with floats, you need to add a decimal point, otherwise it will be treated as an int. See the <a href="https://www.arduino.cc/en/Reference/Fpconstants" rel="nofollow">Floating point constants</a> page for details.</p><p>I have used FLOAT for both time variables, using decimal points in all constants, and printing the values to the serial monitor. The results are correct over the full range of the potentiometer positions. However, the oscilloscope shows that the output pulse suddenly decreases to about 2000 microseconds when the control moves beyond about 16 milliseconds, even though the printed value continues to increase as it should. An unsolved mystery at this time.</p>
<p>Found the problem. My bad. The documentation clearly states that the largest number you can use with delayMicroseconds() is 16383. So, use delayMicroseconds for the short pulse and delay for the long one.</p>
Got to try 20 milliseconds and see what my oscilloscope shows.<br>It should be a 2,5 milis pulse
yes. I'm now running straight from the car battery (70Ah).<br>Used a voltage regulator to keep the voltage exactly at 12V all the time.<br>
<p>Excellent Instructable. This is my build with 3D printed handles. I used soldering tips for probes</p>
<p>Built one and this thing instantly welded without pressing foot switch?!?!?</p><p>One of the mosfet drivers gets really hot. Its the upper right.</p><p>Damn, now i need to order spare parts, not so easy this project like it seems to.</p>
<p>Unter den FETs sind Durchkontaktierungen, hier darf keine Verbindung zu den FETs hergestellt werden. Isolieren oder Abstand halten!</p>
<p>Die MOSFETs wurden einfach zu heiss beim L&ouml;ten. Habe sie jetzt geschaubt und alles l&auml;uft wunderbar.</p>
<p>Bei mir waren es die Durchkontaktierungen, &auml;hnlicher Effekt, allerdings nichts besch&auml;digt. </p>

About This Instructable




More by KaeptnBalu:DIY Arduino Battery Spot Welder 
Add instructable to: