{"id":21350,"date":"2017-07-21T08:00:38","date_gmt":"2017-07-21T15:00:38","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=21350"},"modified":"2021-06-10T16:35:27","modified_gmt":"2021-06-10T23:35:27","slug":"new-product-announcement-pmod-cmps2","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/new-product-announcement-pmod-cmps2\/","title":{"rendered":"New Product Announcement &#8211; Pmod CMPS2"},"content":{"rendered":"<figure id=\"attachment_21351\" aria-describedby=\"caption-attachment-21351\" style=\"width: 274px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-21351\" style=\"font-size: 14px; font-family: 'Open Sans', Arial, sans-serif;\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmod-CMPS2-Oblique-1000.png\" alt=\"\" width=\"274\" height=\"233\" \/><figcaption id=\"caption-attachment-21351\" class=\"wp-caption-text\"><em>Pmod CMPS2: 3-axis digital compass.<\/em><\/figcaption><\/figure>\n<p><span style=\"font-size: 14px;\">Announcing the addition of the\u00a0<\/span><span style=\"font-size: 14px;\">P<a href=\"https:\/\/digilent.com\/shop\/pmod-cmps2-3-axis-magnetometer\/\">mod CMPS2 <\/a><\/span><span style=\"font-size: 14px;\">to the Pmod sensor family!<\/span><\/p>\n<p><strong>Description<\/strong><\/p>\n<p>The Digilent Pmod CMPS2 is a 3-axis anisotropic magneto-resistive sensor, AKA a digital compass. With Memsic&#8217;s <a href=\"http:\/\/www.mouser.com\/ds\/2\/821\/MMC3416xPJ_Rev_C_2013_10_30-1075494.pdf\">MMC34160PJ<\/a>, the local magnetic field strength can be measured in a \u00b116 Gauss range, with a heading accuracy of 1\u00b0 and up to 0.5 mG of resolution. Exposure to strong external magnets can change the characteristics of the sensor, but luckily there is an integrated SET\/RESET function that can be performed each measurement or periodically as desired, to combat this. The RESET function also compensates for error due to Null Field output change with temperature.<\/p>\n<figure id=\"attachment_21400\" aria-describedby=\"caption-attachment-21400\" style=\"width: 321px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-21400\" style=\"font-family: 'Open Sans', Arial, sans-serif; font-size: 14px;\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/pmodcmps2-plugged-in.png\" alt=\"\" width=\"321\" height=\"322\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/pmodcmps2-plugged-in.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/pmodcmps2-plugged-in-150x150.png 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/pmodcmps2-plugged-in-300x300.png 300w\" sizes=\"auto, (max-width: 321px) 100vw, 321px\" \/><figcaption id=\"caption-attachment-21400\" class=\"wp-caption-text\"><em>Pmod CMPS2 plugged into Pmod host port on Digilent system board.<\/em><\/figcaption><\/figure>\n<p>While communicating with the host board via the\u00a0<a class=\"wikilink1\" title=\"pmod:communication_protocols:i2c\" href=\"https:\/\/digilent.com\/reference\/pmod\/communication_protocols\/i2c\">I\u00b2C\u00a0<\/a><a class=\"wikilink1\" style=\"font-size: 14px;\" title=\"pmod:communication_protocols:i2c\" href=\"https:\/\/digilent.com\/reference\/pmod\/communication_protocols\/i2c\">protocol,<\/a><span style=\"font-size: 14px;\">\u00a0users can measure the \u00b116 G field surrounding the device. The Pmod CMPS2 is one of our first modules designed to follow the updated <\/span><a style=\"font-size: 14px;\" href=\"https:\/\/digilent.com\/reference\/_media\/reference\/pmod\/pmod-interface-specification-1_1_0.pdf\">Digilent Pmod Interface Specification 1.1.0<\/a><span style=\"font-size: 14px;\">. This new specification requires that all I2C Pmods conform to the 6-pin form factor for improved physical connection to Pmod host ports on Digilent system boards (see image left). For an overview of the differences between the new and old spec, see <a href=\"https:\/\/digilent.com\/blog\/announcing-the-digilent-pmod-interface-specification-1-1-0\/\">this blog post <\/a>.<\/span><\/p>\n<p style=\"text-align: left;\"><strong>How does it work?<\/strong><\/p>\n<p>The Pmod CMPS2 communicates with the host board via the\u00a0<a class=\"wikilink1\" title=\"learn:fundamentals:communication-protocols:i2c:start\" href=\"https:\/\/digilent.com\/reference\/learn\/fundamentals\/communication-protocols\/i2c\/start\">I\u00b2C protocol<\/a>. By first sending the 7-bit I\u00b2C device address of 0110000 and then a read\/write bit (high\/low logic level, respectively), followed by the register address of interest at a maximum clock frequency of 400\u00a0<abbr title=\"\">kHz,<\/abbr>\u00a0users can both configure and read from the Pmod CMPS2. An additional female header, header J2 on the image below, is provided so that users may daisy chain the Pmod CMPS2, allowing for control of multiple devices on the same I2C bus. In order to daisy chain, the jumpers on JP1 must be disconnected.<\/p>\n<p>As with any magnetometer, the Pmod CMPS2 will have to be calibrated.\u00a0To calibrate the magnetometer, the offset associated with the magnetic sensors and the environment needs to be calculated and removed from future measurements. Follow the calibration section of our <a href=\"https:\/\/digilent.com\/reference\/pmod\/pmodcmps2\/start\">reference manual<\/a> to learn how to do this.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-21402\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmodcmps2-walkaroud-image-1024x576.png\" alt=\"\" width=\"702\" height=\"395\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmodcmps2-walkaroud-image-1024x576.png 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmodcmps2-walkaroud-image-600x338.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmodcmps2-walkaroud-image-768x432.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmodcmps2-walkaroud-image-800x450.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmodcmps2-walkaroud-image-1200x675-cropped.png 1200w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmodcmps2-walkaroud-image.png 1280w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/p>\n<p><strong>Applications<\/strong><\/p>\n<p>The MEMSIC MMC34160PJ is good for any project where sensing the Earth&#8217;s magnetic field is desired. This includes any GPS navigation and position sensing.<\/p>\n<p>The <a href=\"https:\/\/digilent.com\/shop\/pmod-cmps2-3-axis-magnetometer\/\">Pmod CMPS2<\/a> is designed to work with any Digilent FPGA, Zynq or MCU board. It can be plugged into any host port on a Digilent FPGA or Zynq system board. With Digilent microcontroller boards, a little more care needs to be taken to figure out which Pmod host port supports the I2C protocol. Once identified however, the Pmod CMPS2 should be easy to get up and running with any Digilent MCU board. Just follow the Quick Start section of the <a href=\"https:\/\/digilent.com\/reference\/pmod\/pmodcmps2\/start\">reference manual!<\/a><\/p>\n<p><strong>Getting Started with the Pmod CMPS2<\/strong><\/p>\n<p>If you are an MCU user, we\u2019ve written some\u00a0<a href=\"https:\/\/digilent.com\/reference\/pmod\/pmodcmps2\/start\">libraries and example code<\/a> to illustrate how to start getting magnetometer data, and then how to convert that data into useful heading measurements.\u00a0The example code was written in the Arduino IDE and should work smoothly with the Digilent core for Arduino. For download instructions, see our <a href=\"https:\/\/digilent.com\/reference\/software\/digilent-core\/start\">tutorial<\/a> on\u00a0how to get started with the Digilent core.<\/p>\n<p>If using the\u00a0<a href=\"https:\/\/digilent.com\/shop\/pmod-cmps2-3-axis-compass\/\">Pmod CMPS2<\/a> with a Digilent FPGA board, see our wiki page titled\u00a0<a href=\"https:\/\/digilent.com\/reference\/internal\/formatting\/tutorial_new\">Using Pmod IPs<\/a>\u00a0for instructions on how to use our\u00a0Pmod CMPS2\u00a0<a href=\"https:\/\/digilent.com\/reference\/learn\/programmable-logic\/tutorials\/pmod-ips\/start\">IP Core<\/a> with MicroBlaze designs.<\/p>\n<p>Questions or comments? Use the comment section below or visit the\u00a0<a href=\"https:\/\/forum.digilent.com\/\">Digilent Forum<\/a>!<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-21350 jlk' data-task='like' data-post_id='21350' data-nonce='3c15ebf169' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-21350 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-21350 jlk' data-task='unlike' data-post_id='21350' data-nonce='3c15ebf169' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-21350 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-21350 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Meet the newest addition to the Pmod family!<\/p>\n","protected":false},"author":26,"featured_media":21402,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,1554],"tags":[],"ppma_author":[4491],"class_list":["post-21350","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-expansion-modules","category-news"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/07\/Pmodcmps2-walkaroud-image.png","authors":[{"term_id":4491,"user_id":26,"is_guest":0,"slug":"talesab","display_name":"Talesa Bleything","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/7445e0f9a1a578bd8aca1528d6ed4c8a?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Bleything","last_name_2":"","first_name":"Talesa","first_name_2":"","job_title":"","description":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/21350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=21350"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/21350\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/21402"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=21350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=21350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=21350"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=21350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}