Search
Product Info
Atomic IMU 6 Degrees of Freedom - XBee Ready
sku: SEN-09184
Description: The 6DOF Atomic is a stripped-down IMU, designed to give good performance at a low price. The unit can run as a hard-wired UART interface (0-3.3V, 115200bps), or optionally with an XBee RF module, and is powered from a single LiPo (Lithium Polymer) battery. The processor is an Atmel ATMega328 running at 10MHz with 6 dedicated 10-bit ADC channels reading the sensors. Source code for the 6DOF Atomic is freely available and compiles with the free AVR GCC compiler.
The 6-DOF Atomic uses these sensors:
- 1 x Freescale MMA7260Q TM triple-axis accelerometer, settable to 1.5g, 2g, 4g or 6g sensitivity
- 3 x ST Microelectronics LISY300AL TM single-axis, 300°/s gyros
All sensor readings are available through any terminal program in either ASCII or binary format, or with the 6DOF Atomic IMU Mixer demo application (source code also available).
Having a hard time picking an IMU? Our Accelerometer, Gyro, and IMU Buying Guide might help!
Specifications:
- Input voltage: 3.4V to 10V DC
- Current consumption: 24mA (75mA with X-bee)
-
Sensor bandwidth and resolution:
-
LISY300AL Gyros:
- 88Hz, 0.977°/s/tick (ADC count)
-
MMA7260Q Accelerometer:
- 350Hz, X and Y axes
- 150Hz, Z axis
- 0.00403g/tick @ 1.5g
- 0.00537g/tick @ 2g
- 0.0107g/tick @ 4g
- 0.0161g/tick @ 6g
-
LISY300AL Gyros:
Dimensions: 1.85 x 1.45 x 0.975 inches (47 x 37 x 25 mm)
Documents:
Pricing
Comments
39 comments
Feeds
Currency
Display prices in
Feedback
If you would like to tell us more, you can fill out our form if you need some psycho-suggestive questions. Go to the form.



































best regards.
I've read in your post (http://www.sparkfun.com/commerce/categories.php) that in the Atomic IMU is implemented the Kalman filter (my doctor will be grateful to you!!). But in the source code available in this web I can not find it... Is it exist?
Another question: is it possible to obtain a 6dof IMU only with gyro+acc? How is the yaw angle compensated? I thought that the magnetometer was neccesary to compensate the yaw angle (calculated by the z-gyro)
Regards!!!
This module would be useful only in an application where orgin and heading aren't necessary, unless you add them yourself. An application they would be useful in would be say a model rocket. Who cares where it starts, but we want to know how far and how high it traveled and how long it took to get there.
If you have more questions email me.
Thanks
Is there much more difference implementing the kalman filter in a 8-bit micro instead of in a 32-bit micro?
for more accuracy, so the flex in the headers doesnt affect your readout. not sure how much a difference would make tho.
acc_x
acc_y
acc_z
roll
pitch
yaw
raw ADC value = (Vin * ADC resolution)/Vref
in this case ADC resolution is 10 bits, so 2^10 is 1024. The Vref is 3.3V, and the raw ADC value is the value the atomic is outputting. So if the z axis is 770, the actual Vin is about 2.48V. Now you need to use the MMA7260Q datasheet. On page 3, there is a table that shows the resolution and zero values for the accelerometer. At zero g the accelerometer is supposed to output about 1.65V. take this value and subtract it from the 2.48V and this gives how many volts above zero g the accelerometer is experiencing, so in this case about .83V. Now if you look at the sensitivity of the accelerometer (also on page 3) you can see that at 1.5g range the sensitivity is about 800mV which means the z axis is reporting almost exactly 1g, as it should be. You can follow the same procedure for the gyros.
You can also calibrate the accelerometer by seeing what the actual zero-g, and 1g readings are for your unit. to do this all you have to do is take a reading with z axis experiencing 1g (you have already done this), and with the z axis at zero g (to do this all you have to do is hold the atomic vertically). You can use this zero g value as your zero g reference and the difference between the 1g and 0g reading as the accelerometers actual sensitivity. This can also be done for the other accelerometer axes.
How could the gravitational force be removed? Say, for a human motion analysis application?
Do we need to use angular data from the gyros to calculate the actual orientation of the sensors, and then compute the contributions of the gravitational vector to remove it from each axis?
Would you kindly give an overview of such estimates?
We are seriously stuck on this issue.
-That is the idea, however the accelerometers used on this IMU are relatively cheap and thus tend to drift. The voltage bias you need to remove may drift as well.
How could the gravitational force be removed? Say, for a human motion analysis application?
Do we need to use angular data from the gyros to calculate the actual orientation of the sensors, and then compute the contributions of the gravitational vector to remove it from each axis?
-The gyros give you your angular rate, so you would have to integrate those values (after adjusting for the bias) to get your angular position. If you want to do complete 6DOF tracking (position + orientation) GOOD LUCK! It is very difficult to track position with this module, since 1) gravity is tough to subtract out once you are moving and 2) acceleration is integrated twice to get position. HUGE errors will add up after a short time
Would you kindly give an overview of such estimates?
We are seriously stuck on this issue.
-I would not recommend using the accelerometers for tracking position on any small scale, but they would work fine if you are not moving (in a particular axis) and you want to determine your gravity vector.
As-is, you can use the uart pins for an ss pin if you're the spi master, but a board like this would like to be the slave so you can just poll imu data, or implement a software i2c, but no way to use the internal i2c or spi as slave.
Anyways, I have some good working kalman-filtered roll & pitch code. My output code is not currently working, so it's removed from this: http://pittsburgh.benpeoples.com/code/BLP6DOF.zip
Best regard!
i've bought as well the 6DOF plc and i am wondering about the datasheet. Can somebody explain how to use it? It doesn't even start the Mixer Programm^^ saying MSCOMM32 is not registered. So I connectet the UART output port from the Atomic with an UART to RS232 adapter and afterwards the adapter to the RS232 port from my computer. But it doesnt work - damn it o_O can somebody please help ^^
Cheers
I hace a Atomic IMU 6DOF, SEN-09184 connected with Xb24. I don't have "serial to usb board" and i used USB wire to provide supply to SEN-09184.
+I download "Atomic Mixer" and i can't connect to comport Can i use it for tests? If can't,what should i do to test it?
Please help me to make it throught.
Thanks and waitting for your replay!!!
I hace XBee Explorer USB (WRL-08687) connected with Xb24 (1) & a Atomic IMU 6DOF, SEN-09184 connected with Xb24 (2) & XBee Explorer Serial (WRL-09111)connected with Xb24 (3).
I have X-CTU sofeware and use "Remote Configuration" to config ( Network & security, RF interface, Serial interface....). Then i use Range Test in X-CTU and try to sent data from (1) to (2). I transfer the data {that (2)received from (1)} to (3). The problem is that
+ (3) can't receive data that (1) sent
+ if i sent data from (1) to (3) everything is ok
Please help me to make it throught.
Thanks and waitting for your replay!!!
i have a severe problem with this unit, i connect it to computer through serial port (which i am sure it is working properly) with a max232, and run the Atomic mixer; well... nothing happens. i don't even know what is the meaning of 6DOF "Atomic Setup 1.0" or "Configuration Menu" that is mentioned in datasheet.
i have seen the voltage level of Rx and TX pins of micro, they are OK, i mean, i think the serial port is good, the unit starts with 5 blinkings of status LED, and then goes to idle state.
can anybody help me?!!!!
thanks
1.tell me about atomic IMU code compile in avr studio4 give error of rprintf header not include where i can add the rprintf.c header to include and which complier are more suitable ..?
2.how i can program the controller i dont serial burner device to burn the code in atmega168 controller..?
3.tell the which xbee tx,rx module is suitable for sensor IMU data communication and how much(cost)...?
4.how much time to deliver the order..?
thank you and waiting for reply
I’m using the 6DOF Atomic IMU. The board is hard wired connected to an RS232 port on my PC. I’m using custom made converter board with MAXIM MAX232 IC to convert from TTL to RS232. The hardware is ok.
I’m running the 6DOF Atomic Mixer application very smoothly. I set up the com port, frequency and the sensitivity of the acceleration. 6DOF Atomic IMU and the Atomic Mixer application work fine. The results are reasonable as I move the board.
Now when I connect the board to a terminal program, the data displayed (ASCII characters) have no meaning. I don’t know what I’m doing wrong here. I have tried with several terminal programs (Windows Hyper Terminal, Realterm terminal and Termite terminal) and same not reasonable data.
What I want to do: I want to see the data on the terminal and after to parse only the yaw output and use it in my application.
Please can someone help me and tell me how to get the right data on a terminal program. Maybe I should use some other terminal program.
Thanks in advance.
Cheers,
Sazdo
I use SparkFun FTDI Basic Breakout – 5V to interface with Atomic IMU 6 Degrees of Freedom - XBee Ready and SparkFun FTDI Basic Breakout – 5V is connected to the computer via USB connection.
The question is could the IMU have its power from the USB or do i need to use a polymer lithium battery as power source to IMU?
Is there any alternative way other than using the battery as i need IMU to be light enough and without many externals for the IMU to be suitable to Augmented Reality application.
Please answer me, waiting for the reply
the output of programmer is 10 pin but on board 6 pins are available to program...
and which one loader use to burn program
i am waiting for helpful answer...!
thank you .I have purchase already IMU 6DOF and AVR STK Serial Port Dongle Programmer
sku: PGM-00014.
the output of programmer is 10 pin but on board 6 pins are available to program...
i am waiting for helpful answer
thank you
Received:
0x00 0x5F 0x0F 0xBF 0xBA 0x3B 0xBF 0xA1
0x0F 0x7F 0x04 0x7F 0x0A 0x29 0x5F 0x0D
0xBF 0x5D 0x3B 0xBF 0xA1 0x0F 0x7F 0x04
0x7F 0x0A 0x29 0x5F 0x0B 0xBF 0xBA 0x37
0xBF 0xA1 0x0D 0x7F 0x82 0x2B 0x29 0x5F
0x09 0xBF 0x5D 0x3F 0xBF 0xA1 0x0F 0x7F
0x82 0x29 0x29 0x5F 0x07 0xBF 0x5D 0x3D
Received: 0xBF 0xA1 0x0B 0x7F 0x04 0x7F 0x0A 0x29
Received: 0x5F 0x05 0xBF 0xBA
Received: 0x43 0xBF 0x86 0x0D 0x7F 0x04 0x7F 0x0A 0x29
somebody help me please... where is the begging of the data frame... and where's the stop frame!! THKS!!!