By the end of this lesson you want each student to have successfully connected the Arduino Uno computer to a desktop or laptop and uploaded a program. This can often be a challenge, particularly for schools and districts that restrict access to download sites, prevent installation of applications, and limit installation of drivers. A driver is a small program that is used by the host computer to communicate with the Arduino.
Some things to be aware of:
- To communicate with a genuine Arduino Uno a driver must be installed. Following the instructions in Lesson 1 or installing directly from https://www.arduino.cc/en/Main/Software will automatically offer to install this and maybe other drivers. If during installation you or your students are asked if you want a driver installed, always say YES.
- Should you choose to use an Arduino-compatible board instead of a genuine Arduino Uno be aware these often require an additional driver. The excellent RedBoard from Sparkfun, for example, costs about $10 less than a Genuine Arduino Uno and has proven just as useful and reliable. But it requires the installation of what is called the FTDI driver. FTDI is the company that makes the integrated circuit SparkFun uses for communication with the RedBoard.
- Some Arduino-compable boards, such as the Adafruit Metro 328, have drivers that can be installed through the Arduino Integrated Development Environment. This is found by clicking Arduino Tools -> Board: -> Boards Manager and installing drivers that match your board. But beware, schools often block the links this built-in feature requires.
The bottom line is before the first day of class making friends with the Information Technology people is a good idea. Have them help you plot a means of getting the Arduino IDE and drivers installed.
Even with good planning the initial installation can be expected to take longer than expected. But once complete the software is very stable. Here are some common problems.
Problem: Can't install the Arduino Software on a school computer
Talk to your information technology (IT) department. Most school districts, our own included, restrict the ability of students to install programs on district-owned computers. At many this restriction extends even to the ability of those with administrative privileges to install software for student use.
The Arduino.cc software download webpage includes a download for a "non admin install." This is not usually a successful workaround as communicating with the Arduino also requires the installation of a device driver, an activity also forbidden by most IT departments.
Problem: Sketch won't compile, let alone upload. Get an orange error message
A sketch that won't compile means a syntax error has been detected. Put another way, there's a mistake in the program code somewhere. The good news is the Arduino software will attempt to identify the error and highlight the offending programming statement. The bad news is this diagnosis is wrong as often as it is right. In this unit, syntax errors have to be pretty simple. Look for an error, such as mismatched spelling, upper and lower case inconsistencies, and missing semicolons in the statements preceeding the highlight. Common syntax errors are discussed in future lessons as expanded programming syntax enables them.
Problem: Arduino software works but sketches cannot be uploaded to the Arduino
Check the following in this order:
- Verify proper connection of the Arduino to the computer. The USB cable should be pushed in as far as it can go at both ends. The end that connects to the computer must be in a USB socket (you'd be surprised how often it's forced into some other port). And the Arduino's power light should be on. For most Arduinos this is a green light-emitting diode near one end of the board. Be aware that the green light by itself is not a sure indication the cable is fully plugged in. If all is correct, then
- Verify the proper Arduino board has been selected in the Arduino software. Do this by clicking Tools on the menu then from the dropdown select Board. Make sure the board selected is the same type as the board connected. In these lessons we work with the Arduino Uno, so the selection should be "Arduino Uno." If the correct board is connected, then
- Verify the Arduino software is connected to the Arduino board via the correct COM port. Click on Tools on the menu and look at Port on the dropdown menu. If it is grayed out then Windows is not running the device driver for this Arduino. Sometimes this can be fixed by unplugging the Arduino USB cable then, after waiting a short while, plugging it back in. If this fails the most likely cause is the required driver has not been installed. This can happen for many reasons, including that during the installation the installer failed to respond "yes" to installing a driver. Also, some clone boards, such as the excellent SparkFun RedBoard require a special driver. Instructions for drivers for these boards can usually be found on the vendor's website. if Port is not grayed out, then
- Verify the COM port to which the Arduino is connected has a check mark by it, indicating the user has selected it. In our experience this is a very common error.
Less common but not unheard of causes include a faulty USB cable, USB connector on the computer, and a faulty Arduino board.