Flashing Arduino Uno Using Custom Firmware

by Flameling01 in Circuits > Arduino

480 Views, 2 Favorites, 0 Comments

Flashing Arduino Uno Using Custom Firmware

ArduinoUnoRev3.jpg

This is an instructable to help you flash your Arduino Uno with a different firmware which will allow the Uno to be used in HID projects like Macro keyboard or joystick controller using UnoJoy etc.

Requirements

ArduinoUnoRev3.jpg
Type B cable.jpg
MaletoMale.jpg
maletofemale.png
FLIP 3.4.7.PNG

A machine running Windows 7

Download ATMEL FLIP 3.4.7(JRE included)

Arduino Uno Rev 3

Type B USB cable

1xMale to Female Jumper cable

Hex Files:

-Keyboard

-Original Firmware

Coding

Upload whatever program you want to now only. You won't be able to upload the code later.

Resetting Your Uno

ArduinoUnocom.PNG
Uno-front-DFU-reset.png
IMG_20180415_143447_HDR.jpg
16u2.PNG

Connect your Arduino to your computer

Open devices and printers

It will say Arduino Uno(COM [A number])

Now short the Arduino's GND and RESET pins(They are the top two pins in the upper right corner near pin 13).(Refer picture 3)

Note:You can even use a Male to Male jumper cable.

Open devices and printers(again) and the Arduino will show up as 16u2(my case)or 8u2.

Flashing the Firmware

FLIP 3.4.7.PNG
IC button.PNG
selectingchip.PNG
USBbutton.PNG
IMG_20180415_150451_HDR.jpg
loadhex.PNG
selectyourhex.PNG
test.PNG
testresult.PNG
startapp.PNG

Launch FLIP(Picture 1)

Select your chip by pressing the "IC" button under the "File" option.(Picture 2)

It will in most cases land on your chip by itself but you can select it yourself too.(Picture 3)

Now click on the "USB" button right next to the "IC" button and select USB.(Picture 4 & 5)

Select" Open".

Select "Load HEX file" button(Red arrow pointing towards book)(Picture 6)

Select your hex file by navigating to the directory where you have saved it.(Picture 7)

Run the test.(Picture 8 and 9)

Press "Start Application"(Picture 10)

Result

extrakeyboard.PNG

Unplug your Arduino and plug it back in after 10-15 seconds.

Open Devices and Printer and you will see an extra keyboard. That's your Arduino.

Flashing Your Original Firmware

rev3 hex.PNG
originalfirmware.PNG
finalpdt.PNG

If you want to use your Arduino for another project follow Steps 3 & 4 but this time use the Arduino usb serial Rev 3 hex file.

After pressing "Start Application" keyboard will disappear from devices and printers and something like 16u2 will appear.Unplug your Arduino and wait for 10-15 seconds and plug it back in.It will appear as Arduino Uno with a COM port.

Now you can upload new programs.

Problems

Capture.PNG
range error.PNG

Most of the problems occur because you have not put your Arduino in reset state.

1)A problem might be the missing AtUsblib.dll or something like that that occurs when you press "Open" under the "USB" button in the FLIP tool.Fix by MDGrein:

This video helped me a ton.Thanks MDGrein.

2) Address out of range or verify device fail(while running the test) or HEX syntax error.These all are caused by a bad HEX file so please use the files given by me.

3)Another error might be that even after flashing the original firmware the Arduino still shows up as a keyboard.

Fix:Flash the original firmware again and after unplugging the Arduino wait for 10-15 seconds or even more.

4)"Can't open your device" error can be solved by putting your Arduino in Reset state