Due to the impacts of the coronavirus outbreak, we are experiencing longer than normal lead times on certain products. We encourage back-ordering out-of-stock items to receive them as soon as possible.
Track My Order
Frequently Asked Questions
International Shipping Info
Mon-Fri, 9am to 12pm and
1pm to 5pm U.S. Mountain Time:
Chat With Us
March 8, 2010
about 10 years ago
So I was able to use the Razor as an IMU for a quadrotor and it was able to fly. Unfortunately, the fastest we were able to run the PID loop was 120Hz due to the Razor's slow calculation speed. SparkFun needs to upgrade the oscillator to 16MHz or even the max of the microcontroller of 20MHz. Check it out at wyvernupenn.blogspot.com , and thanks for your help in figuring out the bootloader issue!
about 10 years ago
Does anyone know of Arduino Code that works with this model? Everything I've seen seems to have been with the previous one (not the D01). I'm trying to get the Razor 9DOF IMU to read the data from the sensor over SPI (since the Razor has an Arduino bootloader), however I'm either getting constant values (no data is being received) or nothing at all. Any help would be greatly appreciated!
The board schematic is located under "Documents" above (http://www.sparkfun.com/datasheets/Sensors/IMU/9DOF-Razor-v14.pdf). Either do a continuity test or voltage test after giving the board power to determine which pins to connect to. I've heard of people using the Diecimila to burn the bootloader by soldering on more pins. Not sure about using a Duemilanove. (Check out http://www.youtube.com/watch?v=iwRA8XwLIQI regarding burning the bootloader without a programmer).
The Razor IMU actually uses the Arduino Bootloader. .PDE files can be opened and edited using the Arduino IDE (http://www.arduino.cc/en/Main/Software). Once the source code is downloaded, open it up in the Arduino IDE, set your COM port (I'm assuming you have the FTDI Breakout Board) and Arduino Board (many have found success using the "Arduino Pro or Pro Mini (3.3V, 8MHz) w/ Atmega328"), and click "Upload". The AHRS code will compile and then upload to the board. After that, set your terminal to read from the board (the default Baud Rate is 57600) and you should see yaw, pitch, and roll values being displayed on the screen.
Re-Burning Bootloader: I didn't have an ISP programmer, but was able to use a AVR JTAGICE mkII that I found, the breakout squid cable and AVRstudio4. Connected the programmer to the computer via USB, connected the programmer to the board's 6-pin ISP/SPI connection. The cables were connected using the programmer's squid breakout cable (see atmel.com/dyn/resources/prod_documents/doc2562.pdf as well as the Razor 9DOF IMU schematic). In AVRstudio, click "Tools" and then "Program AVR". In the "Main" tab, change the device to "Atmega328p", the programming mode to "ISP". In ISP settings, I used 500kHz since the board has a 8MHz clock. Click "Read Signature". If you get a long hex string under the device name, you are getting data from the board. In the "Program" tab under "Flash", find the bootloader (in the Arduino folder so for me it was hardware\arduino\bootloaders\atmega). I used the ATmegaBOOT_168_atmega328_pro_8MHz.hex. Click "Program", and then "Verify". After that, you shouldn't have any problems writing programs to the board from the ArduinoIDE
Just got the board yesterday and I'm trying to get it to program with the Arduino IDE. Only getting the "avrdude: stk500_getsync(): not in sync: resp=0x72
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x72" error. Anybody know how to get around this? The board works (see output over serial from the sample program.) Does it need a external power source? Also tried editing the Arduino Board.txt file and adding a 9DOF with a higher (192000) baud rate.. Still nothing.
No public wish lists :(