10 Common Arduino IDE software-related issues and why it just won't upload.
I TOTALLY understand that feeling - especially when you don't always get to ask for help.
Here I will share my tips on troubleshooting uploading errors that i commonly encounter during my years as a STEM educator.
💡 TIP: Always start with checking the error message. The error message will tell you clues about what is wrong.
Press the ✅ symbol to Verify or Compile your code.
This will not upload code to your board, but it checks for syntax errors - spelling mistakes in your code.
Syntax error or missing library error
❗ If you see errors highlighting parts of your code, means you have syntax error aka spelling mistakes. Sometimes you need to install certain libraries first (another post on this next time).
You have to make corrections to your code first or install missing libraries.
If you are still unsure if its your code that's causing the issue or not, simply Create a new file (Ctrl+N) and Upload (Ctrl+U) to quickly test your software's connection to your board. An empty sketch should be sure to compile and upload.
If you can see 'Done Uploading', then great! You have no syntax errors and you can confirm your software and board by itself has no issues.
But if it still won't upload, keep reading on.
It happens sometimes when we get too busy that we forgot to plug the cable in!
Make sure the cable is well-plugged in.
You should be able to see the Power On LED on the board if its properly connected.
#3 You did not select the right board ✅
Make sure you chose Arduino Uno Board (or match the model you are using)
Go to Tools > Boards > Select Arduino Uno
Error code: avrdude: ser_open(): can't open device "\\.\COM3": The system cannot find the file specified. OR avrdude: stk500_recv(): programmer is not responding ... avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x7c
Many Arduino boards in the market use the CH340 chip (will write more on this on another post).
Arduino boards that use the CH340 chip will need users to install the CH341SER.EXE USB to Serial driver on their PC.
Go to http://www.wch.cn/download/ch341ser_exe.html and download the driver installer for your PC.
For video guide to how to install, click here.
If you see this pop-out when you press INSTALL, most likely you haven't install the driver before.
After install, close and reopen Arduino software and try uploading again.
Error code: avrdude: ser_open(): can't open device "\\.\COM3": The system cannot find the file specified or An error occurred while uploading the sketch
Go to Port > Choose the available COM[number]
Make sure in Port you can see a chosen COM!
Sometimes, switching to another USB port and COM[number] helps some cases
Check Ports (COM & LPT) under Device Manager to see which COM number Arduino is connected to.
MORE TROUBLESHOOTING TIPS 💡
If you see different COM numbers than mine (like COM20, COM8), it's okay. Different computers will use different numbers.
If you switched to another USB port, you probably need to switch the Port as well.
For Desktop PC, COM1 usually doesn't work, choose the other COM number.
If you see multiple COM numbers or just unsure which COM you are supposed to use, you still need to choose the right one! To check, you can either:
a) Unplug the cable, see which COM disappeared
b) Go to Windows Search > Device Manager > Ports (COMS & LPT) (see screenshot below)
You can also use Device Manager method to check if your PC detected the Arduino at all.
If you are logged in as the guest on your PC, your Arduino may not have proper permissions to access the USB in the first place.
Switch to Windows Adminstrator account (if it still won't upload, remember to try steps 1-5 again).
Try swapping the cable (if you happen to have a USB cable home printer at home, you can try to use it ).
If you are using a board that uses the Android USB-Micro B Cable like the Maker Uno X, make sure it is also a data cable, not just a charging cable.
If it worked after swapping, it is highly likely the issue with your initial cable.
Error code: avrdude: ser_open(): can't open device "\\.\COM3": The system cannot find the file specified.
OR avrdude: stk500_recv(): programmer is not responding ... avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x7c
This is uncommon, but it can happen. Sometimes, you may be unlucky and got a faulty board from the start. Or you have accidently fried your board.
Borrow and try another Arduino board to rule out if the board you are using is faulty.
TIPS: HOW CAN ARDUNO CHIP GET DAMAGED/FRIED? 🔥
It got damaged from surrounding static electricity
You wired 5V straight to GND, without any resistor/ component in between
You drew too much current with the components you were using
You used an electric adapter outside of the compatible range (outside 9V-12V, up to 1A-2A AC to DC)
When using servo motor, you did not use a capacitor to protect the circuit
Another rare case, we once had a student found that the online Arduino IDE version worked for him rather than the offline one despite attempting to troubleshoot many times.
You can give the web editor a try here: https://create.arduino.cc/editor
For first time user of web editor, you will need to install the plugin: https://create.arduino.cc/getting-started/plugin/install
This is also a very rare case, as Arduino IDE is also compatible on most older PCs even if its still on Windows 7 OS.
Perhaps the USB port or other relevant drivers has issues
If unsure why, try troubleshooting by swapping to another PC, if it works on another, you need to check what's up with the first PC further.
Restarting or resetting the program or Windows may help.
Make sure you didn't miss the above steps, don't give up, sometimes you need that last trial-and-error for it to work.
Google or Youtube the error - chances are you encounter a rarer problem, if you are lucky someone else might have faced your issue and documented the solution.
Reach out to someone who is experienced with Arduino to help you to check.
Remember, troubleshooting is part of learning.
Hope this post helps. Good luck and have fun making! ✨