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 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>
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>
<p>Yes that happened to me also, I ended up scrapping all the Mosfets and tried again, then it happened again. I scrapped the pc board and tried a new one and that seamed to fix it. That was 2 sets of Mosfets lost. It works great now and the second unit works well as does my 3rd board.</p>
<p>New MOSFETs and drivers ordered, the expensive part of this build.</p><p>Luckily i have a new second board, but this time i will screw the MOSFETs on instead of soldering. I also did not cut the Drain Pin of the MOSFETs, maybe this was also a fault.</p><p>It is a lead acid battery for big generators. I think it is way to much for the MOSFETs. I'll try first with a motorcycle battery next time.</p>
<p>I'm using a 137A battery, is that too much? The nickel strip i tried to weld exploded.</p>
<p>I looked up that battery and it's a lipo, if I got the right info.(DO NOT USE A LIPO) I would not use that as it can explode. Stick with lead acid batteries</p>
<p>I'm using a utility battery works ok but not enough power, A car battery works great and a full size deep cycle battery.</p>
<p>Habe alle MOSFET's durch gemessen und ich denke es sind alle bis auf einen kaputt. Zerst&ouml;rt das dann auch die MOSFET Treiber?</p><p>Kann das an der gro&szlig;en Batterie liegen, oder eher dass sie beim L&ouml;tvorgang zu heiss geworden sind?</p>
<p>Funktionspr&uuml;fung bestanden, fehlt noch eine passende Stromquelle.</p>
<p>Hello. So I finished building the Arduino Spot welder and I encounter the magic smoke problem after the press of the foot switch. The third time destroyed the Arduino Nano. The one thing I noticed after the first press of the foot switch the underside of the board with the arduino nano felt warm. I assume there was a short created.</p><p>I want to confirm the parts I used are correct. Since I live in the United States, I used Mouser and digikey.</p><p>Mosfets: <a href="http://www.mouser.com/Search/ProductDetail.aspx?R=AUIRF1405virtualkey57370000virtualkey942-AUIRF1405" rel="nofollow">http://www.mouser.com/Search/ProductDetail.aspx?R=...</a></p><p>Gate drivers: <a href="http://www.mouser.com/Search/ProductDetail.aspx?R=MCP14E10-E%2fPvirtualkey57940000virtualkey579-MCP14E10-E%2fP" rel="nofollow">http://www.mouser.com/Search/ProductDetail.aspx?R=...</a></p>
<p>I live in Canada and I also used the same parts from Mouser on the first board the second board I built I used IRFX44 Mosfets. I used Mouser, DigitKey, and Newark for most of my parts. Please note that I encountered a bad MOSFET board that caused me a lot of trouble, </p>
I probably encountered one bad mosfet. I checked each mosfet if they work by checking the continuity through the drain side and testing each pin. Either the gate or the source was open. I'm contemplating whether I should just get a dedicated battery spot welder or spend an amount that will be the equivalent of the battery spot welder after this predicament.
<p>do you have any spair or extra boards, as I had 1 that was no good, if not go to ve3vxy and send me an private message</p>
<p>I have two left over from OSH Park. I used their 1oz copper process. I'm still deciding if I should make another one... </p>
<p>Hi MatthewP33 How did you make out did you put together and other one and how did it work out for you</p>
<p>I decided to go with a battery spot welder from China in to avoid the same issue. I still have yet to figured out what happened, though I assume it was a mosfet short.</p>
Hi Guys,<br><br>My order finally arrived from Seeed after reordering and choosing a courier rather than hong kong air.<br>I'm willing to post my spare boards to anyone in Australia for $5 each + $10 packaging and postage. Sending overseas isn't worth it, so please don't ask :)<br><br>PM me if you are interested.<br><br>Mick
Hi mate I'm interested in maybe 4 boards I'm in Melb. Also do u sell components or can recommend where I can Aquire the components
<p>Check your messages. You may need to show the full site view if you are using mobile.</p><p>Mick</p>

About This Instructable




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