|How to update Arduino UNO non SMD firmware, without soldering|
This is a tutorial for upgrading the Arduino UNO (non SMD version) firmware without soldering, to avoid GNU/Linux error when trying to upload programs.
Learn the difference between Arduino UNO SMD (Suface Mount Device)and non SMD board by looking at the pictures.
After the update Arduino UNO will be more GNU/Linux friendly.
We get an Arduino UNO board, connected it and installed the software on Linux Fedora 14, with the basic commands:
yum install arduino
sudo usermod -a -G uucp,dialout,lock USERNAMEGOESHERE
But after several tests, the tools menu in Arduino GUI get very slow and the USB interface disconnects, it was annoying. But on a Windows 7 environment worked great.
The errors by typing the dmesg command look like:
After some googling we found the problem and the solution. We need to upgrade from firmware version 0000 to 0001 for fixing the Linux connectivity issues. Reported also on Ubuntu.
Since around May, 2011 Arduino UNO comes with rev. 0001 version of the firmware, but older manufactured boards may need an update.
But this is not a software only solution, because we are required to solder a resistance on the back of the board. So we searched for a non soldering alternative solution.
We have to do the process in Windows 7 because we get disconnect errors in Fedora Linux.
The official website solution is:
We learned the trick to enter programming mode without soldering from:
Steps for the fix:
- First at all download and install the Arduino software for Windows.
- Connect the board and install the requested drivers from the Arduino folder.
-Check if you really need the update.
Click properties on My Computer, then Advanced system settings, Hardware, Device manager, Ports, select properties, Device details and look to the PID, if it's 0000 then you need the update, else you don't.
- Disconnect the board.
- Download and install Flip, that's the Atmel programmer.
FLIP 3.4.5 for Windows (requires Java Runtime Environment)
If you don't have it, also get Sun Java.
- Download and save the updated firmware file.
- Run Flip and select the device in Flip.
Open Device menu, select, AT90USB82.
- Connect the board and install the Flip requested drivers from the Flip folder.
- Using two wires, follow the instructions below in that order.
1 - Hold the red wire, as in the picture, from the top left pin to GND (Ground).
2 - Touch just once, the green wire from GND to the left side of the capacitor, as in the picture (LED will flash briefly).
3 - Remove the green wire.
4 - Remove the red wire.
- Run Flip, and load the .hex file and select USB communication.
File menu, load hex file and select the downloaded (Arduino-usbserial-uno.hex) file.
Settings, communication, USB.
- Upload the firmware.
By pressing Run button we'll update in two seconds the firmware.
- Disconnect the board from the USB cable.
- Check the update.
Connect the board again.
Click properties on My Computer, then Advanced system settings, Hardware, Device manager, Ports, select properties, Device details and you must see the PID 0001 that means that the update is working.
Now run your Linux box and try to load some examples, it must work without disconnection issues.