Export Restrictions

This product has some level of export control/restriction, so may be delayed when shipping outside the US. Contact us with questions, or we will contact you after you place your order.

Creative Commons images are CC BY-NC-SA 3.0

49.95

added to your
shopping cart

quantity
In stock 37 in stock
49.95 1+ units
44.96 10+ units
39.96 100+ units

Description: The 9DOF Sensor stick is a very small sensor board with 9 degrees of freedom. It includes the ADXL345 accelerometer, the HMC5883L magnetometer, and the ITG-3200 MEMS gyro. The 'stick' has a simple I2C interface and a mounting hole for attaching it to your project. Also, the board is a mere 0.036" thick (0.093" overall), allowing it to be easily mounted in just about any application.

Having a hard time picking an IMU? Our Accelerometer, Gyro, and IMU Buying Guide might help!

Dimensions: 1.37x0.42"

Documents:

Replaces: SEN-10321

Comments 95 comments

  • Now I’m wondering if anyone has tried to use more than one of these boards with a single Arduino? I have heard that there is a way to daisy chain them on the I2C bus, but there has to be a way to deal with the fact that the individual chips have the same addresses.

    • I know this an old post and you most likely found a solution but here’s my solution to multiple i2c with same address: CD74HC4067 or equivalent hi speed bi-directional mux/demux

  • Noise on old version SEN-10321. In case any of you have the same noise problem, Ill try to save you some time. I have encountered about 30 counts of noise on the accelerometer. Spent a lot of time trying to “fix” my i2c I/F software which is fine. Turns out there is a nasty ripple on the 3.3v at the i2c clock freq (400khz in my case). Added a tantalum cap at the regulator (parallel the existing), and it knocked the noise way down to just 2 or 3 LSB.
    Now to see why the magnetometer is wandering about.

    • What size cap did you use? I’m running into the same issue (noise levels of 5-12LSBs @ 15Hz ODR). The data sheet for the ADXL345 indicates that a 1uF tantalum cap should be used to decouple Vs from PS noise. Add 10uF tantalum cap in parallel if that wasn’t enough. I’m planning on putting in an order for some caps in that size range (0603 package, which is what the board uses) to try and clean up the measurements.
      Also, fwiw, I’m not seeing significant noise on the magnetometer except on the Z axis (with the board mounted vertically).

    • I also added some caps. I added a 1uF cap in parallel with the existing 0.1uF caps used on each of the three major chips between Vdd and Ground. On the accelerometer, this dropped the self-noise from ~5.5 counts RMS down to ~1 count RMS. On the magnetometer, the self-noise dropped from ~3 counts RMS to ~1 count RMS. And on the gyro, there was no change (self-noise ~0.6 counts RMS). IMHO, Sparkfun should consider using larger Vdd caps in future revisions so that self-noise is minimized.

    • i can fully confirm that. i also had quite some noise, especially on the accel. i added 3x 10uf 0805 ceramic caps parallel to the existing ones. improves every sensors reading.

  • Works perfectly in my Aeroquad Quadcopter!

  • Here’s a simple logger using this, an Arduino, and an OpenLog.

  • We really love this device. We are using it on our robot for the DARPA Robotics Challenge. I posted code at the Arduno Playground. http://playground.arduino.cc//Main/SEN-10724

  • Check out this awesome wireless head mounted display with this IMU integrated into the HMD’s body. This project incorporates two of these IMUs for simultaneous head and chest attitude measurement via bluetooth!
    Link to Project Post

  • The y-axis arrow printed on the board is correct?

  • Is it possible to slow down the clock speed so that the I2C signal can be sent a longer distance? I know that slowing down the clock will enhance the range that an I2C signal can travel, along with using twisted pair, but how will slowing down the clock speed affect the board/signal?

  • Trying to use this board with a 3.3v RFduino, but no luck getting it to work. Does it require a higher voltage than 3.3v? If so, it would be really good to mention this somewhere in the product description…

  • I bought this IMU and I am trying to read its data. Right now I am having problems with the accelerometer ADXL345. I am reading the X axis' acceleration data correctly. It has a little noise but nothing to worry about. The thing is that the Y axis' acceleration has a bigger noise. I have a lot of points that are ok but frequently I receive bad readings or points that are to far from the real value. Regarding the Z axis' acceleration, the data is totally wrong. It has almost no relation with the real value of the acceleration. I am about to think that the chip is broken. What’s do you suggest to me to try or check?. I am processing the data of the three axes in the same way (copied a pasted code) so if the code works for X axis it should work for the Y and Z axes. Have you had a similar problem?.

  • Hey guys, I’m just wondering why this 9DOF is $15 cheaper than the IMU Digital Combo board 6DOF? I could have sworn it was more money before… https://www.sparkfun.com/products/10121

    This has extra components and does more.

  • What is the format of the data output of this sensor stick?

  • Does anyone have a working code for connecting this to an OpenLog?? Thanks!!!

  • will this work with a 3.3 voltage supply & atmega328 running on 3.3 volts. I saw something about it having voltage regulator onboard that needed 3.5 volts…

  • i have a very basic doubt regarding the device placement of gyro, accelerometer, magnetometer. Are they not required to be place on the exact center of PCB to get best performance. Do we compromise performance of devices by placing it offset to center. And is there particular measurement to place gyro and accelerometer and magnetometer apart?

  • All the specs state these sensors will support fast mode (400 kHz). Wonder if anyone has tried it with any problems

  • Hello everyone

    I bought the “ 9 Degrees of Freedom - Sensor Stick SEN-10724 ” and “ Arduino Uno ” , I connected them together and i used the “ AHRS/Head-Tracker Tutorial ” above.

    When using the coding for “ Arduino ” it works perfectly fine and i do get reading.

    When running the processing code it takes a lot to run ( Approximately 10 mins ) i have no idea why ??????

    Any help is highly anticipated ….. Please note that i am a beginner thanks.

  • Hi , I have got the 9 DOF Sensor Stick up and running on the I2C Interface of my STM32F4 discovery - I can read value from all three of the sensors - now I want to advance to use the more sophisticated functions like the freefall detection of the ADXL345 - therefore I configured an EXTI Interrupt on the GPIO Pins the sensor stick uses to connect to I2C ( PB6 or PB7 on the discovery) - But every time I run the this code it renders the I2C bus busy - and the execution stalls - my current analysis of the problem is that there is a conflict between the bus activity (or the GPIO setup) and the Interrupt setup - My question is are the interrupt lines of the ADXL345 (and the other sensors) connected to the I2C Bus wires (ie. INT1 to SCA INT2 to SCL) - I could not descern this from the schematics -and if so : is it the right approach trying to configure the interrupts on the same pins - or how else is it possible to access the Interrupt lines of the sensors ?

    Thank you in advance best regards Stefan

  • Does any one have working Arduino software for this board???

  • Hi, I don’t get the gyro and compass to work. Does someone have any advise? I did manage to get the individual brakeout boards of the gyro and compass to work, how does this board differ? Thanks!

  • Hello World.

    Does anybody know on how do i reduce the noise of the measurement? In hardware perspective.

  • I was wondering are there any examples using 9DoF and an msp430?

    • I would recommend checking on the forums and on any MSP430 forums. If there are any examples, they will likely be posted by other users, so those would be your best bet to find some examples.

  • I bought a 10DOF on eBay for $25. Works so well I bought another one. I can’t imagine paying $100 for something like this.

  • What is the drain for this unit?

    More specifically, can I use this inductive charging system to power the IMU? I only need to power the IMU for 30 mins.

    http://www.mouser.com/new/cymbet/cymbetcbceval11/

    If you know of a better inductive charging kit, let me know!

  • sensor was working before. now I don’t get any readings using the program from the tutorial. I’m using an Arduino Mega. What could it be?

  • I bought a SEN-10724 about a year ago, are the chip all the same on this one?

    thanks

    • Depending on when you purchased this last year, you may have the older magnetometer, the HMC5843. The current version ships with the HMC5883.

  • NOOO!!! back ordered!! ETA??

  • quite expensive. i can get one of these with the mpu6050, a 3-axis magnetometer, and a bmp085 pressure sensor for 35 bucks.

  • The datasheet for the HMC5883L magnetometer has specific instructions and diagrams regarding PCB copper layout. Amongst others - no conducting copper under/near the sensor in any of the PCB layers - yet both the photos and Eagle files show both active traces and spare copper under the sensor. I was considering using this board, but it seems the PCB designers have not consulted the datasheet correctly. The same is true where this sensor is also used in the 9DOF Razor IMU. Could the PCBs be changed in the future?

  • I see that at least one other user wants to do what I want to do: use two of these on the same I2C bus. Technically, I want to use 4 of them on 2 I2C buses.

    Both the Accel and the Gyro are already using the ‘optional’ address by grounding a pin. I have busted a couple of boards :-( by trying to enable the “normal” address with the old cut-and-jumper tricks. Too small.

    It would be AWESOME if the next revision had a solder-pad option to select a few things: 1) ADXL: Alt Address pin held High or held Low 2) ITG: Alt Address Pin held High or held Low 3) HMC: Connect or Disconnect Power (because it does Not have an alternate address)

    It may even be possible to put all this on the back of the board and not take up space?

    I’d make the same request for the other (no Compass) version: IMU Digital Combo Board - 6 Degrees of Freedom ITG3200/ADXL345 (SEN-10121).

    I would buy several more if either item had this option!

    • here’s my solution to multiple i2c with same address: CD74HC4067 or equivalent hi speed bi-directional mux/demux here

      You just need to MUX the SDA, SCL can be shared, pull all unused MUX selector pin LOW, you can even cascade the MUX’s and get several i2c, Serial ports and IO with this technique

  • I am uncertain how the sensor alignment arrows are meant to be read.

    When I have the sensor stick inverted do the sensor alignment arrows reference the inverted alignment, or normal alignment? While inverted the magnetometer’s y-axis arrow points right, does this mean that at normal orientation the magnetometer’s y-axis is pointing left?

    Thank you

  • I got this running on the FPGA of a National Instruments sbRIO 9606 embedded board.

    https://decibel.ni.com/content/docs/DOC-23854

  • Has anyone tried getting the Razor AHRS firmware/software working over XBee wireless? The tutorial provides provisions for use with a Bluetooth Mate, but not with an XBee…

    EDIT: Got it working… actually easier than expected. Many thanks to Peter Bartz from Razor AHRS. :)

  • Where is the difference between this and the Razor IMU (http://www.sparkfun.com/products/10736) Is it possible to get a RS232 output? Or is it even possible to get it on CAN-Bus? Thanks for the help!

    • This is just i2c interface… no processor to output RS232 etc. You must hook up to something to read the i2c bus, and do something with those values. The Razor is basically an Serial Arduino + 9 DOF on one board.

  • This is a great little bit of kit, but I’ve been scratching my head over an odd and intermittent problem with the gyro. Sometimes it works just fine, giving me obviously correct data; other times it just gives me crap, with the roll rates close to zero no matter how the board is moving. One hour it’s working, then without changing any hardware, it isn’t.

    The temperature sensor in the gyro works fine all the time, giving me good data, so I know the gyro is powered up and responding to I2C, but the roll info is sometimes junk. Could this be a bad gyro? Can these gyros just get stuck? Is there a way to force a reset and get it going?

  • Hello, I have 4 of these sensor boards and tryed to multiplex between these four with a 4052 analog multiplexer. The gyro and accelerometer give response, but not the magnetometer. It seems like the 4,7kohm pull up on the sensor boards in combination with the 4052 gives to high resistance so the magnetometer could not process the i2c signal. If I use the same code and same schematic by just replacing the multiplexed lines from the 4052 with some hardwired multiplexing on its socket everything works with the magnetometer,too.

    Has somebody an idea, how I could solve the problem?

  • Odd.. the ITG-3200 has more noise than the breakout board does, even if the sensors are swapped or a new sensor is mounted. Any fixes to this? Might be the regulator?

  • Hi! I’m planning to use this with a 5v system, do I need to use some level conversion for this or is it just Plug'n'Play ? :)

    • I’m currently using this board with a Arduino Uno, which is a 5V system. I’ve had no issues.

    • I found that I had to. The I2C lines on the sensor stick have pull-up resistors that pull-up to 3.3V, which confused other I2C devices that I was running at 5V. I used a level translator board (http://www.sparkfun.com/products/10403) and all the devices are playing nicely together now.

  • As this board obviously cannot be configured, like the 9 Degrees of Freedom - Razor IMU - AHRS compatible, what is its bandwidth??

    I can see in the datasheet that the bandwidth of the gyro is max 256 Hz, is it than running full speed?

    Petar

  • Just so anybody looking to purchase this knows. It has voltage regulators built into the board so no external ones are necessary.

    • Dear Sparkfun,

      Why does your schematic not show what the regulator is? With no datasheet for this PCB and no notation on the schematic what the regulator is, we have no idea how this device can be powered. Is it expecting 3.3V, or is it expecting 5V? Knowing what the regulator is seems like a pretty basic piece of information…could you rev the schematic to show this info?

  • why is this board $20 more expansive than ITG-3200+ADXL345 HMC5883L

    it should be less expansive, because of board density (n° of PCB/m2)

    • Are you serious? The board is hardly any of the cost here. These are 3 small SMT chips, that are in some what tricky package. Ever think about qc rejects? Not every board they build works. These 3 chips are relatively expensive, if one doesn’t work the board has to be tossed, or maybe reworked if lucky. Warranty. If any of the 3 chips fails, it would have to be sent back… so the chance is greater. They have made many revisions to this board due to high failure rate, etc. If you don’t like the price, build one yourself! They give you the plans!

      • i was just asking and trying to help, not starting a flame-war :) and you are right, never think about failed board cost, but this should happen also for the other break out board, no? BTW i bought the 2 board on my first post :)

        • I think costs have changed since this post? The current unit it $99.95, where the SEN-11028 ($39.95) + the SEN-10530 ($14.95) look like they have the same combination of chips? Or am I missing something.

  • When SEN-10724 will be available?

  • Hey guys and girls, I just updated the firmware at http://dev.qu.tu-berlin.de/projects/sf-razor-9dof-ahrs to be compatible with this board…

    I thought this could be useful to some of you!

    Cheers!

  • For anyone else still struggling with this board, I got the Razor_AHRS 1.3.3 code from here: https://dev.qu.tu-berlin.de/projects/sf-razor-9dof-ahrs/files to work by changing around the values in the SENSOR_SIGN array to {-1,-1,-1,1,1,1,1,-1,-1} in Razor_AHRS.ino and switched the buffer addresses for magnitom[0], magnitom[1] in Sensors.ino.

    • Ahh, saw your post to late AGAIN :)

      I did an update, Razor AHRS v1.4.0 now has support for this board built in.

  • Oh, it would have been a beautiful board IF Sparkfun guys break out the interrupt lines for each of the sensors - it makes programming MCU soooo much nicer without wasting time to re-query each of the sensors to find out when it is ready.

  • Is there any example code available for this board yet? I seem to need a jump start.

    • You can use the test code for the 9DOF razor, found here.

      • Hi a1ronzo. thanks for your source code, I have been very helpful, I use AVRGCC. maybe you could tell me how to calibrate the sensors of the IMU 6DOF?

        thanks for advance

      • Still not getting it. The 9DOF-Razor test seems to indicate that I am getting readings from all three sensors.

        Is there a good write up on what the numbers represent and how to use them?

      • Figured it out. Seems to work. Now to figure out how to get the VPython example working as described for the Razor here: http://pranjalchaubey.wordpress.com/2011/04/14/razor-imu/

      • OK did that. Got it to load, now what? I have no idea from the documentation as to what I should expect to see or where. I’m using a Duemilanove.

        Here is the console output from the upload:

        C:\Documents and Settings\Thomas Phillips\Desktop\9DOF-Razor-IMU-Test-Firmware>make program_serial C:\progra~1\Arduino\arduino-1.0\hardware\tools\avr\bin\avrdude -p atmega328p -P COM4 -c stk500v1 -b 57600 -CC:\progra~1\Arduino\arduino->1.0\hardware\tools\avr\etc\avrdude.conf -U flash:w:main.hex

        avrdude: AVR device initialized and ready to accept instructions

        Reading | ################################################## | 100% 0.05s

        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 (13370 bytes):

        Writing | ################################################## | 100% 6.70s

        avrdude: 13370 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 13370 bytes avrdude: reading on-chip flash data:

        Reading | ################################################## | 100% 5.64s

        avrdude: verifying … avrdude: 13370 bytes of flash verified

        avrdude: safemode: Fuses OK

        avrdude done. Thank you.

  • The SDA and SCL traces run under the magnetometer…

  • After reading all the comments below, I’m not sure what to make of the issue with applying pressure to the chips. Is this an actual problem with the latest release of this module? or not?

    • As the personn above, I have the same request. Is the problem solved of soldering and pressure solved for the module currently on sale ?

  • Hi, I’m working on an educational program and would like to introduce my students to inertial guidance. Problem is I’m not a programmer or electronics engineer :-( and I have no idea how to access the different sensors in turn on this :-(
    So any demo code (basic stamp if I can be picky, but Arduino will do too) on this stick would be greatly appreciated
    Erik

  • Is the i2c interface atmel ready (voltage …)?

  • Does this one have the same problem as SEN-10321? ie the mag sensor only works when pressure is applied?
    I have had 2 of those DoA so far :(

    • I recently purchased a 9dof sensor stick and a 6dof breakout board, and I’m also having trouble reading the ITG-3200 on both board, despite being able to read data from the ADXL345 and HMC5883L. I’ve been searching the internet for days trying to figure out what I’ve been doing wrong. Can someone at Sparkfun please let us know if there is a possible assembly issue with these boards. Many Thanks
      Note: I also tried applying pressure, with no luck

      • I’m presently experiencing the same thing. Accelerometer and mag work fine. ITG-3200 seems dead. Can I return these if they’re soldered up?

    • Same problem here. When there is no pressure applied, the mag does not send the I2C ACK at all (wrote a little program for my MCU that iterates over all the 7-bit possible addresses, it finds the acc and the gyro, but not the mag). When I press it really hard (put two plastic cards between the breadboard and the sensor, then I press it as hard as I am not afraid of breaking the thing) the mag responds and I can make measurements properly.
      Edit: Ok, I maybe went a bit too far. It has now detached from the PCB.

  • Just wanted to confirm if the regulator on this breakout board is the MIC5205?

  • Thanks.

  • Is there any breakout board?

    • I’m not at all sure what you’re asking. This is essentially a breakout board already. If you have further question, please contact techsupport@sparkfun.com.

  • I discovered “Replacement Value $ 14.00 " with a screen of checkout.
    I have a SEN-10321, but want to change it.
    Can I change it for SEN-10724?

  • Still no Baro Temp? Why is it so hard to add one to basically do everything?

  • cheaper magnetometer but the same price as the old version?

    • I agree, the magnetometer takes at least $5 off the parts price of this board. for us of us that are on a really tight budget could you maybe consider a “standard” markup price, so if a new revision has a cheaper BOM that the product would be cheaper too? remember that technology gets cheaper and smaller with time, so as your products progress, shouldn’t they get cheaper too?
      regards, a basement inventor with a really tight budget :)

  • It looks like the link to the magnetometer datasheet is still pointing to the old version (HMC5843).

  • new version yay! might save up and grab one of these later this fall


Related Products