When I got the 9DOF - Razor IMU board I tried to upgrade the "Test Firmware" using the "Makefile" from the zip file but without success. So I sent an email to the Sparkfun tech support for them to verify what I was doing wrong. Today I finally got the answer and the best way to upgrade the firmware is upgraded manually.
The first step is to connect the 9DOF - Razor IMU board to FTDI Basic Breakout - 3.3V board following the diagram showed in Figure 1 from the post "How to upload 9DOF AHRS code". The second step is download the latest code from the git repository and execute the following commands (the commands were executed in a terminal on a machine with the Linux OS):
$ mkdir tmp
$ cd tmp
$ wget --no-check-certificate https://github.com/a1ronzo/\
SparkFun-9DOF-Razor-IMU-Test-Firmware/raw/master/9DOF-v18/9DOF-v18.zip
$ unzip 9DOF-v18.zip
$ make all
$ avrdude -p atmega328p -P /dev/ttyUSB0 -c stk500v1 -b 57600 \
-U flash:w:main.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e950f
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be
performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "main.hex"
avrdude: input file main.hex auto detected as Intel Hex
avrdude: writing flash (9156 bytes):
Writing | ################################################## | 100% 2.99s
avrdude: 9156 bytes of flash written
avrdude: verifying flash memory against main.hex:
avrdude: load data flash data from input file main.hex:
avrdude: input file main.hex auto detected as Intel Hex
avrdude: input file main.hex contains 9156 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 2.28s
avrdude: verifying ...
avrdude: 9156 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Open now the Arduino IDE and click on "Serial Monitor" icon or from the "Tools" menu select the item "Serial Monitor". Set the baud rate to 38400 and verify if the "9DOF IMU Firmware v18" menu is showed (Figure 1).
It's not straightforward to save the previous firmware directly from the AVR. It's easier to keep the older .hex files around if I need them.
![]() |
Figure 1 |
hi, i'm doing the same project as yours. And i use the same Sensors.
ReplyDeleteBut i'm confused with this step. why should upgrade 9DOF Razor IMU Test Firmware? Is it necessary??
-Beginner student-
Hi Abdul,
ReplyDeleteIt is not necessary upgrade the 9DOF Razor IMU Test Firmware. This step was just for me to test the upgrade. But if you prefer you can use the 9DOF Razor IMU Test Firmware code that comes with the board. In my case I chose to use the 9DOF AHRS code, because already have all the calculations and corrections made to guide the quadcopter.
hey hdias are u also using a RC controller too? or total autonomous?
ReplyDeleteHi GuySmileZ,
ReplyDeleteI have not think well about this, but the goal is to be autonomous, although it is possible to communicate with the quadcopter using a computer, pda or cell phone with bluetooth or a 802.11 wireless network.
Hello,
ReplyDeleteThere is something I don't understand. If I use an Arduino sketch with the IMU, would it replace the firmware or would both programs run altogether ?
Hi, I am using Arduino Mega 2560 R3 Plus to read from a Razor IMU sensor. I am using this following code:
ReplyDeletehttp://blog.mobileapes.com/2010/11/read-9dof-razor-imu-data-via-seeeduino.html
But all I get is some numbers that don't make sense. Can anyone tell me why? I am using a different board though. Could that be a reason? Also, if I am able to upload the firmware the way you explained above would that do my job? Or I have to make separate sketch like what I was trying to do to get the data. I sincerely appreciate your time.
Thanks