This Tutorial will show you how to upload the latest Spot Welder Software V3.2.2 to your Arduino Nano

The new Software is compatible with all V3 and later Arduino Spot Welders.

To upload the Arduino Code of the Spot Welder V3 to the Arduino Nano you need to do some preparation.

Once you have installed the Arduino IDE you need to add two libraries. The “Adafruit_GFX” and “Adafruit_SSD1306”  library. Make sure to use Vesion 1.1 of the SSD1306 libraray. The newer versions seem to cause problems.

Install them through the library manager in the Arduino IDE (click: Sketch -> Include Library -> Manage Libraries)

 

Then go to the SSD1306 library folder (on windows typically like this: C:UsersMarcDocumentsArduinolibrariesAdafruit_SSD1306-master ) and open the “SSD1306.h” with a text editor.

In the SSD1306.h you need to define line 51 (#define SSD1306_I2C_ADDRESS 0x3C) and line 69 (#define SSD1306_128_64) . In the latest version of the library its line 55 and 73.

The code should look like this after you changed it:

#define SSD1306_I2C_ADDRESS0x3C// 011110+SA0+RW - 0x3C or 0x3D
// Address for 128x32 is 0x3C// Adress for 128x64 is 0x3D (default) or 0x3C (if SA0 is grounded)
#define SSD1306_128_64
//#define SSD1306_128_32
//#define SSD1306_96_16

After you have done this dont forget to click save.

Now you can go back to the Arduino IDE and open the Arduino Code from the Github project you downloaded.  The file is the Arduino_Spot_Welder_V3.2.2.ino . Make sure all unziped files of the Spot Welder code are in the same folder and the folder is named Arduino_Spot_Welder_V3.2.2 .

Connect the Arduino Nano to your computer with an USB cable and it should automatically install the drivers for the Arduino Nano. If it does not connect you need to install the driver for the USB chip manually. CH340 Windows DriverCH340 Mac DriverCH340 Linux Driver

If the Arduino is connected correctly a new Com Port should show up in your Arduino IDE under Tools -> Port

Select the new Com Port . Also select as Board: “Arduino Nano” and Processor: “ATmega328”

 

Finally click on “sketch -> upload” to write the programm into the Arduino Nano. When it is finished the Display on the Spot Welder should show a low battery warning because the default low battery warning is set to 11V.

 

 

 

15 thoughts on “Arduino Spot Welder Software V3.2.2 installing Tutorial

  1. Dave Green says:

    hi can this be used with out a car battery as very expcecive here i would like to know as i am new to this can i use my lipo 35 5000 battery i have alredy as i would like to buy one please

  2. Michael says:

    Hi, it seems the “SSD1306.h” library has a newer version and the code changes are outdated. Could you describe how to change the code for importing the newest version? Thank you.

    • Marc Schoenfleisch says:

      I will take a look at that. In the meantime you can just install the old version V1.1 of the library.
      Thats the one i used in the tutorial.

      • Michael says:

        Thanks, I used the old library and it worked.
        Note to other people: the processer to select in my case was Processor: “ATmega328P (old Bootloader)”

        • Techman says:

          To support the new library, I made the following changes

          In the main.ino file
          Change:

          Adafruit_SSD1306 display(OLED_RESET);

          To:

          Adafruit_SSD1306 display(SCREEN_WIDTH,SCREEN_HEIGHT,&Wire,OLED_RESET);

          In the .h file
          Change:

          // SD1306_LCDHEIGHT must be defined in Adafruit_SSD1306.h
          #if (SSD1306_LCDHEIGHT != 64)
          #error(“Height incorrect, please fix Adafruit_SSD1306.h”);
          #endif

          To:

          #define SCREEN_WIDTH 128 // OLED display width, in pixels
          #define SCREEN_HEIGHT 64 // OLED display height, in pixels

  3. Jonathan MAROTTA says:

    Hi, it seems that i’m unable to download a usable V3.2.2.zip containing the arduino code on your github page …

    Same thing for the BOM file …

    Can you check if everything’s ok ?

    Regards,

    • Marc Schoenfleisch says:

      Sorry for your problems. Maybe you did not use the recommended version of the SSD1306 library ? But dont worry, there will be a new software version and tutorial soon that is compatible with the latest library and Arduino IDE versions.

  4. Aliyar says:

    Hallo, ich habe eine Fehler.
    Arduino: 1.8.9 (Windows 7), Board: “Arduino/Genuino Uno”

    C:\Users\Behi\Desktop\Arduino Spot Welder V3 master\Arduino Code\V3.3.2 Arduino Code\Arduino_Spot_Welder_V3_3_2\Arduino_Spot_Welder_V3_3_2.ino: In function ‘void displayPulseData()’:

    C:\Users\Behi\Desktop\Arduino Spot Welder V3 master\Arduino Code\V3.3.2 Arduino Code\Arduino_Spot_Welder_V3_3_2\Arduino_Spot_Welder_V3_3_2.ino:1070:74: warning: large integer implicitly truncated to unsigned type [-Woverflow]

    setTextProp(1, (SSD1306_LCDWIDTH-(sizeof(LS_PULSEV)-1)*CHR_W*2)/2, 16);

    ^

    Sketch uses 25090 bytes (77%) of program storage space. Maximum is 32256 bytes.
    Global variables use 581 bytes (28%) of dynamic memory, leaving 1467 bytes for local variables. Maximum is 2048 bytes.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x38
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x38
    Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • Marc Schoenfleisch says:

      Da ist das falsche Board ausgewählt. Es muss “Arduino Nano” ausgewählt werden, nicht Arduino /Genuino Uno”

  5. Aliyar says:

    Hallo, ich habe immer wider problem.
    Arduino: 1.8.9 (Windows 7), Board: “Arduino Nano, ATmega328P”

    Build options changed, rebuilding all
    C:\Users\Behi\Desktop\Arduino Spot Welder V3 master\Arduino Code\V3.3.2 Arduino Code\Arduino_Spot_Welder_V3_3_2\Arduino_Spot_Welder_V3_3_2.ino: In function ‘void displayPulseData()’:

    C:\Users\Behi\Desktop\Arduino Spot Welder V3 master\Arduino Code\V3.3.2 Arduino Code\Arduino_Spot_Welder_V3_3_2\Arduino_Spot_Welder_V3_3_2.ino:1070:74: warning: large integer implicitly truncated to unsigned type [-Woverflow]

    setTextProp(1, (SSD1306_LCDWIDTH-(sizeof(LS_PULSEV)-1)*CHR_W*2)/2, 16);

    ^

    Sketch uses 25288 bytes (82%) of program storage space. Maximum is 30720 bytes.
    Global variables use 582 bytes (28%) of dynamic memory, leaving 1466 bytes for local variables. Maximum is 2048 bytes.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x45
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x45
    Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  6. Aliyar says:

    Danke, Ich habe das Aktualisiert. Arduino: 1.8.9 (Windows 7), Board: “Arduino Nano, ATmega328P (Old bootloader)

Leave a Reply

Your email address will not be published. Required fields are marked *