How to Control LED From Windows PC Using Arduino - IoTBoys

In this blog post, I will guide you through the process of how to control LED from Windows PC using an Arduino board. Whether you’re a beginner looking to learn the basics of Arduino or an enthusiast seeking a fun DIY project, this blog post will provide you with the knowledge and tools you need to get started. Let’s dive into the exciting world of Arduino-powered LED control using PC.

“Why would you want to control LEDs with an Arduino from your Windows PC, you may ask? Well, the possibilities are endless, and the benefits are numerous. First and foremost, it’s a fantastic entry point for beginners into the world of Internet of Things and Arduino programming. You’ll gain hands-on experience with an Arduino board, learn how to write code, and understand the basics of circuit building. This project serves as a stepping stone for those interested in pursuing more advanced Arduino projects.

Additionally, by mastering this skill, you’ll have the ability to create custom lighting solutions tailored to your needs. Whether you want to enhance your home’s ambiance, add flair to your workspace, or experiment with interactive art installations, knowing how to control LEDs with your Windows PC opens up a world of creative possibilities.

Furthermore, this skill has practical applications beyond just lighting. It can be a foundation for more complex projects involving sensors, actuators, and IoT (Internet of Things) applications. You’ll be equipped to build your own automation systems and remotely control various devices, all from your Windows PC. So, whether you’re a hobbyist, a tinkerer, or someone curious about the intersection of technology and creativity, this tutorial on controlling LEDs with Arduino from your Windows PC is a valuable skill set to acquire.”

Check out this step by step tutorial on How to Control LED From Windows PC using Arduino Uno.

To build this IoT project controlling LED from Windows PC we need some hardware and software, so let’s see what all we needed.

Required Hardware Components

  • Arduino Board – You will need an Arduino board for this project. We recommend using the Arduino Uno for its simplicity and popularity.
  • Breadboard – A small breadboard will be useful for creating your LED circuit.
  • Resistor – You’ll need 3 resistor (usually 220-1k ohms) to protect the LED from excessive current.
  • LED – Choose 3 standard LED. You can opt for different colors to personalize your project.
  • Jumper Wire – Get 4 set of male-to-male jumper wires to connect components on the breadboard and Arduino Board.
  • USB cable – A standard USB A to B cable for connecting the Arduino to your Windows PC

Required Software

  • Arduino IDE – Download and install the Arduino Integrated Development Environment (IDE) from the official Arduino website. Link
  • IoT Control Tower App (Free and open source) – App is required to trigger the command from Windows PC to Arduino Board.

Arduino Connection

Now it’s time to see how you need to do connection between Arduino board and your components so that you can control the LED from Windows PC. To explain anything I believe picture format is the best thing to understand and keep remember, so here is the schematic which you can follow and do the wiring.

How to control LED from Windows PC

At this point I am hoping you have connected components with above given PINs to your Arduino board, now it’s time to check out the Arduino sketch for controlling LED using Windows PC.

Arduino Sketch

I am using the below code to control the LED from Windows PC, you can modify this as per your need or you can use the same.

int RED_PIN = 5;

int BLUE_PIN = 6;

int GREEN_PIN =7;

String inputString;

void setup() {

  // put your setup code here, to run once: 5-0



  pinMode(RED_PIN, OUTPUT);

  pinMode(BLUE_PIN, OUTPUT);



void loop() {


 inputString = Serial.readString();

  if(inputString != “”){


  int delimiterPos = inputString.indexOf(‘-‘);

    if (delimiterPos != –1) {

    String pinString = inputString.substring(0, delimiterPos);  

    String stateString = inputString.substring(delimiterPos + 1);  


    int pinNumber = pinString.toInt();

    int command = stateString.toInt(); //0 = Off or 1 = ON

    if (command == 1) {

      digitalWrite(pinNumber, HIGH);

    } else if (command == 0) {

      digitalWrite(pinNumber, LOW);






Upload Code to Arduino Board

To upload the program to Arduino board first you need to verify the connection between Arduino and PC. This connection is essential for uploading your code to the Arduino and communicating with it. Follow these steps carefully:

Step 1: Plug in Your Arduino:

  • Begin by plugging your Arduino board into your Windows PC using the USB cable provided in your kit. Insert one end of the USB cable into the Arduino’s USB port and the other end into an available USB port on your computer.

Step 2: Windows Device Recognition:

  • As soon as you connect the Arduino to your PC, Windows may recognize the device and attempt to install the necessary drivers. It may take a moment for this process to complete. You may see notifications or messages in the system tray during this time.

Step 3: Open the Arduino IDE:

  • Launch the Arduino IDE on your Windows PC. If you haven’t installed it yet, please refer to the previous section on setting up your Arduino for instructions.

Step 4: Select the Arduino Board:

  • In the Arduino IDE, go to the “Tools” menu. Under the “Board” submenu, select the appropriate Arduino board you’re using (e.g., “Arduino Uno”).

Step 5: Select the COM Port:

  • Still in the “Tools” menu, navigate to the “Port” submenu. You should see a list of available COM ports. Your Arduino should be listed as one of the COM ports.
  • Select the COM port that corresponds to your Arduino. If you’re unsure which one it is, you can check in the Windows Device Manager. It should be labeled as something like “Arduino Uno (COMx)” where “x” is a number.

Step 6: Verify the Connection:

  • To verify that your Arduino is successfully connected, you can upload a simple test sketch. For example, open the “Blink” example from the Arduino IDE’s “File” menu, and click the “Upload” button (the right-pointing arrow icon).
  • If the upload process completes without errors, it indicates that your Arduino is communicating with your PC correctly.

Step 7: Upload the above code:

  • Click on (->) button on toolbar to upload the sketch to your board, once uploaded you will see the message “Program Uploaded”. Congratulations! You’ve successfully installed the program to your Arduino board.

Controlling LED From PC

The idea behind the controlling the LED from Windows PC is serial communication, Serial communication is a fundamental concept in electronics and programming, and it plays a key role in controlling the LED from a Windows PC using an Arduino.

The Basics of Serial Communication: Serial communication is a method used to transfer data between two devices or systems one bit at a time, over a single wire or a pair of wires. It’s a common way to establish a data link between microcontrollers like Arduino and computers or other devices. In the case of Arduino and a Windows PC, this communication happens over a USB cable.

Serial Communication in Arduino:

  • In Arduino, serial communication is implemented using the Serial library. The Arduino board has a built-in hardware UART (Universal Asynchronous Receiver/Transmitter) that allows it to send and receive serial data.
  • The Serial library provides functions for sending and receiving data using the UART. The most commonly used functions are Serial.begin(), Serial.print(), and Serial.read().
  • Serial.begin(baudRate) initializes the serial communication at a specific baud rate, which determines the speed of data transmission. Both the Arduino and the PC must use the same baud rate for successful communication.
  • Serial.print() is used to send data from the Arduino to the PC, and Serial.read() is used to read data sent from the PC to the Arduino.

How Serial Communication Controls the LED:

  1. Arduino Code: You write an Arduino sketch (program) that listens for incoming serial data from the PC. You define specific commands that the Arduino should recognize, such as “1” to turn the LED on and “0” to turn it off.
  2. PC Interaction: Using the IoT Control Tower windows app (free & open source) you can configure and send command to Arduino board.IoT Control Tower App Download
  3. Arduino Response: When the Arduino receives a command via serial communication, it interprets the command and takes the corresponding action. For example, upon receiving “1,” it turns on the LED, and upon receiving “0,” it turns it off.

Advantages of Serial Communication:

  • Simplicity: Serial communication is straightforward to implement and understand, making it accessible for beginners.
  • Real-time Control: It enables real-time control of devices connected to the Arduino from a PC.
  • Versatility: Serial communication can be used to send various types of data, making it suitable for a wide range of projects.

Troubleshooting and Tips

  1. Arduino Not Recognized by Windows:
    • Issue: The Arduino board is not recognized by Windows, and the COM port is not visible.
    • Troubleshooting:
      • Ensure that the USB cable is securely connected to both the Arduino board and the PC.
      • Try using a different USB cable or USB port on your PC.
      • Install or update the Arduino drivers (if not automatically done by Windows).
  2. Incorrect COM Port Selection:
    • Issue: Selecting the wrong COM port in the Arduino IDE.
    • Troubleshooting:
      • Double-check the COM port selected in the Arduino IDE under the “Tools” menu. It should match the COM port assigned to the Arduino by Windows.
      • If unsure, disconnect and reconnect the Arduino, and check the COM port list again.
  3. LED Doesn’t Respond to Commands:
    • Issue: The LED connected to the Arduino doesn’t respond to the commands sent from the PC.
    • Troubleshooting:
      • Double-check your wiring and connections. Ensure the LED is properly connected to the correct pins on the Arduino.
      • Review your Arduino code for any errors in command interpretation or LED control logic.
      • Verify that you’re sending the correct commands from the PC.

Read also: How Does Serial Communication Works in Arduino | Detailed Explanation


Thank you for joining us on this enlightening journey. We hope you’ve enjoyed this tutorial on how to control led from windows PC and that it has sparked your creativity and curiosity. If you have any questions, feedback, or want to share your LED control projects, don’t hesitate to reach out and join the vibrant Arduino community.

Happy tinkering, and may your projects shine as bright as your imagination!


  1. Jude

    this is a nice project, but i am having issues with the output. am receiving data ‘0’ from the serial terminal. I tweaked the arduino code by adding the lcd display. i used the lcd to verify what is being received from the windows app after toiling to no avail to control any device

  2. Jude

    I think i have figured out where my problem lies. the baud rate of the nano am using seems to have issues. when i used the same baud rate, it doesnt work, rather it gives corrupt characters. i resolved it by using different baud rate for my nano and your windows app. Thank you so much for creating the app.

Leave a Reply

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