{"id":21398,"date":"2022-07-08T14:10:06","date_gmt":"2022-07-08T13:10:06","guid":{"rendered":"https:\/\/www.recantha.co.uk\/blog\/?p=21398"},"modified":"2022-07-08T14:21:55","modified_gmt":"2022-07-08T13:21:55","slug":"create-an-access-point-with-the-raspberry-pi-pico-w-serve-a-web-page-and-flash-the-ledcreate-an-access-point-with-the-raspberry-pi-pico-w-serve-a-web-page-and-flash-the-led","status":"publish","type":"post","link":"https:\/\/www.recantha.co.uk\/blog\/?p=21398","title":{"rendered":"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED"},"content":{"rendered":"<p><a href=\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-21399\" src=\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?resize=560%2C420&#038;ssl=1\" alt=\"\" width=\"560\" height=\"420\" srcset=\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?resize=1536%2C1152&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?resize=560%2C420&amp;ssl=1 560w, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?resize=260%2C195&amp;ssl=1 260w, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?resize=160%2C120&amp;ssl=1 160w, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?w=1600&amp;ssl=1 1600w, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?w=1120&amp;ssl=1 1120w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/a><\/p>\n<p>Following various examples, I&#8217;ve created a MicroPython script that does the following:<\/p>\n<ul>\n<li>Create an access point on the Raspberry Pi Pico W.<\/li>\n<li>Create a web server.<\/li>\n<li>Serve a simple page on that web server.<\/li>\n<li>Toggle\/flash the on-board LED when that page is loaded\/refreshed.<\/li>\n<\/ul>\n<p>TL;DR &#8211; <a href=\"https:\/\/github.com\/recantha\/PicoWAccessPoint\" target=\"_blank\" rel=\"noopener\">see the code here<\/a><\/p>\n<h2>Download MicroPython and install it<\/h2>\n<p>First of all, you&#8217;ll need to <a href=\"https:\/\/micropython.org\/download\/rp2-pico-w\/rp2-pico-w-latest.uf2\" target=\"_blank\" rel=\"noopener\">download the\u00a0<em>latest<\/em> MicroPython UF2<\/a>. The one I&#8217;m using is <a href=\"https:\/\/micropython.org\/resources\/firmware\/rp2-pico-w-20220708-unstable-v1.19.1-108-g474c47d59.uf2\">v1.19.1-108-g474c47d59 (2022-07-08) .uf2<\/a> <a href=\"https:\/\/micropython.org\/download\/rp2-pico-w\/\" target=\"_blank\" rel=\"noopener\">from this page<\/a>. I found out via the Raspberry Pi forums that there was something broken on versions earlier than the 07-05 one &#8211; <a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=336901\" target=\"_blank\" rel=\"noopener\">check out the thread here<\/a>.<\/p>\n<p>Next, you will need to put the Pico into bootloader mode and then drag the UF2 file to the external device that comes up.<\/p>\n<h2>Initial access point<\/h2>\n<p>Use Thonny to program the initial code:<\/p>\n<pre>import socket\r\nimport network\r\n\r\nssid = \"PicoW\"\r\npassword = \"123456789\"\r\n\r\nap = network.WLAN(network.AP_IF)\r\nap.config(essid=ssid, password=password) \r\nap.active(True)\r\n\r\nwhile ap.active == False:\r\n  pass\r\n\r\nprint(\"Access point active\")\r\nprint(ap.ifconfig())<\/pre>\n<p>Despite setting the SSID, to start with I got a generic wi-fi name starting with &#8220;PICO&#8221;. In order to get PicoW working, I had to <em>power cycle<\/em> the Pico (rather than just CTRL-D and run again). <a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=336901&amp;start=25#p2017591\" target=\"_blank\" rel=\"noopener\">This is behaviour described here on the RP forums<\/a>.<\/p>\n<p>I tried connecting to it using my mobile and\u00a0<strong>success<\/strong> &#8211; I could connect to the access point, but had no Internet (as expected, obviously).<\/p>\n<h2>Serving a web page<\/h2>\n<p>Now, I want to serve a web page of some kind from the Pico W, otherwise it&#8217;s pretty useless. What&#8217;s the point in having an access point that does nothing?<\/p>\n<p>I found this <a href=\"https:\/\/github.com\/belyalov\/tinyweb\" target=\"_blank\" rel=\"noopener\">MicroPython library called tinyweb<\/a> which is like <a href=\"https:\/\/flask.palletsprojects.com\/en\/2.1.x\/\" target=\"_blank\" rel=\"noopener\">Flask<\/a>, but for MicroPython instead of full-blown Python. This I can use to establish &#8220;routes&#8221; which will deliver specific content via the web browser.<\/p>\n<p>tinyweb requires, as it says in the README, the logging library. I had to scratch around to find that, <a href=\"https:\/\/raw.githubusercontent.com\/micropython\/micropython-lib\/master\/python-stdlib\/logging\/logging.py\" target=\"_blank\" rel=\"noopener\">so here it is<\/a>.<\/p>\n<p>I uploaded the tinyweb folder and the logging.py file to the PicoW and added<\/p>\n<pre>import tinyweb<\/pre>\n<p>at the top of the code. This ran correctly, so I then looked at the tinyweb documentation for how to create a web server.<\/p>\n<p>I added some more code (<a href=\"https:\/\/github.com\/recantha\/PicoWAccessPoint\" target=\"_blank\" rel=\"noopener\">which you can see on my own GitHub repo<\/a> &#8211; WordPress is doing VERY weird things if I paste it in here!)<\/p>\n<p>I connected to the AP again using my phone, <strong>turned off mobile data<\/strong> to make sure it didn&#8217;t try and serve content from the Internet, and then accessed http:\/\/192.168.4.1\/ (which had been printed to the REPL which I could see because I was using Thonny).<\/p>\n<p>To my surprise, I got\u00a0<strong>Hello world!<\/strong> on the browser. Yay! It works!<\/p>\n<h2>Flash the onboard LED<\/h2>\n<p>I added the definition of the onboard LED:<\/p>\n<pre>led = Pin(\"LED\", Pin.OUT)<\/pre>\n<p>and set the \/ path of the tinyweb web server to toggle it on and off.<\/p>\n<p>Now, when I refresh the Hello World page, the LED goes on and off. Wonderful!<\/p>\n<p><a href=\"https:\/\/github.com\/recantha\/PicoWAccessPoint\" target=\"_blank\" rel=\"noopener\">See the code on GitHub<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Following various examples, I&#8217;ve created a MicroPython script that does the following: Create an access point on the Raspberry Pi Pico W. Create a web server. Serve a simple page on that web server. Toggle\/flash the on-board LED when that&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/www.recantha.co.uk\/blog\/?p=21398\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":21399,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the LEDCreate an access point with the Raspberry Pi Pico W, serve a web-page and flash the LED","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[80,33,972],"tags":[1038,1039],"class_list":["post-21398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blinkies","category-networking","category-raspberry-pi-pico","tag-access-point","tag-picow"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED - Raspberry Pi Pod<\/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.recantha.co.uk\/blog\/?p=21398\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED - Raspberry Pi Pod\" \/>\n<meta property=\"og:description\" content=\"Following various examples, I&#8217;ve created a MicroPython script that does the following: Create an access point on the Raspberry Pi Pico W. Create a web server. Serve a simple page on that web server. Toggle\/flash the on-board LED when that&hellip;Read more &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.recantha.co.uk\/blog\/?p=21398\" \/>\n<meta property=\"og:site_name\" content=\"Raspberry Pi Pod\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/recantha\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-08T13:10:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-08T13:21:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michael Horne\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@recantha\" \/>\n<meta name=\"twitter:site\" content=\"@recantha\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael Horne\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398\"},\"author\":{\"name\":\"Michael Horne\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/person\/c27c4ef2ee1c18b130f1fcd5dcdbb263\"},\"headline\":\"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED\",\"datePublished\":\"2022-07-08T13:10:06+00:00\",\"dateModified\":\"2022-07-08T13:21:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398\"},\"wordCount\":500,\"commentCount\":10,\"publisher\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1\",\"keywords\":[\"access point\",\"picow\"],\"articleSection\":[\"Blinkies\",\"Networking\",\"Raspberry Pi Pico\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.recantha.co.uk\/blog\/?p=21398#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398\",\"url\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398\",\"name\":\"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED - Raspberry Pi Pod\",\"isPartOf\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1\",\"datePublished\":\"2022-07-08T13:10:06+00:00\",\"dateModified\":\"2022-07-08T13:21:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.recantha.co.uk\/blog\/?p=21398\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1\",\"width\":1600,\"height\":1200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/?p=21398#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.recantha.co.uk\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#website\",\"url\":\"https:\/\/www.recantha.co.uk\/blog\/\",\"name\":\"Raspberry Pi Pod\",\"description\":\"Experiences with the Raspberry Pi micro computer and microcontroller\",\"publisher\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.recantha.co.uk\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#organization\",\"name\":\"Raspberry Pi Pod\",\"url\":\"https:\/\/www.recantha.co.uk\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2016\/03\/cropped-PiPod-Logo-v3.png?fit=800%2C337&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2016\/03\/cropped-PiPod-Logo-v3.png?fit=800%2C337&ssl=1\",\"width\":800,\"height\":337,\"caption\":\"Raspberry Pi Pod\"},\"image\":{\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/recantha\/\",\"https:\/\/x.com\/recantha\",\"https:\/\/www.linkedin.com\/in\/recantha\/\",\"https:\/\/www.youtube.com\/channel\/UCK4F9blabxzmk8Inzhs8tpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/person\/c27c4ef2ee1c18b130f1fcd5dcdbb263\",\"name\":\"Michael Horne\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/479778b0677caadde0ceb54c4129804ef674914607e3ed0998808148357d10d8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/479778b0677caadde0ceb54c4129804ef674914607e3ed0998808148357d10d8?s=96&d=mm&r=g\",\"caption\":\"Michael Horne\"},\"url\":\"https:\/\/www.recantha.co.uk\/blog\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED - Raspberry Pi Pod","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.recantha.co.uk\/blog\/?p=21398","og_locale":"en_US","og_type":"article","og_title":"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED - Raspberry Pi Pod","og_description":"Following various examples, I&#8217;ve created a MicroPython script that does the following: Create an access point on the Raspberry Pi Pico W. Create a web server. Serve a simple page on that web server. Toggle\/flash the on-board LED when that&hellip;Read more &rarr;","og_url":"https:\/\/www.recantha.co.uk\/blog\/?p=21398","og_site_name":"Raspberry Pi Pod","article_publisher":"https:\/\/www.facebook.com\/recantha\/","article_published_time":"2022-07-08T13:10:06+00:00","article_modified_time":"2022-07-08T13:21:55+00:00","og_image":[{"width":1600,"height":1200,"url":"https:\/\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg","type":"image\/jpeg"}],"author":"Michael Horne","twitter_card":"summary_large_image","twitter_creator":"@recantha","twitter_site":"@recantha","twitter_misc":{"Written by":"Michael Horne","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398#article","isPartOf":{"@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398"},"author":{"name":"Michael Horne","@id":"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/person\/c27c4ef2ee1c18b130f1fcd5dcdbb263"},"headline":"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED","datePublished":"2022-07-08T13:10:06+00:00","dateModified":"2022-07-08T13:21:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398"},"wordCount":500,"commentCount":10,"publisher":{"@id":"https:\/\/www.recantha.co.uk\/blog\/#organization"},"image":{"@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1","keywords":["access point","picow"],"articleSection":["Blinkies","Networking","Raspberry Pi Pico"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.recantha.co.uk\/blog\/?p=21398#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398","url":"https:\/\/www.recantha.co.uk\/blog\/?p=21398","name":"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED - Raspberry Pi Pod","isPartOf":{"@id":"https:\/\/www.recantha.co.uk\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398#primaryimage"},"image":{"@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1","datePublished":"2022-07-08T13:10:06+00:00","dateModified":"2022-07-08T13:21:55+00:00","breadcrumb":{"@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.recantha.co.uk\/blog\/?p=21398"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398#primaryimage","url":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1","width":1600,"height":1200},{"@type":"BreadcrumbList","@id":"https:\/\/www.recantha.co.uk\/blog\/?p=21398#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.recantha.co.uk\/blog"},{"@type":"ListItem","position":2,"name":"Create an access point with the Raspberry Pi Pico W, serve a web-page and flash the on-board LED"}]},{"@type":"WebSite","@id":"https:\/\/www.recantha.co.uk\/blog\/#website","url":"https:\/\/www.recantha.co.uk\/blog\/","name":"Raspberry Pi Pod","description":"Experiences with the Raspberry Pi micro computer and microcontroller","publisher":{"@id":"https:\/\/www.recantha.co.uk\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.recantha.co.uk\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.recantha.co.uk\/blog\/#organization","name":"Raspberry Pi Pod","url":"https:\/\/www.recantha.co.uk\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2016\/03\/cropped-PiPod-Logo-v3.png?fit=800%2C337&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2016\/03\/cropped-PiPod-Logo-v3.png?fit=800%2C337&ssl=1","width":800,"height":337,"caption":"Raspberry Pi Pod"},"image":{"@id":"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/recantha\/","https:\/\/x.com\/recantha","https:\/\/www.linkedin.com\/in\/recantha\/","https:\/\/www.youtube.com\/channel\/UCK4F9blabxzmk8Inzhs8tpg"]},{"@type":"Person","@id":"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/person\/c27c4ef2ee1c18b130f1fcd5dcdbb263","name":"Michael Horne","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.recantha.co.uk\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/479778b0677caadde0ceb54c4129804ef674914607e3ed0998808148357d10d8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/479778b0677caadde0ceb54c4129804ef674914607e3ed0998808148357d10d8?s=96&d=mm&r=g","caption":"Michael Horne"},"url":"https:\/\/www.recantha.co.uk\/blog\/?author=1"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2022\/07\/IMG_20220708_140728529_HDR.jpg?fit=1600%2C1200&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2RsaV-5z8","jetpack-related-posts":[{"id":20803,"url":"https:\/\/www.recantha.co.uk\/blog\/?p=20803","url_meta":{"origin":21398,"position":0},"title":"Use Adafruit&#8217;s CircuitPython on the Raspberry Pi Pico","author":"Michael Horne","date":"6 February 2021","format":false,"excerpt":"At the start of the Raspberry Pi Pico launch, it was only possible to program it in either C\/C++ or MicroPython. A few languages are beginning to make an appearance now, including the quite exciting prospect of Rust running on the board. Today, I'm highlighting Adafruit's CircuitPython. It is similar,\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.recantha.co.uk\/blog\/?cat=39"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/CircuitPython_Repo_header_logo.png?fit=1000%2C380&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/CircuitPython_Repo_header_logo.png?fit=1000%2C380&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/CircuitPython_Repo_header_logo.png?fit=1000%2C380&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/CircuitPython_Repo_header_logo.png?fit=1000%2C380&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":20762,"url":"https:\/\/www.recantha.co.uk\/blog\/?p=20762","url_meta":{"origin":21398,"position":1},"title":"CircuitPython from Adafruit runs on the Raspberry Pi Pico","author":"Michael Horne","date":"21 January 2021","format":false,"excerpt":"As highlighted by Les Pounder on Twitter and again by 'tannewt' (Scott Shawcroft) on the Raspberry Pi Forums, Adafruit's CircuitPython will run on the Raspberry Pi Pico and, more generally, RP2040 boards, such as Adafruit's upcoming Feather 2040. According to this post on the Forum you just follow these instructions:\u2026","rel":"","context":"In &quot;Announcements&quot;","block_context":{"text":"Announcements","link":"https:\/\/www.recantha.co.uk\/blog\/?cat=952"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/01\/EsPzY45XAAAtSgK.jpeg?fit=1094%2C488&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/01\/EsPzY45XAAAtSgK.jpeg?fit=1094%2C488&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/01\/EsPzY45XAAAtSgK.jpeg?fit=1094%2C488&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/01\/EsPzY45XAAAtSgK.jpeg?fit=1094%2C488&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/01\/EsPzY45XAAAtSgK.jpeg?fit=1094%2C488&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":20868,"url":"https:\/\/www.recantha.co.uk\/blog\/?p=20868","url_meta":{"origin":21398,"position":2},"title":"Add LoRaWAN support to your Raspberry Pi Pico with this tutorial","author":"Michael Horne","date":"16 February 2021","format":false,"excerpt":"Mauro Riva has written an excellent tutorial on adding LoRaWAN support to the Raspberry Pi Pico using a cheap Lora board and custom MicroPython firmware. He details how to connect the Lora board up to the Pico before going on to describing how to extend the normal MicroPython firmware to\u2026","rel":"","context":"In &quot;Communications&quot;","block_context":{"text":"Communications","link":"https:\/\/www.recantha.co.uk\/blog\/?cat=904"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pico_lora.jpg?fit=800%2C532&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pico_lora.jpg?fit=800%2C532&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pico_lora.jpg?fit=800%2C532&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pico_lora.jpg?fit=800%2C532&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":20811,"url":"https:\/\/www.recantha.co.uk\/blog\/?p=20811","url_meta":{"origin":21398,"position":3},"title":"Getting set-up with the Pimoroni Pico Explorer and using it to get the demo running","author":"Michael Horne","date":"6 February 2021","format":false,"excerpt":"When products first come out, and the inevitable add-on boards appear, one of the things that you pray for are clear, concise instructions that take you through, step-by-step how to do something basic. The Raspberry Pi Pico is incredibly \"new and exciting\", but I found myself struggling this afternoon trying\u2026","rel":"","context":"In &quot;GPIO boards&quot;","block_context":{"text":"GPIO boards","link":"https:\/\/www.recantha.co.uk\/blog\/?cat=20"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pico-addons-9_1024x1024.jpg?fit=847%2C455&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pico-addons-9_1024x1024.jpg?fit=847%2C455&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pico-addons-9_1024x1024.jpg?fit=847%2C455&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pico-addons-9_1024x1024.jpg?fit=847%2C455&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":20853,"url":"https:\/\/www.recantha.co.uk\/blog\/?p=20853","url_meta":{"origin":21398,"position":4},"title":"Raspberry Pi Pico &#038; giving the Pimoroni Pico Explorer a workout","author":"Michael Horne","date":"12 February 2021","format":false,"excerpt":"Tony Goodhew has written up a great Instructable to help you get the most out of the Pimoroni Pico Explorer using the Pimoroni MicroPython firmware. He uses the screen to do various drawing exercises at a low level (circles, squares, that sort of thing) and also some mathematical function rendering.\u2026","rel":"","context":"In &quot;GPIO boards&quot;","block_context":{"text":"GPIO boards","link":"https:\/\/www.recantha.co.uk\/blog\/?cat=20"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/F3L10PYKKL5KWRG.jpg?fit=1024%2C507&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/F3L10PYKKL5KWRG.jpg?fit=1024%2C507&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/F3L10PYKKL5KWRG.jpg?fit=1024%2C507&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/F3L10PYKKL5KWRG.jpg?fit=1024%2C507&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":20840,"url":"https:\/\/www.recantha.co.uk\/blog\/?p=20840","url_meta":{"origin":21398,"position":5},"title":"Create a miniature version of Space Invaders on an LCD screen with the Raspberry Pi Pico and MicroPython","author":"Michael Horne","date":"10 February 2021","format":false,"excerpt":"James from Print N Play has taken his Raspberry Pi Pico, a mini SSD1306 screen and a potentiometer and created a (very) miniature version of arcade classic Space Invaders. You can see how he did it in his very detailed video below. One of the great things about the video\u2026","rel":"","context":"In &quot;Games&quot;","block_context":{"text":"Games","link":"https:\/\/www.recantha.co.uk\/blog\/?cat=21"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/space_invaders_on_pico.jpg?fit=1200%2C541&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/space_invaders_on_pico.jpg?fit=1200%2C541&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/space_invaders_on_pico.jpg?fit=1200%2C541&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/space_invaders_on_pico.jpg?fit=1200%2C541&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.recantha.co.uk\/blog\/wp-content\/uploads\/2021\/02\/space_invaders_on_pico.jpg?fit=1200%2C541&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/21398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21398"}],"version-history":[{"count":4,"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/21398\/revisions"}],"predecessor-version":[{"id":21403,"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/21398\/revisions\/21403"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/media\/21399"}],"wp:attachment":[{"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.recantha.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}