Utility Bar

How to Set Up the Arduino IDE

Ethan Zaitchik |

We've covered what is Arduino and which board to pick. Now, our current focus is on configuring and uploading code onto the Arduino board. This guide covers downloading and installing the Arduino IDE on Windows, installing the USB driver, and uploading your first sketch. Our goal by the end is to build an understanding on how the IDE works, and for your board's onboard LED to blink.

This guide is written for Windows. Installing the IDE on Mac and Linux follows the same basic download and install process, with a couple of OS-specific steps such as macOS security prompts or Linux USB permissions. See the official Arduino software page for those.

Table of Contents

    Download and Install the Arduino IDE

    Head to the official Arduino software page and download Arduino IDE 2.x for Windows. Run the downloaded installer and accept the driver prompts during setup. These install support for official Arduino boards. If you're running a compatible board, you'll need a separate driver, which we'll cover in the following section.

    Arduino IDE Installing Screen

    Install the CH340 Driver for Compatible Boards

    Official Arduino boards use a USB chip that Windows recognises automatically, no driver needed. Most compatible boards use a CH340 USB-to-serial chip instead, which needs a driver installed before the board will show up as a port.

    Download the CH340 driver from WCH's official downloads page, run the installer, and restart your computer if prompted. Reconnect your board afterwards and it should appear as a COM port in Device Manager for Windows. If you bought an official Arduino board, you can skip this step entirely.

    CH340 Driver Installation Screen

    Looking for an Arduino board?

    Browse through our collection of official and compatible Arduino boards.

    Shop All Arduino Boards →

    Connect Your Board and Select It in the IDE

    With the IDE installed and drivers sorted, connect your board over USB. The IDE needs to know which board and which port to talk to before it can upload anything. We're using an Arduino Uno as the example here, the process is identical for any board, just select your specific model under Tools > Board and the matching port under Tools > Port.

    Select Arduino Uno in Board Manager

    Select the Arduino Uno board

    Select COM Port in Arduino IDE

    Select the correct COM port

    If your board doesn't appear in the port list, it's almost always one of three things: a missing driver, a USB cable that only carries power and not data, or the board not being fully seated in the port. See Troubleshooting below.

    Upload Your First Sketch, Blink

    Blink is the standard first program for Arduino. It flashes the board's built in LED on and off, and confirms three things at once: your board is connected, the IDE is configured correctly, and code is successfully uploading and running.

    Open File > Examples > 01.Basics > Blink, then click the Upload button. Watch for the TX/RX LEDs to flicker briefly during upload, then the onboard LED, usually labelled L, will start blinking on pin 13.

    Upload button in Arduino IDE

    Click the Upload button

    /*
     * Ethan Zaitchik
     * Arduino Blink Example
     * Full guide: https://zaitronics.com.au/blogs/arduino/how-to-set-up-the-arduino-ide
    */
    
    void setup() {
      pinMode(13, OUTPUT);
    }
    
    void loop() {
      digitalWrite(13, HIGH);
      delay(500);
      digitalWrite(13, LOW);
      delay(500);
    }

    Code Explanation

    This sketch controls the LED wired to pin 13, which is the same pin the onboard L LED is connected to on most boards. Here's what each part does:

    void setup() {
      pinMode(13, OUTPUT);
    }
    • setup() runs once when the board starts. pinMode(13, OUTPUT) configures pin 13 as an output, so it can be switched on and off in code rather than used to read a signal in.
    void loop() {
      digitalWrite(13, HIGH);
      delay(500);
      digitalWrite(13, LOW);
      delay(500);
    }
    • loop() runs continuously after setup finishes. digitalWrite(13, HIGH) turns the LED on, delay(500) pauses for 500 milliseconds, digitalWrite(13, LOW) turns it off, and the second delay pauses again before the loop repeats.

    You don't need to understand every line yet, the goal here is confirming the full chain from code to board works. Want a wiring diagram and a walkthrough using an external LED instead of the built in one? Follow up with How to Blink an LED with Arduino.

    Expected Outcome

    Here's what a successful upload looks like on an Arduino Uno, the onboard LED blinking on and off every half second.

    Troubleshooting

    Board not showing up in the port list

    Check the driver first, compatible boards need the CH340 driver above. Then try a different USB cable, since some cables carry power only and no data, and try a different USB port.

    Upload fails or times out

    Confirm the correct board and port are selected under Tools. Close the Serial Monitor or any other program that might be holding the port open, then try again.

    Driver installs but the board still isn't detected

    Check Device Manager for a device listed under "Other devices" with a yellow warning icon, that means the driver didn't bind correctly. Right click it, choose Update Driver, and point it at the CH340 driver folder manually.

    LED doesn't blink after a successful upload

    Double check you selected the correct board model. Uploading code compiled for a Uno to a board with a different pinout won't produce anything visible even if the upload itself succeeds.

    Frequently Asked Questions

    Do I need to install a driver for an official Arduino board?

    No. Official Arduino boards use a USB chip that Windows recognises automatically. The CH340 driver is only needed for compatible or clone boards.

    Should I use Arduino IDE 1.x or 2.x?

    Use 2.x. It's the actively developed version with a better editor and built in debugger. The only reason to use 1.8.x is if you're following an old tutorial that specifically requires it.

    Can I use Arduino without installing anything?

    Yes, the Arduino Cloud Editor is a browser based alternative that needs no local install, though you'll still need a free Arduino account and a small plugin to talk to the board over USB. For most people, the desktop IDE is simpler.

    Why won't my compatible board show up even after installing the CH340 driver?

    Restart your computer after installing the driver, not just the IDE. Then check Device Manager for a warning icon under "Other devices," which means the driver downloaded but didn't bind to the device correctly.

    Do I need to reinstall anything when I buy a different board?

    No. The IDE and drivers you've installed work across all Arduino and compatible boards. You'll just select the new board under Tools > Board when you switch.

    Resources

    Leave a comment