{"id":2933,"date":"2021-04-25T16:04:55","date_gmt":"2021-04-25T14:04:55","guid":{"rendered":"https:\/\/www.pschatzmann.ch\/home\/?p=2933"},"modified":"2021-04-28T14:24:22","modified_gmt":"2021-04-28T12:24:22","slug":"a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio","status":"publish","type":"post","link":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/","title":{"rendered":"An Arduino Logic Analyzer for the Raspberry Pico using the PIO"},"content":{"rendered":"<p>Together with <a href=\"https:\/\/sigrok.org\/wiki\/PulseView\">Pulseview<\/a>, the Raspberry Pico can be turned into a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Logic_analyzer\">Logic Analyzer<\/a>.<\/p>\n<p>I demonstrated how to build a simple SUMP logic analyzer with my Arduino <a href=\"https:\/\/github.com\/pschatzmann\/logic-analyzer\">logic-analyzer library<\/a> in <a href=\"https:\/\/www.pschatzmann.ch\/home\/category\/logicanalyzer\/\">my last blogs<\/a>.<\/p>\n<p>In this Blog, I demonstrate how to use the PIO which allows much higher capturing speeds. In theory you we might capture up to 125 MHz. This is well above the 2.5 MHz which is achievable with a regular CPU based approach.<\/p>\n<h2>Arduino Sketch<\/h2>\n<p>Here is a the Arduino Sketch which uses the PIO:<\/p>\n<pre><code>#include \"Arduino.h\"\n#include \"capture_raspberry_pico.h\"\nusing namespace logic_analyzer;  \n\nint pinStart=START_PIN;\nint numberOfPins=PIN_COUNT;\nLogicAnalyzer logicAnalyzer;\nPicoCapturePIO capture;\n\n\/\/ Use Event handler to cancel capturing\nvoid onEvent(Event event) {\n    if (event == STATUS) {\n        switch (logicAnalyzer.status()) {\n            case ARMED:\n                digitalWrite(LED_BUILTIN, LOW);\n                break;\n            case STOPPED:\n                capture.cancel();\n                digitalWrite(LED_BUILTIN, LOW);\n                break;\n        }\n    }\n}\n\n\/\/\/ Generates a test PWM signal\nvoid activateTestSignal(int testPin, float dutyCyclePercent) {\n    log(\"Starting PWM test signal with duty %f %\", dutyCyclePercent);\n    pinMode(testPin, OUTPUT);\n    int value = dutyCyclePercent \/ 100.0 * 255.0;\n    analogWrite(testPin, value);\n}\n\nvoid setup() {\n    Serial.begin(SERIAL_SPEED);  \n    Serial.setTimeout(SERIAL_TIMEOUT);\n    pinMode(LED_BUILTIN, OUTPUT);\n\n    \/\/ generate test signal\n    activateTestSignal(pinStart, 90.0);\n\n    logicAnalyzer.setDescription(\"Raspberry-Pico-PIO\");\n    logicAnalyzer.setEventHandler(&amp;onEvent);\n    logicAnalyzer.begin(Serial, &amp;capture, MAX_CAPTURE_SIZE, pinStart, numberOfPins);\n}\n\nvoid loop() {\n    if (Serial) logicAnalyzer.processCommand();\n}\n<\/code><\/pre>\n<p>The big change to the original Sketch is, that we replace the generic <a href=\"https:\/\/pschatzmann.github.io\/logic-analyzer\/html\/classlogic__analyzer_1_1_capture.html\">Capture class<\/a> with the <a href=\"https:\/\/pschatzmann.github.io\/logic-analyzer\/html\/classlogic__analyzer_1_1_pico_capture_p_i_o.html\">PicoCapturePIO<\/a>. We also register an event handler, that activates the LED when the capturing is in progress.<\/p>\n<p>The line <code>activateTestSignal(pinStart, 90.0);<\/code> is used for testing and it generates a test PWM signal with a 90% duty cycle on the first pin.<\/p>\n<p>You can find the example in the <a href=\"https:\/\/github.com\/pschatzmann\/logic-analyzer\/tree\/main\/examples\/logic-analyzer-pico-pio\">examples directory<\/a>. To build it just execute:<\/p>\n<pre><code>mkdir build\ncd build\ncmake ..\nmake\n<\/code><\/pre>\n<h2>Pulseview<\/h2>\n<p>After you have deployed the Sketch you can use it in Pulseview.<\/p>\n<p>Start Pulseview<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.20.39-300x220.png\" alt=\"\" width=\"100%\" class=\"alignnone size-medium wp-image-2945\" srcset=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.20.39-300x220.png 300w, https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.20.39-768x563.png 768w, https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.20.39.png 948w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Click on the <strong>Device<\/strong> button and fill out the form:<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.22.37-245x300.png\" alt=\"\" width=\"100%\"  class=\"alignnone size-medium wp-image-2946\" srcset=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.22.37-245x300.png 245w, https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.22.37.png 553w\" sizes=\"(max-width: 245px) 100vw, 245px\" \/><\/p>\n<p>Finally Confirm with <strong>OK<\/strong><\/p>\n<p>To start the capturing, select the frequency and the sample size and click on the <strong>Run<\/strong> button:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.23.20-300x177.png\" alt=\"\" width=\"100%\"  class=\"alignnone size-medium wp-image-2947\" srcset=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.23.20-300x177.png 300w, https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.23.20-768x453.png 768w, https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/Screen-Shot-2021-04-25-at-16.23.20.png 1131w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>And you can see the PWM test impulse on pin 0!<\/p>\n<p>I hope I could demonstrate how easy it is to develop a dedicated custom Arduino based <strong>Logic Analyzer<\/strong> for your preferred processor&#8230;<\/p>\n<h2>Final Remarks:<\/h2>\n<p>The current PicoCapturePIO class does not implement any trigger support and this is currently not a priority for me. So if you have some spare time, any help will be appreciated!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Together with Pulseview, the Raspberry Pico can be turned into a Logic Analyzer. I demonstrated how to build a simple SUMP logic analyzer with my Arduino logic-analyzer library in my last blogs. In this Blog, I demonstrate how to use the PIO which allows much higher capturing speeds. In theory [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[20,25,10],"tags":[],"class_list":["post-2933","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-logicanalyzer","category-projects"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>An Arduino Logic Analyzer for the Raspberry Pico using the PIO - Phil Schatzmann<\/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.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An Arduino Logic Analyzer for the Raspberry Pico using the PIO - Phil Schatzmann\" \/>\n<meta property=\"og:description\" content=\"Together with Pulseview, the Raspberry Pico can be turned into a Logic Analyzer. I demonstrated how to build a simple SUMP logic analyzer with my Arduino logic-analyzer library in my last blogs. In this Blog, I demonstrate how to use the PIO which allows much higher capturing speeds. In theory [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/\" \/>\n<meta property=\"og:site_name\" content=\"Phil Schatzmann\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-25T14:04:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-28T12:24:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/raspberry.png\" \/>\n\t<meta property=\"og:image:width\" content=\"200\" \/>\n\t<meta property=\"og:image:height\" content=\"252\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"pschatzmann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"pschatzmann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/\"},\"author\":{\"name\":\"pschatzmann\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"headline\":\"An Arduino Logic Analyzer for the Raspberry Pico using the PIO\",\"datePublished\":\"2021-04-25T14:04:55+00:00\",\"dateModified\":\"2021-04-28T12:24:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/\"},\"wordCount\":275,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/raspberry.png\",\"articleSection\":[\"Arduino\",\"LogicAnalyzer\",\"Projects\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/\",\"name\":\"An Arduino Logic Analyzer for the Raspberry Pico using the PIO - Phil Schatzmann\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/raspberry.png\",\"datePublished\":\"2021-04-25T14:04:55+00:00\",\"dateModified\":\"2021-04-28T12:24:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/raspberry.png\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/raspberry.png\",\"width\":200,\"height\":252},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2021\\\/04\\\/25\\\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"An Arduino Logic Analyzer for the Raspberry Pico using the PIO\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\",\"name\":\"Phil Schatzmann Consulting\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\",\"name\":\"pschatzmann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"width\":305,\"height\":305,\"caption\":\"pschatzmann\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"An Arduino Logic Analyzer for the Raspberry Pico using the PIO - Phil Schatzmann","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.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/","og_locale":"en_US","og_type":"article","og_title":"An Arduino Logic Analyzer for the Raspberry Pico using the PIO - Phil Schatzmann","og_description":"Together with Pulseview, the Raspberry Pico can be turned into a Logic Analyzer. I demonstrated how to build a simple SUMP logic analyzer with my Arduino logic-analyzer library in my last blogs. In this Blog, I demonstrate how to use the PIO which allows much higher capturing speeds. In theory [&hellip;]","og_url":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/","og_site_name":"Phil Schatzmann","article_published_time":"2021-04-25T14:04:55+00:00","article_modified_time":"2021-04-28T12:24:22+00:00","og_image":[{"width":200,"height":252,"url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/raspberry.png","type":"image\/png"}],"author":"pschatzmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pschatzmann","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/#article","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/"},"author":{"name":"pschatzmann","@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"headline":"An Arduino Logic Analyzer for the Raspberry Pico using the PIO","datePublished":"2021-04-25T14:04:55+00:00","dateModified":"2021-04-28T12:24:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/"},"wordCount":275,"commentCount":2,"publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/raspberry.png","articleSection":["Arduino","LogicAnalyzer","Projects"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/","url":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/","name":"An Arduino Logic Analyzer for the Raspberry Pico using the PIO - Phil Schatzmann","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/#primaryimage"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/raspberry.png","datePublished":"2021-04-25T14:04:55+00:00","dateModified":"2021-04-28T12:24:22+00:00","breadcrumb":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/#primaryimage","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/raspberry.png","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2021\/04\/raspberry.png","width":200,"height":252},{"@type":"BreadcrumbList","@id":"https:\/\/www.pschatzmann.ch\/home\/2021\/04\/25\/a-dedicated-arduino-logic-analyzer-for-the-raspberry-pico-using-the-pio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pschatzmann.ch\/home\/"},{"@type":"ListItem","position":2,"name":"An Arduino Logic Analyzer for the Raspberry Pico using the PIO"}]},{"@type":"WebSite","@id":"https:\/\/www.pschatzmann.ch\/home\/#website","url":"https:\/\/www.pschatzmann.ch\/home\/","name":"Phil Schatzmann Consulting","description":"","publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pschatzmann.ch\/home\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1","name":"pschatzmann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","width":305,"height":305,"caption":"pschatzmann"},"logo":{"@id":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png"}}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/2933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/comments?post=2933"}],"version-history":[{"count":30,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/2933\/revisions"}],"predecessor-version":[{"id":2935,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/2933\/revisions\/2935"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media\/2884"}],"wp:attachment":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media?parent=2933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/categories?post=2933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/tags?post=2933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}