{"id":6063,"date":"2025-07-24T13:47:55","date_gmt":"2025-07-24T11:47:55","guid":{"rendered":"https:\/\/home.et.utwente.nl\/slootenvanf\/?p=6063"},"modified":"2026-02-03T15:57:03","modified_gmt":"2026-02-03T14:57:03","slug":"heartrate-sensor-raspberry-pi-pico","status":"publish","type":"post","link":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/","title":{"rendered":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico"},"content":{"rendered":"\n<p>Example of use of the MAX30102 heartrate sensor with MicroPython on a Raspberry Pi Pico. This example is based on <a href=\"https:\/\/github.com\/n-elia\/MAX30102-MicroPython-driver\/\" target=\"_blank\" rel=\"noreferrer noopener\">this Maxim MAX30102 driver<\/a>. The MAX30102 is an&nbsp;integrated pulse oximetry and heart-rate monitor biosensor module. <a href=\"https:\/\/www.analog.com\/en\/products\/max30102.html\" target=\"_blank\" rel=\"noreferrer noopener\">Check out its datasheet here.<\/a><\/p>\n\n\n\n<p>The driver used is written for the MAX30102 and might work for the MAX30105 also. Make sure to check your sensor for that (its written on it).<\/p>\n\n\n\n<p>If you have not setup Python and an editor yet, see <a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/15\/getting-started-micropython-pico\/\" target=\"_blank\" rel=\"noreferrer noopener\">this guide &#8220;Getting started with MicroPython on Raspberry Pi Pico&#8221;<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"464\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-1030x464.jpg\" alt=\"\" class=\"wp-image-6076\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-1030x464.jpg 1030w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-300x135.jpg 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-768x346.jpg 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-1536x691.jpg 1536w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-2048x922.jpg 2048w\" sizes=\"auto, (max-width: 1030px) 100vw, 1030px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting the sensor<\/h2>\n\n\n\n<p>Place the sensor on a breadboard, and wire the pins:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Sensor<\/strong><\/td><td><strong>Pico<\/strong><\/td><\/tr><tr><td>VIN<\/td><td>3V3 (Out)<\/td><\/tr><tr><td>GND<\/td><td>GND<\/td><\/tr><tr><td>SDA<\/td><td>I2C1 SDA (GP 10)<\/td><\/tr><tr><td>SCL<\/td><td>I2C1 SCL (GP 11)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-57.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"639\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-57-1030x639.png\" alt=\"\" class=\"wp-image-6064\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-57-1030x639.png 1030w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-57-300x186.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-57-768x477.png 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-57.png 1450w\" sizes=\"auto, (max-width: 1030px) 100vw, 1030px\" \/><\/a><\/figure>\n\n\n\n<p>Check the sensor type you have, as you can see below, this one has MAX30102 clearly written on it. If you have the MAX30100 this tutorial will not work for you. Instead, <a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/28\/heartrate-sensor-max30100-arduino\/\" target=\"_blank\" rel=\"noreferrer noopener\">see this tutorial for the MAX30100<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-58.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"813\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-58-1030x813.png\" alt=\"\" class=\"wp-image-6066\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-58-1030x813.png 1030w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-58-300x237.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-58-768x606.png 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-58.png 1488w\" sizes=\"auto, (max-width: 1030px) 100vw, 1030px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_132335-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"464\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_132335-1030x464.jpg\" alt=\"\" class=\"wp-image-6067\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_132335-1030x464.jpg 1030w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_132335-300x135.jpg 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_132335-768x346.jpg 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_132335-1536x691.jpg 1536w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_132335-2048x922.jpg 2048w\" sizes=\"auto, (max-width: 1030px) 100vw, 1030px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Download and test code example<\/h2>\n\n\n\n<figure class=\"wp-block-image alignright size-full has-lightbox\"><a href=\"https:\/\/github.com\/vanslooten\/heartratesensor\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"448\" height=\"138\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-62.png\" alt=\"\" class=\"wp-image-6072\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-62.png 448w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-62-300x92.png 300w\" sizes=\"auto, (max-width: 448px) 100vw, 448px\" \/><\/a><\/figure>\n\n\n\n<p>You may <a href=\"https:\/\/github.com\/vanslooten\/heartratesensor\" target=\"_blank\" rel=\"noreferrer noopener\">download this example project here<\/a>. It can be used in for instance Visual Studio Code (with Pico extension) or in Thonny.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-59.png\"><img loading=\"lazy\" decoding=\"async\" width=\"914\" height=\"428\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-59.png\" alt=\"\" class=\"wp-image-6068\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-59.png 914w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-59-300x140.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-59-768x360.png 768w\" sizes=\"auto, (max-width: 914px) 100vw, 914px\" \/><\/a><\/figure>\n\n\n\n<p>Extract the zip-file and open the folder. The script <strong>i2scan.py<\/strong> can be used to see if there is an i2c connection with the sensor. If there is, it displays the address of the sensor, usually [87].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-60.png\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"640\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-60.png\" alt=\"\" class=\"wp-image-6069\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-60.png 960w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-60-300x200.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-60-768x512.png 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/a><\/figure>\n\n\n\n<p>Before you can run the other scripts, you must upload the lib folder to the Pico, as that contains the max30102 library. In Visual Studio Code, you can do this via &#8220;All commands&#8221; on the bottom bar, choose &#8220;MicroPico: Upload project to Pico&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-64.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"315\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-64-1030x315.png\" alt=\"\" class=\"wp-image-6084\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-64-1030x315.png 1030w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-64-300x92.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-64-768x235.png 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-64.png 1359w\" sizes=\"auto, (max-width: 1030px) 100vw, 1030px\" \/><\/a><\/figure>\n\n\n\n<p>In Thonny, right click the lib folder and choose &#8220;Upload to \/&#8221; (you may also select all files and folders in a project to upload it entirely):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-65.png\"><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"549\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-65.png\" alt=\"\" class=\"wp-image-6086\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-65.png 920w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-65-300x179.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-65-768x458.png 768w\" sizes=\"auto, (max-width: 920px) 100vw, 920px\" \/><\/a><\/figure>\n\n\n\n<p>Now give the other scripts a try (run those).<\/p>\n\n\n\n<p><strong>heartrate.py<\/strong> is the most advanced, and should be showing the heartrate in BPM:<br>(do not forget to put your finger on the sensor)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-61.png\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"640\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-61.png\" alt=\"\" class=\"wp-image-6070\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-61.png 960w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-61-300x200.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-61-768x512.png 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/a><\/figure>\n\n\n\n<p>Let it run for 10 readings or more, after which it will also display the running average, which gives a better indication of the actual rate.<\/p>\n\n\n\n<p>Apart from heart rate, the sensor can also read SPO2 data. <a href=\"https:\/\/github.com\/n-elia\/MAX30102-MicroPython-driver\/\" target=\"_blank\" rel=\"noreferrer noopener\">Read the driver page<\/a> for more on that. It also has hints on plotting data in CSV format and plotting graphs from that.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plotting data<\/h2>\n\n\n\n<p>In the Thonny editor, you can visualize the heartrate using the Plotter (<em>View &gt; Plotter<\/em>): <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-63.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1030\" height=\"496\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-63-1030x496.png\" alt=\"\" class=\"wp-image-6080\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-63-1030x496.png 1030w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-63-300x144.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-63-768x370.png 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/image-63.png 1334w\" sizes=\"auto, (max-width: 1030px) 100vw, 1030px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Example of use of the MAX30102 heartrate sensor with MicroPython on a Raspberry Pi Pico. This example is based on this Maxim MAX30102 driver. The MAX30102 is an&nbsp;integrated pulse oximetry and heart-rate monitor biosensor module. Check out its datasheet here. The driver used is written for the MAX30102 and might work for the MAX30105 also. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6076,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[3],"tags":[562,555,528,95,529,161],"class_list":["post-6063","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education","tag-heartrate","tag-micropython","tag-pico","tag-programming","tag-raspberrypi","tag-sensor"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico - vanslooten.com<\/title>\n<meta name=\"description\" content=\"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico - vanslooten.com\" \/>\n<meta property=\"og:description\" content=\"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico\" \/>\n<meta property=\"og:url\" content=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/\" \/>\n<meta property=\"og:site_name\" content=\"vanslooten.com\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-24T11:47:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-03T14:57:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1152\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fjodor van Slooten\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fjodorvs\" \/>\n<meta name=\"twitter:site\" content=\"@fjodorvs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fjodor van Slooten\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/\"},\"author\":{\"name\":\"Fjodor van Slooten\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"headline\":\"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico\",\"datePublished\":\"2025-07-24T11:47:55+00:00\",\"dateModified\":\"2026-02-03T14:57:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/\"},\"wordCount\":412,\"publisher\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"image\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/IMG_20250724_135318-scaled.jpg\",\"keywords\":[\"heartrate\",\"micropython\",\"pico\",\"programming\",\"raspberrypi\",\"sensor\"],\"articleSection\":[\"Education\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/\",\"name\":\"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico - vanslooten.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/IMG_20250724_135318-scaled.jpg\",\"datePublished\":\"2025-07-24T11:47:55+00:00\",\"dateModified\":\"2026-02-03T14:57:03+00:00\",\"description\":\"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/#primaryimage\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/IMG_20250724_135318-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/IMG_20250724_135318-scaled.jpg\",\"width\":2560,\"height\":1152},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2025\\\/07\\\/24\\\/heartrate-sensor-raspberry-pi-pico\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#website\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/\",\"name\":\"vanslooten.com\",\"description\":\"Personal website of Fjodor van Slooten\",\"publisher\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\",\"name\":\"Fjodor van Slooten\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"contentUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"width\":300,\"height\":214,\"caption\":\"Fjodor van Slooten\"},\"logo\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\"},\"sameAs\":[\"http:\\\/\\\/vanslooten.com\",\"https:\\\/\\\/x.com\\\/fjodorvs\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico - vanslooten.com","description":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico","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:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/","og_locale":"en_US","og_type":"article","og_title":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico - vanslooten.com","og_description":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico","og_url":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/","og_site_name":"vanslooten.com","article_published_time":"2025-07-24T11:47:55+00:00","article_modified_time":"2026-02-03T14:57:03+00:00","og_image":[{"width":2560,"height":1152,"url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-scaled.jpg","type":"image\/jpeg"}],"author":"Fjodor van Slooten","twitter_card":"summary_large_image","twitter_creator":"@fjodorvs","twitter_site":"@fjodorvs","twitter_misc":{"Written by":"Fjodor van Slooten","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/#article","isPartOf":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/"},"author":{"name":"Fjodor van Slooten","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"headline":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico","datePublished":"2025-07-24T11:47:55+00:00","dateModified":"2026-02-03T14:57:03+00:00","mainEntityOfPage":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/"},"wordCount":412,"publisher":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"image":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/#primaryimage"},"thumbnailUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-scaled.jpg","keywords":["heartrate","micropython","pico","programming","raspberrypi","sensor"],"articleSection":["Education"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/","name":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico - vanslooten.com","isPartOf":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#website"},"primaryImageOfPage":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/#primaryimage"},"image":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/#primaryimage"},"thumbnailUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-scaled.jpg","datePublished":"2025-07-24T11:47:55+00:00","dateModified":"2026-02-03T14:57:03+00:00","description":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico","breadcrumb":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/#primaryimage","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-scaled.jpg","contentUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2025\/07\/IMG_20250724_135318-scaled.jpg","width":2560,"height":1152},{"@type":"BreadcrumbList","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2025\/07\/24\/heartrate-sensor-raspberry-pi-pico\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/home.et.utwente.nl\/slootenvanf\/"},{"@type":"ListItem","position":2,"name":"Setup a heartrate sensor (MAX30102) with a Raspberry Pi Pico"}]},{"@type":"WebSite","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#website","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/","name":"vanslooten.com","description":"Personal website of Fjodor van Slooten","publisher":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/home.et.utwente.nl\/slootenvanf\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd","name":"Fjodor van Slooten","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","contentUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","width":300,"height":214,"caption":"Fjodor van Slooten"},"logo":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg"},"sameAs":["http:\/\/vanslooten.com","https:\/\/x.com\/fjodorvs"]}]}},"_links":{"self":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/6063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/comments?post=6063"}],"version-history":[{"count":14,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/6063\/revisions"}],"predecessor-version":[{"id":6760,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/6063\/revisions\/6760"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/media\/6076"}],"wp:attachment":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/media?parent=6063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/categories?post=6063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/tags?post=6063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}