{"id":318,"date":"2021-05-13T03:13:22","date_gmt":"2021-05-13T03:13:22","guid":{"rendered":"https:\/\/vegaprocessors.in\/blog\/?p=318"},"modified":"2022-10-13T06:49:52","modified_gmt":"2022-10-13T06:49:52","slug":"interfacing-max30102-pulse-oximeter-to-thejas-soc","status":"publish","type":"post","link":"https:\/\/vegaprocessors.in\/blog\/interfacing-max30102-pulse-oximeter-to-thejas-soc\/","title":{"rendered":"Interfacing MAX30102 Pulse Oximeter to ARIES v2 Board"},"content":{"rendered":"\n<p>The MAX30102 is integrated pulse oximetry and a heart-rate monitor module. It includes internal LEDs, photodetectors, optical elements, and low-noise electronics with ambient light rejection. The MAX30102 provides a complete system solution to ease the design-in process for mobile and wearable devices.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>MAX30102 Pulse Oximeter<\/strong><\/h2>\n\n\n\n<p>The MAX30102 operates on a single 1.8V power supply and a separate +3.3V power supply for the internal LEDs. Communication is through a standard I2C-compatible interface. The module can be shut down through software with zero standby current, allowing the power rails to remain powered at all times. Pulse oximetry monitors the oxygen saturation in blood by measuring the magnitude of reflected red and infrared light. Pulse oximeters can also approximate heart rate by analyzing the time series response of the reflected red and infrared light.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/MAX30102-Pulse-Oximeter-0001-2.jpg\" alt=\"\" class=\"wp-image-324\" width=\"434\" height=\"434\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/MAX30102-Pulse-Oximeter-0001-2.jpg 500w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/MAX30102-Pulse-Oximeter-0001-2-300x300.jpg 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/MAX30102-Pulse-Oximeter-0001-2-150x150.jpg 150w\" sizes=\"auto, (max-width: 434px) 100vw, 434px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"block-62e47c35-651d-4696-8f4d-08be7dd5105a\">Circuit Diagram<\/h2>\n\n\n\n<p id=\"block-4e8ef8bb-4567-4296-898a-cf0c08762c47\">MAX30102 Pulse Oximeter is composed of 4 pins, VCC, GND, and two I2C pins(SCL and SDA). Connect VCC and GND to +3.3V and GND respectively.&nbsp;Then connect SCL of the sensor module to SCL-1  and SDA  to SDA-1 of the ARIES v2 Board.<\/p>\n\n\n\n<p>Now, for powering up and programming the code into the ARIES v2 Board, we have to connect a <strong>micro USB type B<\/strong> (common data cable, used for mobile charging and data transfer) in the <strong>UART0<\/strong> port of the ARIES v2 Board, to a Laptop\/Desktop\/PC with preinstalled VEGA SDK and Toolchain.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"808\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2022\/05\/pinmap_Ar_max30102-1024x808.jpg\" alt=\"\" class=\"wp-image-1214\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2022\/05\/pinmap_Ar_max30102-1024x808.jpg 1024w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2022\/05\/pinmap_Ar_max30102-300x237.jpg 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2022\/05\/pinmap_Ar_max30102-768x606.jpg 768w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2022\/05\/pinmap_Ar_max30102.jpg 1471w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>MAX30102<\/strong><\/td><td><strong>ARIES v2 Board<\/strong><\/td><\/tr><tr><td>VCC  <\/td><td>+3V3<\/td><\/tr><tr><td>GND <\/td><td>GND<\/td><\/tr><tr><td>SCL<\/td><td>SCL-1<\/td><\/tr><tr><td>SDA<\/td><td>SDA-1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"block-7a0a9834-86d5-496f-9fa4-b61a6727e762\"><strong>Procedure<\/strong><\/h2>\n\n\n\n<p id=\"block-27fa69ee-9ba3-440a-9bc8-09d8a8f1a19c\">After setting up the toolchain and SDK path environments, build the example program for the MAX30102 sensor by :<\/p>\n\n\n\n<pre id=\"block-bf929da4-e055-434b-859b-1051bab14a41\" class=\"wp-block-code\"><code>cd vega-sdk\/examples\/i2c\/max30102_sensor_demo<\/code><\/pre>\n\n\n\n<p><strong>make clean<\/strong> command to clean the executable :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make clean<\/code><\/pre>\n\n\n\n<p>then use the <strong>make <\/strong>command to build it.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make<\/code><\/pre>\n\n\n\n<p>Now, we can transfer the built program to the board, before transfer please ensure that you have connected the UART0 connector of the board to the PC.<\/p>\n\n\n\n<p id=\"block-cb9344b9-902b-4e5f-b9be-f3eddcf9a9a7\">Open a new terminal and execute the following command.<\/p>\n\n\n\n<pre id=\"block-4ab398c2-9cb7-4fbd-ab87-bbb9766142bd\" class=\"wp-block-code\"><code>sudo minicom aries<\/code><\/pre>\n\n\n\n<p id=\"block-52229726-39b3-408c-af27-b18372661b5e\">Now you can see the minicom terminal opened and the board UART terminal is ready.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\" id=\"block-8ad55d6f-5d2a-4d97-ba45-01d289945531\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"689\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/minicom-4.png\" alt=\"\" class=\"wp-image-587\" srcset=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/minicom-4.png 820w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/minicom-4-300x252.png 300w, https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/minicom-4-768x645.png 768w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/figure>\n\n\n\n<p id=\"block-4d3b3030-98bd-4bae-876f-e0d0dc559709\">Use CTRL+A S to enter the file sending menu and select <strong>xmodem <\/strong>by pressing <strong>Enter<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"block-b33b6d25-ae7f-4a5a-9520-0b75d11f7101\"><img decoding=\"async\" src=\"https:\/\/vegaprocessors.in\/blog\/wp-content\/uploads\/2021\/05\/Screenshot-from-2021-04-30-16-14-03.png\" alt=\"This image has an empty alt attribute; its file name is Screenshot-from-2021-04-30-16-14-03.png\"\/><\/figure>\n\n\n\n<p id=\"block-c3909641-d457-4a01-bef5-dc6b99af41f0\">In the next window, with the <strong>Space bar<\/strong>, select the <strong>max30102_sensor_demo.bin<\/strong> file to be transferred, by pressing <strong>Enter<\/strong>, the transfer process starts.<\/p>\n\n\n\n<p id=\"block-13cc147b-5a95-486b-95a1-2145be787418\">Wait until the process is completed. The screen should display how much data has been transferred.<\/p>\n\n\n\n<p id=\"block-710eeddb-3539-430d-b21e-90b9ca2b8749\">After completing the transfer, the program will start to execute.<\/p>\n\n\n\n<p id=\"block-7d3f92a3-0a8f-422b-b8a1-1c81c1c965fc\"><\/p>\n\n\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"MAX30102 Pulse Oximeter and  Heart Rate Sensor Demo using VEGA Processor [ RISC-V ISA]\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/UsenaIHCJ0s?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>for additional pieces of information:<\/p>\n\n\n\n<p><a href=\"https:\/\/datasheets.maximintegrated.com\/en\/ds\/MAX30102.pdf\">https:\/\/datasheets.maximintegrated.com\/en\/ds\/MAX30102.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The MAX30102 is integrated pulse oximetry and a heart-rate monitor module. It includes internal LEDs, photodetectors, optical elements, and low-noise electronics with ambient light rejection. The MAX30102 provides a complete system solution to ease the design-in process for mobile and wearable devices. MAX30102 Pulse Oximeter The MAX30102 operates on a single 1.8V power supply and [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,14,1],"tags":[75,7,66,45,26,31,24],"class_list":["post-318","post","type-post","status-publish","format-standard","hentry","category-getting-started","category-tutorials","category-uncategorized","tag-aries-v2-board","tag-cdac","tag-iic","tag-max30102-pulse-oximeter","tag-thejas-64","tag-thejas32","tag-vegaprocessor"],"_links":{"self":[{"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/posts\/318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/comments?post=318"}],"version-history":[{"count":27,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/posts\/318\/revisions"}],"predecessor-version":[{"id":2158,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/posts\/318\/revisions\/2158"}],"wp:attachment":[{"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/media?parent=318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/categories?post=318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vegaprocessors.in\/blog\/wp-json\/wp\/v2\/tags?post=318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}