[SOLVED] Arduino Uno R3, Mac OS 10.9.1 Mavericks, Device is not detected

[SOLVED] This was solved by an exchange provided by the vendor. It was partially also solved by the advice provided by the second post regarding corrupted/Incorrect Firmware

Hello, for reference, I think I should point out that this is my very first experience with arduino, and with electronics in general.

I appear to be having an issue with the Arduino Uno that I received as part of the (Official) Arduino Starter kit.
When I power the device on both the pin 13 LED and the Power LED will light and stay on continually.
The device will be detected by my computer, but not on any serial ports, just as a USB device.

From what I’ve read online so far, this could indicate corrupted firmware on the device, and I think this is the most likely scenario at this point.

My computer is a is 2011 iMac, running OS 10.9.1, Mavericks
The device is an Arduino Uno, R3

The Arduino IDE will show the following Serial Ports regardless of the connected state of the Device:

It’s not Just the Arduino IDE though, because if I scan my Mac /dev/ there is no difference regardless of plugged state of the device.

Nelsons-iMac:~ nelsonmilum$ ls /dev >> dev1 //arduino unplugged
Nelsons-iMac:~ nelsonmilum$ ls /dev >> dev2 //arduino plugged in for a minute or so
Nelsons-iMac:~ nelsonmilum$ diff dev1 dev2
Nelsons-iMac:~ nelsonmilum$

In the Mac System information panel, the Arduino board is detected on the USB Bus as “ATmega16u2 DFU”

As stated in the troubleshooting/setup guide I went to network settings in the hope that the device would detect as a Network device of some sort, sadly, this did not happen. There are no new network devices on my computer after plugging in the Arduino.

I have tried a different USB cable and two different Mac in order to eliminate external hardware from my equation, there was no different result on either Mac.

Any Advice would be greatly appreciated!

Screen Shot 2014-02-09 at 9.13.50 AM.png


The screenshot from System Profiler confirms that your ATmega16u2 was not loaded with the correct firmware (or became corrupted).

You can follow these directions to get it updated or you might consider contacting the seller to exchange it.


So, to follow up: I ultimately was offered an RMA by the company that sold me the kit. Which is good, because from everything I was reading, the always on LED on pin 13 was concerning.

Regarding the excellent advice provided by James C4S, I believe that his advice would have worked for me if being in DFU mode was the only issue. I did some research on that particular line of advice and discovered some of the hurdles I would have had to overcome had I pursued that avenue.


Regarding the step: "Download a DFU Programmer" The version of dfu-programmer available on macports does not support the atmega16u2 on the UNO R3. The solution to this is to build the app and it's support libraries from scratch, I found various scripted installs on other forums, but they are not compatible with this version of Mavericks. Building libusb from scratch isn't too difficult, but building the application dfu-programmer would have required modifying the Makefile to point to the correct location for libusb.h (which is required to build the app.)

Regarding the step: "If your board is NOT an Arduino UNO SMD" I have no idea what that means, there's not really any context on that page, and if I did need to solder a resistor onto the board, I would have been at a place where an RMA would no longer be an option. I didn't research that section very much, because I suspected from the picture that I was not in that position.

Regarding the step: "Program the chip" The page is not clear wether or not I should expect the line sudo dfu-programmer at90usb82 erase to work as is or if it needs to be modified to fit my particular chip. digging into the manual for dfu-programmer, I found that the command would have simply delivered a message along the lines of "No Device Found", which is why the need to install the upgraded version from source. the command for my UNO would have been sudo dfu-programmer atmega16u2 erase etc.

I appreciate the advice provided, and learned a lot from it. In this case I did not end up taking the advice, but it's no less valid for the googles, and other people having this kind of issue.

I have the same problem, tried this and

Last login: Tue Feb 11 23:28:39 on ttys000 new-host:~ Bizarro$ cd Downloads/ new-host:Downloads Bizarro$ sudo dfu-programmer at90usb82 erase dfu-programmer: no device present. new-host:Downloads Bizarro$

really not an expert on this matter

So I'm going to expand a little bit on how to install the newest version of dfu-programmer on OS 10.9.1, Mavericks The assumptions are: You have NOT installed macports, or any other tools for installing Linux intended apps on your mac. You HAVE installed Xcode 5.0.2 from the Mac App Store, as well as the command line tools. You are at least slightly familiar with the concept of building an application from source code using GNU make You are willing to trust some random dude on the Internet to tell you to type something into an application that has the power to delete nearly your entire hard drive if you type something dangerous.

You have download libusb 1.0.9 and dfu-programmer 0.6.2 from their respective websites and have saved them in your Downloads folder.

I have my computer set up to not automatically extract archives when they're downloaded. My steps will include extracting the archives, though most people won't have to take that step.

1) Open the Downloads folder, and double click each downloaded archive to extract it into the current directory, this will not be necessary if the folders were automatically extracted. 2) open Terminal.app. I use spotlight search to open pretty much anything, but you can find the app in /Applications/Utilities/Terminal The commands that I am typing are every thing after the "$" symbols

Last login: Tue Feb 11 09:33:24 on console
Nelsons-iMac:~ nelsonmilum$ cd Downloads/
Nelsons-iMac:Downloads nelsonmilum$ ls
About Downloads.lpdf        libusb-1.0.9
dfu-programmer-0.6.2        libusb-1.0.9.tar.bz2
Nelsons-iMac:Downloads nelsonmilum$ cd libusb-1.0.9
Nelsons-iMac:libusb-1.0.9 nelsonmilum$ ./configure
Nelsons-iMac:libusb-1.0.9 nelsonmilum$ make
Nelsons-iMac:libusb-1.0.9 nelsonmilum$ sudo make install

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password: #Type your computer login password here

You may get some warnings during this process, but those are fine. I can't speak for every build, but I am currently doing this on a clean installation of the operating system, so I don't expect anything to get in the way of this process. That's it! you should now have libusb installed, which is a prerequisite for dfu-programmer.

As a side note, I figured out during this process how to not have to go in and edit a Makefile to get it to work! Yay for environment variables!

Now we need to install the actual dfu-programmer app. This involves setting an environment variable in order to get it to compile correctly in Mavericks... pretty straightforward, but it's only easy once you know about it.

Now, back to the terminal stuff:

Nelsons-iMac:libusb-1.0.9 nelsonmilum$ cd ../dfu-programmer-0.6.2
Nelsons-iMac:dfu-programmer-0.6.2 nelsonmilum$ export CFLAGS='-g -O2 -I/usr/local/include/libusb-1.0'
Nelsons-iMac:dfu-programmer-0.6.2 nelsonmilum$ ./configure
Nelsons-iMac:dfu-programmer-0.6.2 nelsonmilum$ make
Nelsons-iMac:dfu-programmer-0.6.2 nelsonmilum$ sudo make install

Thats it! I now have the latest version of dfu-programmer installed on my mac with little fuss and bother. as a little bit of cleanup, I run "unset CFLAGS" in terminal and then test out the app.

Nelsons-iMac:dfu-programmer-0.6.2 nelsonmilum$ unset CFLAGS
Nelsons-iMac:dfu-programmer-0.6.2 nelsonmilum$ dfu-programmer --targets
    at89c51snd1c       at89c51snd2c       at89c5130          at89c5131       
    at89c5132          at90usb1287        at90usb1286        at90usb1287-4k  
    at90usb1286-4k     at90usb647         at90usb646         at90usb162      
    at90usb82          atmega32u6         atmega32u4         atmega32u2      
    atmega16u4         atmega16u2         atmega8u2          at32uc3a0128    
    at32uc3a1128       at32uc3a0256       at32uc3a1256       at32uc3a0512    
    at32uc3a1512       at32uc3a0512es     at32uc3a1512es     at32uc3a364     
    at32uc3a364s       at32uc3a3128       at32uc3a3128s      at32uc3a3256    
    at32uc3a3256s      at32uc3a4256s      at32uc3b064        at32uc3b164     
    at32uc3b0128       at32uc3b1128       at32uc3b0256       at32uc3b1256    
    at32uc3b0256es     at32uc3b1256es     at32uc3b0512       at32uc3b1512    
    at32uc3c064        at32uc3c0128       at32uc3c0256       at32uc3c0512    
    at32uc3c164        at32uc3c1128       at32uc3c1256       at32uc3c1512    
    at32uc3c264        at32uc3c2128       at32uc3c2256       at32uc3c2512    
    atxmega64a1u       atxmega128a1u      atxmega64a3u       atxmega128a3u   
    atxmega192a3u      atxmega256a3u      atxmega16a4u       atxmega32a4u    
    atxmega64a4u       atxmega128a4u      atxmega256a3bu     atxmega64b1     
    atxmega128b1       atxmega64b3        atxmega128b3       atxmega64c3     
    atxmega128c3       atxmega256c3       atxmega384c3  
Nelsons-iMac:dfu-programmer-0.6.2 nelsonmilum$

As you can see when I listed the targets, in the second column fifth row, the atmega16u2 is supported officially by the app.

** Additional ** If you think you may want to uninstall these applications, libusb, and dfu-programmer, you will have an easier time if you save the folders in which you did the work. Running "sudo make uninstall" while in those directories (remember the commands that started with 'cd') it will uninstall the files that were put in your /usr/local/ folder when you ran "sudo make install"

THis is an old problem. Two Unos, also R3s, I bought a couple of years ago have it and seem to have gone back to the broken state they were in. Two brand new Unos, straight out of the box also don't have the proper firmware loaded for the USB.

Other Arduinos do NOT have this problem, why does it continue on the Uno?

Thanks for all the Info (: i follow this instructions: http://arduino.cc/en/Hacking/DFUProgramming8U2#.UwET83mUmKw but still no connection. going to try your way, then post back the result

I have the same issue with all my UNO's, it suddenly appeared. Leonardo is fine. Uploading using an Atmel AVRISP MKII also works well. My UNO's are having 0.001 firmware!!!

Very recent Macbook Pro Retina (latest revision).

My Arduino version: 1.0.5 with Teensyduino 1.18 installed.

I solved it by using the beta 1.5.5 software, uploading Pro Mini Firmware, then reuploading the UNO firmware. Now the UNO's are just fine again. Strange problem. I also have students with strange UNO problems.

This even solved it for the 1.05 version (Teensyduino is not yet working with 1.5.5. afaik)

already did the cd libusb-1.0.9 configure but after

new-host-2:dfu-programmer-0.6.2 Bizarro$ make
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
gcc -DHAVE_CONFIG_H -I.    -Wall -g -O2 -I/usr/include/libusb-1.0 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
main.c:27:10: fatal error: 'libusb.h' file not found
#include <libusb.h>
1 error generated.
make[2]: *** [main.o] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
new-host-2:dfu-programmer-0.6.2 Bizarro$

am i doing something wrong?

You are not telling the ./configure script that LibUSB.h is in the /usr/local folder Did you do the command CFLAGS="..."?

If you did, try putting the word 'export' in front of that line. "CFLAGS" is all caps, "export" is lower Case

still can’t make it to work ):

Last login: Mon Feb 17 16:25:59 on ttys000
new-host-2:~ Bizarro$ cd Downloads/
new-host-2:Downloads Bizarro$ cd dfu-programmer-0.6.2
new-host-2:dfu-programmer-0.6.2 Bizarro$ cd
new-host-2:~ Bizarro$ cd Downloads/
new-host-2:Downloads Bizarro$ cd libusb-1.0.9
new-host-2:libusb-1.0.9 Bizarro$ ./configure

new-host-2:libusb-1.0.9 Bizarro$ make

new-host-2:libusb-1.0.9 Bizarro$ sudo make install
test -z "/usr/local/include/libusb-1.0" || .././install-sh -c -d "/usr/local/include/libusb-1.0"
 /usr/bin/install -c -m 644 libusb.h '/usr/local/include/libusb-1.0'
Making install in doc
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/lib/pkgconfig" || ./install-sh -c -d "/usr/local/lib/pkgconfig"
 /usr/bin/install -c -m 644 libusb-1.0.pc '/usr/local/lib/pkgconfig'
new-host-2:libusb-1.0.9 Bizarro$ cd
new-host-2:~ Bizarro$ cd Downloads/
new-host-2:Downloads Bizarro$ cd dfu-programmer-0.6.2
new-host-2:dfu-programmer-0.6.2 Bizarro$ CFLAGS='-g -O2 -I/usr/local/include/libusb-1.0'
new-host-2:dfu-programmer-0.6.2 Bizarro$ 
new-host-2:dfu-programmer-0.6.2 Bizarro$ ./configure

new-host-2:dfu-programmer-0.6.2 Bizarro$ make
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
gcc -DHAVE_CONFIG_H -I.    -Wall -g -O2 -I/usr/include/libusb-1.0 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
main.c:27:10: fatal error: 'libusb.h' file not found
#include <libusb.h>
1 error generated.
make[2]: *** [main.o] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
new-host-2:dfu-programmer-0.6.2 Bizarro$

and try this also

new-host-2:dfu-programmer-0.6.2 Bizarro$ CFLAGS=export '-g -O2 -I/usr/local/include/libusb-1.0'
-bash: -g -O2 -I/usr/local/include/libusb-1.0: No such file or directory
new-host-2:dfu-programmer-0.6.2 Bizarro$ CFLAGS= export '-g -O2 -I/usr/local/include/libusb-1.0'
-bash: export: -g: invalid option
export: usage: export [-nf] [name[=value] ...] or export -p
new-host-2:dfu-programmer-0.6.2 Bizarro$ CFLAGS= export
declare -x Apple_PubSub_Socket_Render="/tmp/launch-LIJVWo/Render"
declare -x DISPLAY="/tmp/launch-22mWG8/org.macosforge.xquartz:0"
declare -x HOME="/Users/Bizarro"
declare -x LC_CTYPE="UTF-8"
declare -x LOGNAME="Bizarro"
declare -x OLDPWD="/Users/Bizarro/Downloads"
declare -x PATH="/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin"
declare -x PWD="/Users/Bizarro/Downloads/dfu-programmer-0.6.2"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AUTH_SOCK="/tmp/launch-Jpu0XR/Listeners"
declare -x TERM="xterm-256color"
declare -x TERM_PROGRAM="Apple_Terminal"
declare -x TERM_PROGRAM_VERSION="326"
declare -x TERM_SESSION_ID="55B0E67B-D493-49D7-85EB-0051EB69F850"
declare -x TMPDIR="/var/folders/_1/hl3yxyks0tb6ny6308r2mqf00000gn/T/"
declare -x USER="Bizarro"
declare -x __CF_USER_TEXT_ENCODING="0x1F5:0:0"
declare -x __CHECKFIX1436934="1"
new-host-2:dfu-programmer-0.6.2 Bizarro$ ./configure
new-host-2:dfu-programmer-0.6.2 Bizarro$ make
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
gcc -DHAVE_CONFIG_H -I.    -Wall -g -O2 -I/usr/include/libusb-1.0 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
main.c:27:10: fatal error: 'libusb.h' file not found
#include <libusb.h>
1 error generated.
make[2]: *** [main.o] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
new-host-2:dfu-programmer-0.6.2 Bizarro$

Sorry, I wasn't clear. My computer is a 20 hour drive from where I am right now. I'm replying on my iPhone. Try: "export CFLAGS="...""

going to try a different way, (usb to TTL-serial) but need to learn some more

new-host:dfu-programmer-0.6.2 Bizarro$ export CFLAGS='-g -O2 -I/usr/local/include/libusb-1.0'
new-host:dfu-programmer-0.6.2 Bizarro$ ./configure

new-host:dfu-programmer-0.6.2 Bizarro$ make
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
gcc -Wall -g -O2 -I/usr/local/include/libusb-1.0 -I/usr/include/libusb-1.0   -o dfu-programmer main.o arguments.o atmel.o commands.o dfu.o intel_hex.o util.o  -lusb-1.0
ld: library not found for -lusb-1.0
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [dfu-programmer] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
new-host:dfu-programmer-0.6.2 Bizarro$