With this controller, you can control the power of a spot welder. This is done by setting three timings: the pre-weld pulse, the weld pause and the welding time.

The spotwelder controller fits into this Hammond case
The spotwelder controller fits into this Hammond case

DIY battery tab resistance fine-spot welder
DIY battery tab resistance fine-spot welder

This spot-welder timer controller is completely ready:

  • Including the TFT display
  • Including the 110VAC ... 240VAC mini power supply
  • Completely assembled
  • Programmed with the Arduino bootloader and the spotwelder code
  • Fully tested
  • Ready for use

You can use it for:

I have developed the D.I.Y spot welder because I needed a special spot welder for the building of my Maxun One solar bike. It turned out that the spot welder is being built by many people worldwide.

Spot welder control board with TFT display
Spot welder control board with TFT display

Because the electronics was not so easy to build; I have made a completely assembled, programmed and tested spotwelder controller board, which is for sale:

FOR SALE: spot welder parts

How to order

To order, use the Store. Usually, everything is in stock, and you can pay with PayPal.

Complete spot welder controller €39,95

You get what you see here:

Complete with display, buttons and power supply
Complete with display, buttons and power supply

All you need further are the microwave oven transformer and all the other mechanical parts and cabling.

Spot welder controller high power €55

Same as above, with high power thyristors. Especially for the Harbor Freight / Kende Welding Machine DN-100.

Complete with display, buttons and power supply

Radiator earth clamp set €7,95

Size 20mm x 20mm x 12mm


Welding electrode set €4,95
Pure red copper, length 45mm, diameter 6mm. 
It is important that the electrodes are made of the right material, not all types of copper are suitable. Note that there are special copper alloys for spot welding, such as Class 2 Chromium Copper 18200 or Chromium Zirconium Copper 18150, but these are just needed for example at car production. My welding electrodes don't stick to nickel tabs. You only need one set of electrodes in your life, because the wear is negligible, unless you have to weld thousands of batteries. You have to shape the electrodes yourself with a bench grinder.


Shipping and handling costs €3.95 for all countries worldwide. 

Menu controlled operation with TFT display

The big advantage of this spot-welder timer is that the control is menu-driven and therefore very simple. A manual is actually unnecessary.

Wiring and mounting

No connectors are required, because screw terminal blocks are used.
Note: the in and output connectors are for AC voltage and there is no + or -.

Spot welding pulse timer controller wiring
Spot welding pulse timer controller wiring

  • MAINS: 110VAC to 240VAC input
  • OUT: output to the welding transformer
  • Footswitch (optinionally)


  • 3.3V-out: optionally output
  • SEL: optionally external switch connection
  • UP: optionally external switch connection
  • DOWN: optionally external switch connection

Weld times

Since 4-9-2018, the software version is 7.2.0. The minimum time that can be set is now 10ms. The time-table has a logarithmic distribution. The distance between the steps is 20% to 30%:
10, 20, 30, 40, 50, 60, 80, 100, 120, 150, 200, 250, 300, 400, 500, 600, 800, 1000ms.

The welding times are different for 60Hz mains: 8.3, 16.7, 25.0, 33.3, 41.7, 50.0, 66.7ms etc. But because these are not round numbers, the fictional weld times for 50Hz are still used for 60Hz. So at 60Hz, a welding time of 1s is actually 830ms.

  • Pre-weld time: 10ms to 1000ms 
  • Weld pause time: 10ms to 1000ms
  • Weld time: 10ms to 1000ms

To protect the microwave oven transformer, the maximum welding time is 1s. For longer welding times, use the continuous mode.

Here are some oscilloscope images of the measured weld current:

Weld current for weld time 10ms
Weld current for weld time 10ms
Weld current for weld time 20ms
Weld current for weld time 20ms
Weld current for weld time 30ms
Weld current for weld time 30ms

Open-source software

There are no secrets, the advantage of this spot welder is that the software is open-source unlike other controllers.
Download the software at Github
Because the software is open source, it can be customized. If you have an idea how to improve it, please let me know. Then I will implement it and add to Github. You can read here how to update the software yourself with the Arduino IDE.

To re-program the spot welder you need this:
FTDI Basic Program Downloader Module
For sale on eBay for €2.50 including shipping.

Spotwelder FTDI

How to customize weld times

You can change the weld-times yourself in the Arduino sketch, which you can download at GitHub. The weld times are in this section: 

int preweldTimeValues[]={10, 20, 30, 40, 50, 60, 80, 100, 120, 150, 200, 250, 300, 400, 500, 600, 800, 1000};
MenuItem preweldTimeItem = MenuItem("Preweld, ms", UpDownValueTable(4, preweldTimeValues, arrayLenght(preweldTimeValues))); // valuesPtr, table, arrayLenght

int pauseTimeValues[]={10, 20, 30, 40, 50, 60, 80, 100, 120, 150, 200, 250, 300, 400, 500, 600, 800, 1000};
MenuItem pauseTimeItem = MenuItem("Pause, ms", UpDownValueTable(14, pauseTimeValues, arrayLenght(pauseTimeValues)));

int weldTimeValues[]={10, 20, 30, 40, 50, 60, 80, 100, 120, 150, 200, 250, 300, 400, 500, 600, 800, 1000};
MenuItem weldTimeItem = MenuItem("Weld time, ms", UpDownValueTable(11, weldTimeValues, arrayLenght(weldTimeValues)));

For instance, to add two weld time steps 1200ms and 1500ms, change this line:

int weldTimeValues[]={10, 20, 30, 40, 50, 60, 80, 100, 120, 150, 200, 250, 300, 400, 500, 600, 800, 1000, 1200, 1500};

Hammond enclosure

The PCB fits exactly into the Hammond Electronics 1591XXSGY enclosure.

Hammond 1591XXSGY
Hammond 1591XXSGY

Built-in power supply

The controller contains a mains power supply and works on all mains voltages worldwide from 110V to 240VAC, 50 and 60Hz. You only need an extra microwave transformer. 

Drilling the front panel

Spotwelder controller front panel drawing
Spotwelder controller front panel drawing

Repairing all Sunkko battery spot welders 788H 709A 709AD 737B

The electronics of the Sunkko battery spot welders are not made well and often brakes-down. You san simply repair it: just replace the electronics by the Arduino spot welder controller.

Sunkko 788H repair
Sunkko 788H repair
Sunkko 709A
Sunkko 709A
Sunkko 709AD
Sunkko 709AD
Sunkko 737B
Sunkko 737B

The PCB fits exactly into a the Sunkko 788H front panel, which makes repair easy. The outer tactile switches S3 and S6 are for the Sunkko 788 front panel. 
Note that it also happens that the transformer of the Sunkko has a short circuit. You can check that by connecting the transformer to the mains, if the main fuse blows, then the transformer is broken. In that case (also) the transformer have to be replaced, you can take a transformer from a microwave oven.

Kende DN-100E improvement

The Kende DN-100E does not have an electronic control of the welding time. Therefore it is hard to make high-quality weldings with a good repeatability. With the controller you can greatly improve the weldings with the Kende DN-100E , see here how to do.
Note that you need the special controller with high power thyristors. For 120V mains, on both sides, the 0.1 inch traces must be tinned, this is already done on the high power version.

Kende DN 100E spot welder

Microwave oven repair safety precautions

Working on a microwave oven is extremely dangerous. You will normally NOT survive the high voltage of 4000V, the available power of more than 1000W is enough to kill you instantly like an electric chair. Normal insulated tools are not safe, the high voltage may strike through it. Please read this article first

The microwave oven high-voltage is 5 times as dangerous as the overhead line of a train, see the video here:

Microwave oven repair safety precautions


If you have any questions, please post them on forum.arduino.cc.

Circuit description

Solid state relays with standard TRIACs will not work here, because the load is highly inductive. Standard TRIACs have turn-off problems with inductive loads, while SCRs always turn off at the negative half-cycle. Therefore, an antiparallel back to back connected thyristor control is used here. The RC snubber network R11 and C3 protects the circuit from voltage transient spikes. D1 and D2 are transient-voltage-suppression diode (TVS), without this diode the ATMEGA328 may be damaged by voltage spikes. The FTDI connector J4 is for re-programming. The ICSP connector is for burning the Arduino bootloader.

Note: the outer switches S3 and S6 are for the Sunkko 788 front panel.

Spot welding pulse timer control panel with TFT display circuit
Spot welding pulse timer control panel with TFT display circuit

Reducing the weld transformer inrush current

The current through the weld transformer, which is an inductive load, will lag behind the voltage by 90º. This is the reason that, to reduce the inrush current, the optimal switch-on time is not the zero point of the mains sinus but the top of the sinus. To be able to do this, the Arduino has to detect the mains zero crossings, this is done by R5 and C6. The two internal clamping diodes of the ATMEGA328 limit the input voltage to 0 and 5V. The delay time in the software "sinusMax_us" is 4583µs, this strange number is the average of 1/4 cycle of 50Hz and 60Hz. 

Inductive load phase shift

Setting the power of the welding current is done only with time control and not also with current value control. At some spot welder controllers, the current value can be set too, but because this works with phase control, this will increase the inrush current with the risk of blow up the main fuse. Weld-time setting has the same effect.

High voltage!


Pay attention: the PCB is directly connected to the mains, just the low voltage part is safe. Usage is at your own risk.

Maximum thyristor current

The maximum RMS on-state current for the BT151-800R is 12A. However, for short weld times we can take the non-repetitive peak on-state current, this is 50A for weld times below 0.5s. For a normal microwave oven transformers the thyristors are adequate oversized. Take stronger thyristors if you are using a large weld transformer, e.g. the TN5015H-6T (or 6I), which max. RMS current is 50A . No heatsink is needed because the thyristors do not heat up.

User guide

  • Use the up, down and select button for setting the parameters, see the video on YouTube.
  • The settings are stored in the EEPROM.
  • Press the weld button or the foot pedal to weld.

Continuous mode:

There is a possibility to weld as long as the weld button is pressed. To enable this mode, set the welding time to 0 (*note*), press and hold down the weld button simultaneously during power on for 1 second and than release the button. Now you can weld continuously without the timer. Take care: the transformer will be overheated easily, so use this feature only for testing or for measuring the weld current. 

More information

You may find some more information at the article of the old spotwelder controller.


Do you have any comments about the website or problems with shopping? Please let me know.
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.