{"id":1171,"date":"2013-08-04T09:21:50","date_gmt":"2013-08-04T09:21:50","guid":{"rendered":"http:\/\/usabledevices.com\/ud\/?p=1171"},"modified":"2016-09-09T09:26:28","modified_gmt":"2016-09-09T09:26:28","slug":"mmu-6050-6-axis-6-dof-gyro-and-accelerometer-interrupt-data-summary","status":"publish","type":"post","link":"http:\/\/usabledevices.com\/ud\/2013\/08\/mmu-6050-6-axis-6-dof-gyro-and-accelerometer-interrupt-data-summary\/","title":{"rendered":"MMU 6050 6 axis \/ 6 DOF gyro and accelerometer interrupt &#038; data summary"},"content":{"rendered":"<p>The most excellent <a title=\"Maker - Edward\" href=\"http:\/\/xinchejian.com\/2012\/03\/27\/portraits-of-makers-edward-jiang\/\">Xincehjian maker Edward<\/a> introduced me to the also excellent MMU 6050 that has a 3 axis gyro and a 3 axis accelerometer and in addition has a bucket load of on-board digital motion processing (DMP) to give a huge range of 6 axis (DOF) outputs as well as motion, free fall, tap and shake detection. Amazingly, in China, you can buy it on a break out board for about $4 and get it delivered for another $1, a day or so later.<\/p>\n<p>A popular library for this chip, seems to be the <a title=\"I2Cdev library\" href=\"https:\/\/github.com\/jrowberg\/i2cdevlib\">I2cDev library from Jeff Rowberg<\/a> which not only provides access to this chip, but a HOST of other sensors AND it also provides a generic I2C lib (hence the name I2Cdev) that can and has been ported to many different host processors!<\/p>\n<p>But wait there&#8217;s more, the I2cDev library offers a choice of several underlying I2C libaries, and even when using the default Arduino Wire library to provide the I2C, the common blocking &#8211; hanging issues that seem to plague many people when using the Arduino Wire library for I2C, have been resolved! I can now run I2C code for many hours, even overnight, instead of previous seconds or rare minutes!<\/p>\n<p>So, I am really stoked, because the MMU 6050 delivers a lot of features that I really want to use (see <a title=\"Assistive Devices\" href=\"http:\/\/wiki.xinchejian.com\/wiki\/Assistive_Devices\">Assistive devices<\/a>) and those Wire I2C issues have caused me a lot of grief over the last 2 years as I tried to use several different sensors and motor controllers and even recently when I tried several different libraries, that others have created to get past these issues!<\/p>\n<figure id=\"attachment_1183\" aria-describedby=\"caption-attachment-1183\" style=\"width: 300px\" class=\"wp-caption alignleft\"><a http:\/\/usabledevices.com\/ud\/wp-content\/uploads\/2013\/08\/MMU6050-interrupts-trimmed.pdf\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1183\" alt=\"click for the A3 page of information\" src=\"http:\/\/usabledevices.com\/ud\/wp-content\/uploads\/2013\/08\/MMU-6050-interrupts-data-summary-300x276.jpeg\" width=\"300\" height=\"276\" \/><\/a><figcaption id=\"caption-attachment-1183\" class=\"wp-caption-text\">Screenshot of MMU 6050 interrupts &amp; data summary<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>But wait there&#8217;s still more, there is also the freeIMU library, which I have been using successfully. It sits on top of the I2cDev library and provides additional features.<\/p>\n<p>The last &#8220;But wait there&#8217;s more&#8221; is that as part of trying to get my head around all, well so far some of the above (tap, shake and motion detection), I delved into the documentation and code and summarised my understanding of interrupt configuration, interrupt status, raw data access and access to the DMP data. <a href=\"http:\/\/usabledevices.com\/ud\/wp-content\/uploads\/2013\/08\/MMU6050-interrupts-trimmed.pdf\" title=\"MMU 6050 interrupt data summary\">The document<\/a> is still a work in progress, so please add comments to this post or contact me with updates and corrections!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The most excellent Xincehjian maker Edward introduced me to the also excellent MMU 6050 that has a 3 axis gyro and a 3 axis accelerometer and in addition has a bucket load of on-board digital motion processing (DMP) to give a huge range of 6 axis (DOF) outputs as well as motion, free fall, tap &hellip; <a href=\"http:\/\/usabledevices.com\/ud\/2013\/08\/mmu-6050-6-axis-6-dof-gyro-and-accelerometer-interrupt-data-summary\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;MMU 6050 6 axis \/ 6 DOF gyro and accelerometer interrupt &#038; data summary&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,9,13],"tags":[25,43,49,66],"class_list":["post-1171","post","type-post","status-publish","format-standard","hentry","category-documentation","category-hardware","category-open-source","tag-accelerometer","tag-gyro","tag-library","tag-sensor"],"_links":{"self":[{"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/posts\/1171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/comments?post=1171"}],"version-history":[{"count":1,"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/posts\/1171\/revisions"}],"predecessor-version":[{"id":1332,"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/posts\/1171\/revisions\/1332"}],"wp:attachment":[{"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/media?parent=1171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/categories?post=1171"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/usabledevices.com\/ud\/wp-json\/wp\/v2\/tags?post=1171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}