{"id":27755,"date":"2019-12-09T18:17:04","date_gmt":"2019-12-09T10:17:04","guid":{"rendered":"\/blog\/?p=27755"},"modified":"2019-12-09T18:17:06","modified_gmt":"2019-12-09T10:17:06","slug":"getting-started-with-mpu-9250-arduino-guide","status":"publish","type":"post","link":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/","title":{"rendered":"Getting started with MPU-9250, Arduino Guide"},"content":{"rendered":"\n<p>The MPU-9250 is a 9-axis MEMS sensor from InvenSense\u00ae. It&#8217;s Arduino compatible, making motion-tracking measurements simple. Compatibility aside, it&#8217;s a high performing device with low power consumption and a significantly smaller form factor as compared to its previous successor MPU-9150. <\/p>\n\n\n\n<p>In today&#8217;s blog, I&#8217;ll be helping you get started with the MPU-9250, alongside how to hook it up with an Arduino. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MPU-9250 Introduction<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/www.invensense.com\/wp-content\/uploads\/2014\/12\/rp-mpu-9250.png\" alt=\"\" width=\"250\" height=\"179\"\/><figcaption><a href=\"https:\/\/www.invensense.com\/products\/motion-tracking\/9-axis\/mpu-9250\/\">Ref<\/a><\/figcaption><\/figure><\/div>\n\n\n\n<p>Let&#8217;s get this blog started by firstly diving deeper into the MPU-9250 and giving you a better understanding of what this 9-axis MotionTracking Device is capable of.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How is the MPU-9250 9-axis?<\/strong><\/h3>\n\n\n\n<p>Compared to other mems sensors; Accelerometer, Gyroscope, magnetometer, that are individually sold, the MPU-9250 combines it all. Integrating two dies into a single QFN package, it packs a 3-Axis Gyroscope and accelerometer on a die and the AK8963 3-Axis magnetometer on the other. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>MPU-9250 Features<\/strong><\/h3>\n\n\n\n<p>To better understand the features of each individual sensor, I&#8217;ve collated it in a table below:<\/p>\n\n\n\n<style type=\"text\/css\">\n.tg  {border-collapse:collapse;border-spacing:0;}\n.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}\n.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}\n.tg .tg-cly1{text-align:left;vertical-align:middle}\n.tg .tg-wa1i{font-weight:bold;text-align:center;vertical-align:middle}\n.tg .tg-amwm{font-weight:bold;text-align:center;vertical-align:top}\n.tg .tg-0lax{text-align:left;vertical-align:top}\n<\/style>\n<table class=\"tg\">\n  <tr>\n    <th class=\"tg-wa1i\" colspan=\"3\">MPU-9250 <\/th>\n  <\/tr>\n  <tr>\n    <td class=\"tg-wa1i\">Gyroscope Features<\/td>\n    <td class=\"tg-wa1i\">Accelerometer Features<\/td>\n    <td class=\"tg-amwm\">Magnetometer<\/td>\n  <\/tr>\n  <tr>\n    <td class=\"tg-cly1\">Digital-output X-, Y-, and Z-Axis angular rate sensors (gyroscopes) with <br>User-programmable full-scale range of \u00b1250, \u00b1500, \u00b11000, and \u00b12000\u00b0\/sec and integrated 16-bit ADCs<br><br>Digitally-programmable low-pass filter<br><br>Gyroscope operating current: 3.2mA<br><br>Sleep mode current: 8\u00b5A<br><br>Factory calibrated sensitivity scale factor<br><br>Self-test<\/td>\n    <td class=\"tg-cly1\">Digital-output triple-axis accelerometer with a programmable full scale range \u00b12g, \u00b14g, \u00b18g and<br>\u00b116g and integrated 16-bit ADCs<br><br>Accelerometer normal operating current: 450\u00b5A<br><br>Low power accelerometer mode current: 8.4\u00b5A at 0.98Hz, 19.8\u00b5A at 31.25Hz<br><br>Sleep mode current: 8\u00b5A<br><br>User-programmable interrupts<br><br>Wake-on-motion interrupt for low power operation of applications processor<br><br>Self test<\/td>\n    <td class=\"tg-0lax\">3-axis silicon monolithic hall-effect magnetic sensor with magnetic concentrator<br><br>Wide dynamic measurement range and high resolution with lower current consumption<br><br>Magnetometer normal operating current: 280\u00b5A at 8Hz repetition rate<br><br>Output data resolution of 14 bit (0.6\u00b5T\/LSB)<br><br>Full-scale measurement range is \u00b14800\u00b5T<br><br>Self-test function with an internal magnetic source to confirm magnetic sensor operation on end products<\/td>\n  <\/tr>\n<\/table>\n\n\n\n<p><\/p>\n\n\n\n<p>Apart from the above features coming from the MEMS gyroscope, accelerometer, and magnetometer, the MPU-9250 consists of other additional features!<\/p>\n\n\n\n<p>Additional Features include:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Smallest and thinnest QFN package for portable devices: 3x3x1mm<\/li><li>Auxiliary master I2C bus for reading data from external sensors <\/li><li>Minimal cross-axis sensitivity between the accelerometer, gyroscope and magnetometer axes<\/li><li>512 byte FIFO buffer enables the applications processor to read the data in bursts<\/li><li>Digital-output temperature sensor <\/li><li>10,000 g shock tolerant<\/li><li>400kHz Fast Mode I2C for communicating with all registers<\/li><li>Serial interfaces:<ul><li>1MHz for communicating with all registers<\/li><li>200MHz for reading sensor and interrupt registers<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>The MPU-9250 can be found in a wide array of applications as well, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Smartphones<\/li><li>Tablets<\/li><li>3D remote controls for Internet-connected TVs and set-top boxes<\/li><li>Motion-based game controllers and 3D mice<\/li><li>Motion-based portable gaming<\/li><li>Wearable Sensors<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MPU-9250 vs MPU-9150: The Improvements<\/strong><\/h2>\n\n\n\n<p>Before moving on to the integrated module, let&#8217;s take a look at what&#8217;s better on the MPU-9250 as compared to its previous successor!<\/p>\n\n\n\n<p style=\"background-color:#f3fbff\" class=\"has-background\"><strong>Smaller and consume less power<\/strong><\/p>\n\n\n\n<p>As compared to the MPU-9150, the MPU-9250 has lowered its power consumption yet decreased form factor by 44%! <\/p>\n\n\n\n<p style=\"background-color:#f3fbff\" class=\"has-background\"><strong>MPU-9250 has Better Gyro and Compass performance <\/strong><\/p>\n\n\n\n<p><strong>The MPU-9250 contains:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>MPU-6500 and AK8963 magnetometer<\/li><\/ul>\n\n\n\n<p><strong>The MPU-9150 contains: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>MPU-6050 and AK8975 magnetometer<\/li><\/ul>\n\n\n\n<p><strong>What do the differences mean?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>MPU-6500 offers higher power, lower noise, and larger package as compared to the MPU-6050<\/li><li>AK8963 magnetometer has a better full-scale range than the AK8975<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p style=\"color:#000000\" class=\"has-text-color\"><strong>Overall, you would expect an incremental increase in performance as it&#8217;s the latest 9-axis device from Invensense.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Getting started with MPU-9250 <\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.seeedstudio.com\/Grove-IMU-9DOF-v2-0.html?utm_source=blog&amp;utm_medium=blog\">Grove &#8211; IMU 9DOF v2.0<\/a><\/h3>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/media-cdn.seeedstudio.com\/media\/catalog\/product\/cache\/ab187aaa5f626ad16c8031644cd2de5b\/h\/t\/httpsstatics3.seeedstudio.comimagesproduct101020080202.jpg\" alt=\"\" width=\"350\" height=\"263\"\/><\/figure><\/div>\n\n\n\n<p>In order to get started with the MPU-9250, you&#8217;ll first need a module that&#8217;s based on it. There are a number of breakout boards, modules, etc. on the market but  today, I&#8217;ll be recommending the Grove &#8211; IMU 9DOF v2.0<\/p>\n\n\n\n<p>First, a look at its features:<\/p>\n\n\n\n<p>Since it&#8217;s an MPU-9250 integrated module, you&#8217;ll see similarities:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>I2C\/SPI interface<\/li><li>Auxiliary I2C<\/li><li>Low Power Consumption<\/li><li>400kHz Fast Mode I2C for communicating with all registers<\/li><li>Digital-output 3-Axis angular rate sensors (Gyroscopes) with a user-programmable full-scale range of  <\/li><li>\u00b1250, \u00b1500, \u00b11000, and \u00b12000\u00b0\/sec <\/li><li>Digital-output 3-Axis accelerometer with a programmable full-scale range of  \u00b12g, \u00b14g, \u00b18g, and \u00b116g <\/li><li>Digital-output 3-Axis accelerometer with a full-scale measurement range being \u00b14800\u03bcT <\/li><li>I2C Address: 0x68<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Why pick this MPU-9250 module rather than others?<\/strong><\/h4>\n\n\n\n<p style=\"background-color:#f9f9f9\" class=\"has-background\"><strong>Ease of pairing MPU-9250 with Arduino through Seeed\u2019s very own\u00a0<a href=\"https:\/\/www.seeedstudio.com\/document\/pdf\/Introduction%20to%20Grove.pdf\">Grove system<\/a><\/strong><\/p>\n\n\n\n<p style=\"color:#000000\" class=\"has-text-color\">Grove system is Seeed very own initiative, mainly aimed at helping users like yourself to easily use different modules, through our plug and play system!<\/p>\n\n\n\n<p class=\"has-text-color has-vivid-red-color\"><strong>This means no more using messy and complicated jumper wires, soldering, breadboard, or debugging electronic circuits!\u00a0<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img decoding=\"async\" width=\"684\" height=\"419\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2019\/12\/MPU9250-jumper-wires.png\" alt=\"\" data-id=\"27776\" data-link=\"\/blog\/?attachment_id=27776\" class=\"wp-image-27776\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/MPU9250-jumper-wires.png 684w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/MPU9250-jumper-wires-300x184.png 300w\" sizes=\"(max-width: 684px) 100vw, 684px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"376\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2019\/12\/MPU9250-Grove.png\" alt=\"\" data-id=\"27777\" data-link=\"\/blog\/?attachment_id=27777\" class=\"wp-image-27777\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/MPU9250-Grove.png 533w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/MPU9250-Grove-300x212.png 300w\" sizes=\"(max-width: 533px) 100vw, 533px\" \/><\/figure><\/li><\/ul>\n\n\n\n<p style=\"color:#000000;font-size:17px\" class=\"has-text-color\">Like how simple and less messy it is compared to other MPU-9250 modules? <\/p>\n\n\n\n<p style=\"font-size:17px\"><strong>All you need is a\u00a0<a href=\"https:\/\/www.seeedstudio.com\/Base-Shield-V2.html?utm_source=blog&amp;utm_medium=blog\">Grove Base Shield<\/a>\u00a0alongside your Arduino and you\u2019re good to go! Switch to using grove today!<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MPU-9250 (<a href=\"https:\/\/www.seeedstudio.com\/Grove-IMU-9DOF-v2-0.html?utm_source=blog&amp;utm_medium=blog\">Grove &#8211; IMU 9DOF v2.0)<\/a> Arduino Guide<\/strong><\/h2>\n\n\n\n<p>Now to answer the question you&#8217;ve been waiting for; How to pair the MPU-9250 with an Arduino? Here&#8217;s the guide to help you get started!<\/p>\n\n\n\n<p style=\"background-color:#f7f7f7\" class=\"has-background\">Note: This module is compatible with other microcontrollers but users have to write their own software library as it&#8217;s not possible to provide software library\/demo code for all platforms<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What you&#8217;ll need:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-gallery columns-3 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"210\" height=\"157\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2019\/12\/seeeduino-v4.2-1.jpg\" alt=\"\" data-id=\"27787\" class=\"wp-image-27787\"\/><figcaption><a href=\"http:\/\/www.seeedstudio.com\/Seeeduino-V4.2-p-2517.html?utm_source=blog&amp;utm_medium=blog\">Seeeduino V4.2<\/a><\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"210\" height=\"157\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2019\/12\/base-shield-3.jpg\" alt=\"\" data-id=\"27788\" data-link=\"\/blog\/?attachment_id=27788\" class=\"wp-image-27788\"\/><figcaption><a href=\"https:\/\/www.seeedstudio.com\/Base-Shield-V2-p-1378.html?utm_source=blog&amp;utm_medium=blog\">Grove Base Shield<\/a><\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"525\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2019\/12\/grove-MPU9250.jpg\" alt=\"\" data-id=\"27789\" data-link=\"\/blog\/?attachment_id=27789\" class=\"wp-image-27789\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/grove-MPU9250.jpg 700w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/grove-MPU9250-300x225.jpg 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption><a href=\"http:\/\/www.seeedstudio.com\/Grove-IMU-9DOF-v2.0-p-2400.html?utm_source=blog&amp;utm_medium=blog\">Grove-IMU 9D0F V2.0<\/a><\/figcaption><\/figure><\/li><\/ul>\n\n\n\n<p><em>*Seeeduino is Seeed\u2019s very own Arduino, built with benefits over the regular Arduino boards.\u00a0<\/em><\/p>\n\n\n\n<p>If you already own one of the Arduino models below, it&#8217;ll work with the Grove Base Shield as well:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Arduino Uno<\/li><li>Arduino Mega<\/li><li>Arduino Leonardo<\/li><li>Arduino 101<\/li><li>Arduino Due<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Hardware configurations:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Step 1:<\/strong> Connect Grove-IMU_9DOF_v2.0 to port I2C of Grove Base Shield<\/li><li><strong>Step 2: <\/strong>Plug Grove Base Shield into Seeeduino <\/li><li><strong>Step 3:<\/strong> Connect Seeeduino to PC via a USB cable<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>It should now look something like this:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/github.com\/SeeedDocument\/Grove-IMU_9DOF_v2.0\/raw\/master\/img\/with_ardu.jpg\" alt=\"\" width=\"350\" height=\"263\"\/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Software configurations:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Step 1:<\/strong> Download the library from Github<\/li><li><strong>Step 2:<\/strong> Refer How to install library, and install library for Arduino <\/li><li><strong>Step 3:<\/strong> Create a new Arduino sketch and paste the codes below to it or open the code directly by the path: File -> Example ->IMU_9DOF_Demo_Compass_Calibrated->IMU_9DOF_Demo_Compass_Calibrated. <\/li><\/ul>\n\n\n\n<p>Here is the main part of the code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>void setup() {\n  \/\/ join I2C bus (I2Cdev library doesn't do this automatically)\n  Wire.begin();\n\n  \/\/ initialize serial communication\n  \/\/ (38400 chosen because it works as well at 8MHz as it does at 16MHz, but\n  \/\/ it's really up to you depending on your project)\n  Serial.begin(38400);\n\n  \/\/ initialize device\n  Serial.println(\"Initializing I2C devices...\");\n  accelgyro.initialize();\n\n  \/\/ verify connection\n    Serial.println(\"Testing device connections...\");\n    Serial.println(accelgyro.testConnection() ? \"MPU9250 connection successful\" : \"MPU9250 connection failed\");\n    delay(1000);\n    Serial.println(\"     \");\n\n \/\/Mxyz_init_calibrated ();\n}\n\nvoid loop()\n{   \n    getAccel_Data();\n    getGyro_Data();\n    getCompassDate_calibrated(); \/\/ compass data has been calibrated here\n    getHeading();               \/\/before we use this function we should run 'getCompassDate_calibrated()' frist, so that we can get calibrated data ,then we can get correct angle .                    \n    getTiltHeading();           \n\n    Serial.println(\"calibration parameter: \");\n    Serial.print(mx_centre);\n    Serial.print(\"         \");\n    Serial.print(my_centre);\n    Serial.print(\"         \");\n    Serial.println(mz_centre);\n    Serial.println(\"     \");\n\n\n    Serial.println(\"Acceleration(g) of X,Y,Z:\");\n    Serial.print(Axyz[0]);\n    Serial.print(\",\");\n    Serial.print(Axyz[1]);\n    Serial.print(\",\");\n    Serial.println(Axyz[2]);\n    Serial.println(\"Gyro(degress\/s) of X,Y,Z:\");\n    Serial.print(Gxyz[0]);\n    Serial.print(\",\");\n    Serial.print(Gxyz[1]);\n    Serial.print(\",\");\n    Serial.println(Gxyz[2]);\n    Serial.println(\"Compass Value of X,Y,Z:\");\n    Serial.print(Mxyz[0]);\n    Serial.print(\",\");\n    Serial.print(Mxyz[1]);\n    Serial.print(\",\");\n    Serial.println(Mxyz[2]);\n    Serial.println(\"The clockwise angle between the magnetic north and X-Axis:\");\n    Serial.print(heading);\n    Serial.println(\" \");\n    Serial.println(\"The clockwise angle between the magnetic north and the projection of the positive X-Axis in the horizontal plane:\");\n    Serial.println(tiltheading);\n    Serial.println(\"   \");\n    Serial.println(\"   \");\n    Serial.println(\"   \");\n    delay(300);\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Step 4:<\/strong> Upload the code and after that, you can see: <\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/SeeedDocument\/Grove-IMU_9DOF_v2.0\/master\/img\/Grove-IMU_9DOF_v2.0_demo.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>In the static state, the z-Axis output value is about 0.98g, so you can refer to above to see if your sensor can work normally. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Resources and Going Further<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>[Eagle&amp;PDF]<\/strong>&nbsp;<a href=\"https:\/\/raw.githubusercontent.com\/SeeedDocument\/Grove-IMU_9DOF_v2.0\/master\/res\/Grove-IMU_9DOF_v2.0_sch_pcb.zip\">Grove &#8211; IMU 9DOF v2.0 Eagle File<\/a><\/li><li><strong>[Library]<\/strong>&nbsp;<a href=\"https:\/\/raw.githubusercontent.com\/SeeedDocument\/Grove-IMU_9DOF_v2.0\/master\/res\/Grove_IMU_9DOF_9250.zip\">Grove &#8211; IMU 9DOF v2.0 library<\/a><\/li><li><strong>[PDF]<\/strong>&nbsp;<a href=\"https:\/\/raw.githubusercontent.com\/SeeedDocument\/Grove-IMU_9DOF_v2.0\/master\/res\/MPU-9250A_Product_Specification.pdf\">MPU-9250 datashet<\/a><\/li><li><strong>[PDF]<\/strong>&nbsp;<a href=\"https:\/\/raw.githubusercontent.com\/SeeedDocument\/Grove-IMU_9DOF_v2.0\/master\/res\/MPU-9250A_Reg_Map.pdf\">MPU-9250 Register Map<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Summary <\/strong><\/h2>\n\n\n\n<p>Overall, MPU-9250 is an excellent choice for your motion-sensing needs. With Invensense support really good at staying in communication while they are looking over issues, you wouldn&#8217;t have to worry when troubleshooting occurs. <\/p>\n\n\n\n<p>However, you&#8217;ll need a module that&#8217;s based on that motion processing unit for any pairings with a microcontroller.  <\/p>\n\n\n\n<p>I highly recommend the <a href=\"https:\/\/www.seeedstudio.com\/Grove-IMU-9DOF-v2-0.html?utm_source=blog&amp;utm_medium=blog\">Grove &#8211; IMU 9DOF v2.0<\/a>\u00a0simply with its ease of pairing when compared to other MPU-9250 breakout boards!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The MPU-9250 is a 9-axis MEMS sensor from InvenSense\u00ae. It&#8217;s Arduino compatible, making motion-tracking measurements<\/p>\n","protected":false},"author":2850,"featured_media":27797,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[268,105,31,267,2279,2282,2280,2281,10],"class_list":["post-27755","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-9dof","tag-accelerometer","tag-gyroscope","tag-imu","tag-magnetometer","tag-mems-sensor","tag-mpu-9250","tag-mpu-9250-arduino","tag-sensor"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Getting started with MPU-9250, Arduino Guide - Latest News from Seeed Studio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting started with MPU-9250, Arduino Guide - Latest News from Seeed Studio\" \/>\n<meta property=\"og:description\" content=\"The MPU-9250 is a 9-axis MEMS sensor from InvenSense\u00ae. It&#8217;s Arduino compatible, making motion-tracking measurements\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Latest News from Seeed Studio\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-09T10:17:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-09T10:17:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png\" \/>\n\t<meta property=\"og:image:width\" content=\"652\" \/>\n\t<meta property=\"og:image:height\" content=\"371\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Shawn\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Shawn\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/\",\"name\":\"Getting started with MPU-9250, Arduino Guide - Latest News from Seeed Studio\",\"isPartOf\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png\",\"datePublished\":\"2019-12-09T10:17:04+00:00\",\"dateModified\":\"2019-12-09T10:17:06+00:00\",\"author\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/c9b61b761840d544e2d830b0e3bc9fe2\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#primaryimage\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png\",\"contentUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png\",\"width\":652,\"height\":371,\"caption\":\"Getting started with MPU9250, arduino guide\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.seeedstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting started with MPU-9250, Arduino Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/\",\"name\":\"Latest News from Seeed Studio\",\"description\":\"Emerging IoT, AI and Autonomous Applications on the Edge\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/c9b61b761840d544e2d830b0e3bc9fe2\",\"name\":\"Shawn\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5afdc71205d9d485de69bc4b192294e3?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5afdc71205d9d485de69bc4b192294e3?s=96&r=g\",\"caption\":\"Shawn\"},\"url\":\"https:\/\/www.seeedstudio.com\/blog\/author\/shawn\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Getting started with MPU-9250, Arduino Guide - Latest News from Seeed Studio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/","og_locale":"en_US","og_type":"article","og_title":"Getting started with MPU-9250, Arduino Guide - Latest News from Seeed Studio","og_description":"The MPU-9250 is a 9-axis MEMS sensor from InvenSense\u00ae. It&#8217;s Arduino compatible, making motion-tracking measurements","og_url":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/","og_site_name":"Latest News from Seeed Studio","article_published_time":"2019-12-09T10:17:04+00:00","article_modified_time":"2019-12-09T10:17:06+00:00","og_image":[{"width":652,"height":371,"url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png","type":"image\/png"}],"author":"Shawn","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Shawn","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/","url":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/","name":"Getting started with MPU-9250, Arduino Guide - Latest News from Seeed Studio","isPartOf":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png","datePublished":"2019-12-09T10:17:04+00:00","dateModified":"2019-12-09T10:17:06+00:00","author":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/c9b61b761840d544e2d830b0e3bc9fe2"},"breadcrumb":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#primaryimage","url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png","contentUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png","width":652,"height":371,"caption":"Getting started with MPU9250, arduino guide"},{"@type":"BreadcrumbList","@id":"https:\/\/www.seeedstudio.com\/blog\/2019\/12\/09\/getting-started-with-mpu-9250-arduino-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seeedstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Getting started with MPU-9250, Arduino Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.seeedstudio.com\/blog\/#website","url":"https:\/\/www.seeedstudio.com\/blog\/","name":"Latest News from Seeed Studio","description":"Emerging IoT, AI and Autonomous Applications on the Edge","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/c9b61b761840d544e2d830b0e3bc9fe2","name":"Shawn","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5afdc71205d9d485de69bc4b192294e3?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5afdc71205d9d485de69bc4b192294e3?s=96&r=g","caption":"Shawn"},"url":"https:\/\/www.seeedstudio.com\/blog\/author\/shawn\/"}]}},"modified_by":"Shawn","views":46251,"featured_image_urls":{"full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",652,371,false],"thumbnail":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie-80x80.png",80,80,true],"medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie-300x171.png",300,171,true],"medium_large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",640,364,false],"large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",640,364,false],"1536x1536":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",652,371,false],"2048x2048":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",652,371,false],"visody_icon":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",32,18,false],"magazine-7-slider-full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",652,371,false],"magazine-7-slider-center":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",652,371,false],"magazine-7-featured":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",652,371,false],"magazine-7-medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",652,371,false],"magazine-7-medium-square":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2019\/12\/Getting-started-with-MPU9250-arduino-gudie.png",652,371,false]},"author_info":{"display_name":"Shawn","author_link":"https:\/\/www.seeedstudio.com\/blog\/author\/shawn\/"},"category_info":"<a href=\"https:\/\/www.seeedstudio.com\/blog\/category\/news\/\" rel=\"category tag\">News<\/a>","tag_info":"News","comment_count":"0","_links":{"self":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/27755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/users\/2850"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=27755"}],"version-history":[{"count":2,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/27755\/revisions"}],"predecessor-version":[{"id":27799,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/27755\/revisions\/27799"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media\/27797"}],"wp:attachment":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=27755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=27755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=27755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}