{"id":623,"date":"2021-01-30T15:11:05","date_gmt":"2021-01-30T15:11:05","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=623"},"modified":"2023-11-25T20:40:52","modified_gmt":"2023-11-25T20:40:52","slug":"raspberry-pi-pico-and-micropython-on-windows","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/","title":{"rendered":"Raspberry Pi Pico and MicroPython on Windows"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image-1024x576.png\" alt=\"Raspberry Pi Pico and MicroPython on Windows Title Image\" class=\"wp-image-6201\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image-1024x576.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image-300x169.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image-768x432.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image-18x10.png 18w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>This article answers the question: How do I use the Raspberry Pi Pico with MicroPython on Windows? We also show how to install the right driver for &#8220;Board CDC&#8221; (which the Pico will show up as once MicroPython is installed) on Windows 8.1. (We will also discuss the differences between MicroPython and CircuitPython where applicable &#8211; where the board will be called &#8220;CircuitPython CDC Control&#8221;.) <\/p>\n\n\n\n<p>Finally, we&#8217;ll show how to connect to the Pico using PuTTY, and a more comfortable option using Thonny (which is a Python IDE, integrated with the Pico!)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction: What is the Pico &amp; what is MicroPython?<\/h2>\n\n\n\n<p>The <a href=\"https:\/\/www.raspberrypi.org\/products\/raspberry-pi-pico\/\">Raspberry Pi Pico<\/a> is a new microcontroller board from Raspberry Pi, sporting the in-house developed RP2040 microcontroller chip. <\/p>\n\n\n\n<p>Raspberry Pi have designed lots of cool features into the RP2040 (my favorite is PIO &#8211; programmable IO, where you can emulate lots of hardware interfaces which require precise timing, etc. &#8211; I&#8217;ll go into it in another article in the future), and the Pico is a really nice reference platform on which the RP2040 is implemented.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-mit-rp2040?variant=37942462972084\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"732\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/PICO-BOARD-ANGLE-WHITE1-1024x732.jpg\" alt=\"\" class=\"wp-image-624\" style=\"width:559px;height:399px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/PICO-BOARD-ANGLE-WHITE1-1024x732.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/PICO-BOARD-ANGLE-WHITE1-300x214.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/PICO-BOARD-ANGLE-WHITE1-768x549.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/PICO-BOARD-ANGLE-WHITE1-1536x1097.jpg 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/PICO-BOARD-ANGLE-WHITE1.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-mit-rp2040?variant=37942462972084\">Raspberry Pi Pico, a 4 $ microcontroller board<\/a><\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">How is a Raspberry Pi Pico different from a Raspberry Pi Zero W?<\/h3>\n\n\n\n<p>The difference between a microcontroller (like the <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-mit-rp2040?variant=37942462972084\">Pico<\/a>) and a single-board computer (<a href=\"https:\/\/buyzero.de\/collections\/boards-kits\/products\/raspberry-pi-zero-w?variant=38399156114\">let&#8217;s say Pi Zero W<\/a>) is roughly this: you program the Pico directly (e.g., in C), <strong>without an operating system<\/strong>, whereas the<a href=\"https:\/\/buyzero.de\/collections\/boards-kits\/products\/raspberry-pi-zero-w?variant=38399156114\"> Pi Zero W<\/a> will usually run Linux. <\/p>\n\n\n\n<p>This has advantages, like real-time, but also disadvantages &#8211; you need to know more about the hardware you are using, and need to implement a lot of functionality which you would take for granted on a modern operating system (e.g. file access). <\/p>\n\n\n\n<p>The Pico has fewer resources compared to the Pi Zero W (e.g. significantly less RAM, no VideoCore GPU, etc.) &#8211; but it draws less power, and has additional features, like the aforementioned PIO, and analog inputs (ADC). <\/p>\n\n\n\n<p>The Pico is a good choice for projects which do not necessarily require network connectivity, HDMI output, camera input and processing. In other words, if you want to interface with hardware, have a long battery life, etc &#8211; then the Pico is for you.  <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What software already exists for the Pico?<\/h3>\n\n\n\n<p>The Pico can be flashed using different software, which is provided in <strong>UF2 files<\/strong> (<a href=\"https:\/\/www.raspberrypi.org\/documentation\/pico\/getting-started\/\">see Pico getting started guide<\/a>). Raspberry Pi provides several UF2 files to get you started:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.raspberrypi.org\/documentation\/pico\/getting-started\/static\/5d8e777377e8dbe23cf36360d6efc727\/pico_micropython_20210121.uf2\">MicroPython <\/a>(which will be the focus of this article) and a close cousin, CircuitPython<\/li>\n\n\n\n<li><a href=\"https:\/\/www.raspberrypi.org\/documentation\/pico\/getting-started\/static\/85aac7081a166b7a3d0739970c3927c9\/blink.uf2\">Blink an LED<\/a> (Blink UF2)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.raspberrypi.org\/documentation\/pico\/getting-started\/static\/d211f824b207c328c7cae7b0ff733187\/hello_world.uf2\">Hello world<\/a> (will say &#8220;Hello world&#8221; if you connect through a terminal)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.raspberrypi.org\/documentation\/pico\/getting-started\/static\/d6bbb56350627ecd9cf080cbee142b28\/picoprobe.uf2\">Picoprobe <\/a>(use one Pico to debug another Pico)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.raspberrypi.org\/documentation\/pico\/getting-started\/static\/6f6f31460c258138bd33cc96ddd76b91\/flash_nuke.uf2\">Reset flash memory<\/a> (will set the Flash memory to empty)<\/li>\n<\/ul>\n\n\n\n<p>There is lots more <a href=\"https:\/\/github.com\/raspberrypi\/pico-examples\">of examples to be found here<\/a> (C code).<\/p>\n\n\n\n<p><strong>Note: <\/strong>I&#8217;m linking to the newest UF2 files as of 30.01.2021 &#8211; specifically MicroPython might be updated, so be sure to check the <a href=\"https:\/\/www.raspberrypi.org\/documentation\/pico\/getting-started\/\">Raspberry Pi Pico getting started page<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MicroPython<\/h3>\n\n\n\n<p>If the prospect of going full-in and programming in C seems a little bit daunting to you, you can get started in MicroPython. In this case, some software is pre-installed to the Raspberry Pi Pico (the MicroPython UF2 file), which will run a small Python interpreter.<\/p>\n\n\n\n<p>It&#8217;s called MicroPython because it doesn&#8217;t support the full Python 3 standard library. MicroPython is intended for constrained environments, like the Pico. The Pico has a total of 2 MB RAM &#8211; this will not fit everything Python 3 brings along with it. Check <a href=\"https:\/\/github.com\/micropython\/micropython\/wiki\/Differences\">this Github page for differences of CPython to MicroPython<\/a>. Also, here&#8217;s the official <a href=\"http:\/\/micropython.org\/\">MicroPython homepage<\/a>, and the <strong><a href=\"http:\/\/docs.micropython.org\/en\/latest\/index.html\">official MicroPython documentation<\/a><\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">CircuitPython<\/h3>\n\n\n\n<p>Note: most of the instructions also apply to CircuitPython RP2040 based boards on Windows, e.g. the Adafruit Feather RP2040, but you will need to follow a bit different steps &#8211; I will point out the differences in this article. <\/p>\n\n\n\n<p>CircuitPython is basically a variant of MicroPython which is being developed by Adafruit. <\/p>\n\n\n\n<p>The board itself will be called differently in your device manager after flashing (CircuitPython CDC Control) &#8211; and you will need different software of course. Here&#8217;s what you need, to start:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/circuitpython.org\/board\/adafruit_feather_rp2040\/\">Adafruit Feather RP2040 Download page<\/a> (CircuitPython 7.0.0 UF2 file)<\/li>\n<\/ul>\n\n\n\n<p>In this article, we will also show you how to install CircuitPython libraries on RP2040 based devices on Windows, and how to run and stop programs using Thonny. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What will you get with the MicroPython UF2? <\/h3>\n\n\n\n<p>Once MicroPython is installed on the Pico, you&#8217;ll be able to connect to the Pico using the serial console (we will show how in this article), and start writing Python code on the Pico.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing MicroPython on the Pico<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Remove power from the Pico<\/li>\n\n\n\n<li>Press the BOOTSEL button and keep it pressed<\/li>\n\n\n\n<li>plug in the Pico to your PC using a microUSB to USB cable<\/li>\n\n\n\n<li>now you can release the BOOTSEL button<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"498\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-Pico-features-1024x498.jpg\" alt=\"\" class=\"wp-image-627\" style=\"width:676px;height:328px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-Pico-features-1024x498.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-Pico-features-300x146.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-Pico-features-768x373.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-Pico-features-1536x747.jpg 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-Pico-features.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Press the BOOTSEL button and keep it pressed before plugging in the microUSB cable <\/figcaption><\/figure>\n<\/div>\n\n\n<p>The Pico should be visible in your filesystem now, as RPI-RP2:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"567\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-1024x567.png\" alt=\"\" class=\"wp-image-628\" style=\"width:667px;height:369px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-1024x567.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-300x166.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-768x426.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image.png 1155w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">The Pico shows up as RPI-RP2<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>(Sidenote: I wonder what RPI-RP1 was?)<\/em><\/p>\n\n\n\n<p>The Pico emulates a FAT32 flash drive, which has two files in it: INDEX.HTM and INFO_UF2.TXT.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"856\" height=\"666\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-1.png\" alt=\"\" class=\"wp-image-629\" style=\"width:630px;height:490px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-1.png 856w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-1-300x233.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-1-768x598.png 768w\" sizes=\"auto, (max-width: 856px) 100vw, 856px\" \/><figcaption class=\"wp-element-caption\">Windows Drive Manager<\/figcaption><\/figure>\n<\/div>\n\n\n<p>In fact, Windows Drive Manager shows Pico to be a 128 MB FAT flash drive.<\/p>\n\n\n\n<p><strong>Don&#8217;t make the mistake of trying to store any files on the Pico<\/strong> <strong>this way<\/strong>: they will be silently dropped. Even if it looks like they&#8217;re written, that&#8217;s just Windows caching the operations &#8211; your files will be gone! Did I mention already that the Pico actually has only 2MB Flash? It&#8217;s shamelessly lying about the 128MB here (the RP2040 is supposed to support up to 16MB flash by the way, AFAIK). <\/p>\n\n\n\n<p><em>Sidenote: This reminds me a bit of my trip to India, where I bought thumb drives with 128 GB capacity &#8211; which would write your data to Nirvana. When I tried to return the drive and get my money back, the vendor was gone&#8230; the adventures to be had \ud83d\ude42<\/em><\/p>\n\n\n\n<p>However, if you copy the right kind of file &#8211; the UF2 file &#8211; to this drive, it will be recognized and written. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"998\" height=\"454\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-2.png\" alt=\"\" class=\"wp-image-630\" style=\"width:670px;height:305px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-2.png 998w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-2-300x136.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-2-768x349.png 768w\" sizes=\"auto, (max-width: 998px) 100vw, 998px\" \/><figcaption class=\"wp-element-caption\">Copying the Micropython UF2 file to the Pico<\/figcaption><\/figure>\n<\/div>\n\n\n<p>You can drag &amp; drop it from your browser, after having downloaded it, or copy &amp; paste it. Once it&#8217;s completed copying, the Pico will reboot automatically, and you won&#8217;t see a flash drive anymore. <\/p>\n\n\n\n<p>Note: If you want to use CircuitPython, of course use the CircuitPython UF2 file instead in this step. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"866\" height=\"675\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-3.png\" alt=\"\" class=\"wp-image-631\" style=\"width:673px;height:524px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-3.png 866w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-3-300x234.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-3-768x599.png 768w\" sizes=\"auto, (max-width: 866px) 100vw, 866px\" \/><figcaption class=\"wp-element-caption\">After reboot, the Pico is gone from the Windows drive manager<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The Pico now (after the reboot) runs MicroPython, which provides a serial port (COM-port) via USB. (In technical terms, this is USB device class 02 = <strong>Communications and CDC Control<\/strong> and USB device SubClass 02). <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting to the Pico, Windows 10<\/h2>\n\n\n\n<p>Windows 10 makes it easy for us to connect to the Pico, as the necessary COM-Port driver (usbser.inf) will be automatically installed and activated for you.<\/p>\n\n\n\n<p>To check which COM Port it&#8217;s on, open your device manager:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"842\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/windows-10-devicemanager--1024x842.jpg\" alt=\"\" class=\"wp-image-634\" style=\"width:677px;height:556px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/windows-10-devicemanager--1024x842.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/windows-10-devicemanager--300x247.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/windows-10-devicemanager--768x632.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/windows-10-devicemanager-.jpg 1267w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">To open the device manager, type device in the Windows search, and click on Device Manager<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Here, you&#8217;ll be able to see the new USB Serial Device, with the COM port number (which you&#8217;ll need in a second to connect), under Ports (COM &amp; LPT). <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-pi-pico-micropython-serialdevice-com3-1024x746.jpg\" alt=\"\" class=\"wp-image-635\" style=\"width:634px;height:461px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-pi-pico-micropython-serialdevice-com3-1024x746.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-pi-pico-micropython-serialdevice-com3-300x219.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-pi-pico-micropython-serialdevice-com3-768x560.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/raspberry-pi-pico-micropython-serialdevice-com3.jpg 1183w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">A new serial device has appeared, which allows you to connect to the Pico<\/figcaption><\/figure>\n<\/div>\n\n\n<p>To double-check that this is indeed the Pico, running MicroPython, you can do the following: <\/p>\n\n\n\n<p>Click on View, and select Devices by Container:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-view-1024x746.jpg\" alt=\"\" class=\"wp-image-636\" style=\"width:626px;height:455px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-view-1024x746.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-view-300x219.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-view-768x560.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-view.jpg 1198w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">The Device Manager allows you to show devices in different views<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Here you&#8217;ll see an entry &#8220;Board in FS mode&#8221;, with the two nodes &#8220;USB Composite Device&#8221; and &#8220;USB Serial Device (<strong>COM3<\/strong>)&#8221;. The COM3 is important, you will need to use it for PuTTY (see below).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"767\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-1024x767.jpg\" alt=\"\" class=\"wp-image-637\" style=\"width:627px;height:470px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-1024x767.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-300x225.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container-768x576.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/devices-by-container.jpg 1169w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>We can investigate the devices further by right-clicking on them, and selecting the appropriate properties entry from the context menu. The properties for Board in FS mode are empty:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"680\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/board-in-fs-mode-properties-main.jpg\" alt=\"\" class=\"wp-image-638\" style=\"width:428px;height:485px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/board-in-fs-mode-properties-main.jpg 600w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/board-in-fs-mode-properties-main-265x300.jpg 265w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p>The USB Composite Device shows &#8220;Board in FS mode&#8221; as it&#8217;s Bus reported device description:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"702\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/board-in-fs-mode.jpg\" alt=\"\" class=\"wp-image-639\" style=\"width:428px;height:496px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/board-in-fs-mode.jpg 606w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/board-in-fs-mode-259x300.jpg 259w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/figure>\n<\/div>\n\n\n<p>Note: this is the Pico running MicroPython. When you reflash it with different software, it will show different results here!<\/p>\n\n\n\n<p>The USB serial device itself will show some interesting properties:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"628\" height=\"390\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-board-cdc.jpg\" alt=\"\" class=\"wp-image-640\" style=\"width:444px;height:276px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-board-cdc.jpg 628w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-board-cdc-300x186.jpg 300w\" sizes=\"auto, (max-width: 628px) 100vw, 628px\" \/><figcaption class=\"wp-element-caption\">The Bus reported device description is &#8220;Board CDC&#8221;<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Note: the board device description will be &#8220;CircuitPython CDC Control&#8221; instead of &#8220;Board CDC&#8221; if you are using CircuitPython. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"619\" height=\"692\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-port-settings.jpg\" alt=\"\" class=\"wp-image-641\" style=\"width:453px;height:506px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-port-settings.jpg 619w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-port-settings-268x300.jpg 268w\" sizes=\"auto, (max-width: 619px) 100vw, 619px\" \/><figcaption class=\"wp-element-caption\">The default port setings are 9600 bits per second, 8 data bits, no parity, 1 stop bit, no flow control &#8211; and they work (see below)<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"684\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-usb-class-subclass.jpg\" alt=\"\" class=\"wp-image-642\" style=\"width:446px;height:498px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-usb-class-subclass.jpg 612w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-usb-class-subclass-268x300.jpg 268w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><figcaption class=\"wp-element-caption\">The USB class is 02 and the USB subclass is 02<\/figcaption><\/figure>\n<\/div>\n\n\n<p>If you know what you are looking for, the Hardware IDs (VID = vendor id, and PID = product id) are useful:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"611\" height=\"689\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-vendorid-product-id.jpg\" alt=\"\" class=\"wp-image-643\" style=\"width:457px;height:515px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-vendorid-product-id.jpg 611w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/micropython-vendorid-product-id-266x300.jpg 266w\" sizes=\"auto, (max-width: 611px) 100vw, 611px\" \/><\/figure>\n<\/div>\n\n\n<p>VID_2E8A -&gt; the vendor id is <strong>2E8A <\/strong>(in hex) or <strong>11914 <\/strong>(in decimal), which is <strong>Raspberry Pi<\/strong><\/p>\n\n\n\n<p>PID_0005 -&gt; the product id is <strong>5<\/strong>, which the board will show when running MicroPython (the default product id is <strong>3<\/strong>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sidenote: Chrome Browser debug log<\/h3>\n\n\n\n<p>This information can also be obtained using the Chrome browser. <\/p>\n\n\n\n<p><a href=\"chrome:\/\/device-log\">chrome:\/\/device-log<\/a><\/p>\n\n\n\n<p>will allow you to see the currently attached Devices<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"90\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-4-1024x90.png\" alt=\"\" class=\"wp-image-644\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-4-1024x90.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-4-300x26.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-4-768x68.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-4-1536x135.png 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-4.png 1874w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">In the screenshot above you see the output of Chrome&#8217;s device log, showing how the Pico shows up as &#8220;Raspberry Pi&#8221;, &#8220;RP2 Boot&#8221; before flashing with MicroPython, and as &#8220;MicroPython&#8221;, &#8220;Board in FS mode&#8221;. Notice the different product ids!<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Back to Windows 10: <\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"607\" height=\"685\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/usbser.inf-installed-windows10.jpg\" alt=\"\" class=\"wp-image-647\" style=\"width:426px;height:481px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/usbser.inf-installed-windows10.jpg 607w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/usbser.inf-installed-windows10-266x300.jpg 266w\" sizes=\"auto, (max-width: 607px) 100vw, 607px\" \/><\/figure>\n<\/div>\n\n\n<p>As you see in the screenshot above, Windows 10 automatically installed usbser (USB Serial Driver) for you &#8211; so you can get started with the Pico immediately.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PuTTY<\/h2>\n\n\n\n<p>PuTTY is a telnet \/ SSH client. You will use it to connect to the Pico, and talk to MicroPython&#8217;s REPL. <a href=\"https:\/\/www.chiark.greenend.org.uk\/~sgtatham\/putty\/latest.html\">Download PuTTY here<\/a>. (You can go with the 64-bit MSI Windows Installer for most Windows 10 installations).<\/p>\n\n\n\n<p>Open PuTTY. Enter the right settings:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"668\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/putty-setup.jpg\" alt=\"\" class=\"wp-image-650\" style=\"width:476px;height:468px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/putty-setup.jpg 680w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/putty-setup-300x295.jpg 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Connection type needs to be set to <strong>Serial<\/strong><\/li>\n\n\n\n<li>Serial Line needs to be set to whatever your investigation from above yielded. In my case, this is <strong>COM3<\/strong>. In your case it most likely will be something different!<\/li>\n\n\n\n<li>Speed can be left at 9600 for now<\/li>\n<\/ul>\n\n\n\n<p>Click on Open, and a Terminal will open:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"988\" height=\"580\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/putty-hello-world.jpg\" alt=\"\" class=\"wp-image-651\" style=\"width:656px;height:385px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/putty-hello-world.jpg 988w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/putty-hello-world-300x176.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/putty-hello-world-768x451.jpg 768w\" sizes=\"auto, (max-width: 988px) 100vw, 988px\" \/><\/figure>\n<\/div>\n\n\n<p>To get the initial prompt, press Enter once<\/p>\n\n\n\n<p>Then you can start writing Python code after the prompt, which will be interpreted immediately. Try entering the classic &#8220;Hello world&#8221;:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"print(&quot;Hello world!&quot;)\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Hello world!<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>MicroPython will reply with<\/p>\n\n\n\n<p><em>Hello world!<\/em><\/p>\n\n\n\n<p>as expected \ud83d\ude42<\/p>\n\n\n\n<p>Now that the initial contact is established, I wish you happy coding! <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Thonny: a Python IDE, works with Pico!<\/h2>\n\n\n\n<p>Using PuTTY is not very comfortable for longer sessions, or when you want to load a lot of code into your Pico. Luckily, the open source application Thonny (which is installed by default on Raspberry Pi OS) is also available for Windows and integrates Pico (MicroPython and CircuitPython) support<\/p>\n\n\n\n<p><strong>Step One<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/thonny.org\/\">Download Thonny here<\/a>, and install it<\/p>\n\n\n\n<p><strong>Step Two<\/strong><\/p>\n\n\n\n<p>Connect your Pico, as described above &#8211; it now should have a COM-Number &#8211; if you wish, you can test using the PuTTY method described above, whether you can reach your Pico.<\/p>\n\n\n\n<p><strong>Step Three<\/strong><\/p>\n\n\n\n<p>Start Thonny, and click on the <strong>Tools<\/strong> menu, choose <strong>Options<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"724\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image.png\" alt=\"\" class=\"wp-image-684\" style=\"width:604px;height:534px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image.png 819w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-300x265.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-768x679.png 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><figcaption class=\"wp-element-caption\">Thonny default start up screen on Windows, Tools menu, select Options here.<\/figcaption><\/figure>\n<\/div>\n\n\n<p><strong>Step Four<\/strong>: set Pico as the interpreter<\/p>\n\n\n\n<p>Click on the Interpreter tab. You will see this screen by default:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"707\" height=\"607\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-1.png\" alt=\"\" class=\"wp-image-685\" style=\"width:616px;height:529px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-1.png 707w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-1-300x258.png 300w\" sizes=\"auto, (max-width: 707px) 100vw, 707px\" \/><figcaption class=\"wp-element-caption\">The same interpreter which runs Thonny (default) is the default Interpeter<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Click and select MicroPython (Raspberry Pi Pico)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"300\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-2.png\" alt=\"\" class=\"wp-image-686\" style=\"width:604px;height:278px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-2.png 652w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-2-300x138.png 300w\" sizes=\"auto, (max-width: 652px) 100vw, 652px\" \/><figcaption class=\"wp-element-caption\">MicroPython (Raspberry Pi Pico) support is built-in into Thonny<\/figcaption><\/figure>\n<\/div>\n\n\n<p><strong>Note<\/strong>: if you are using <strong>CircuitPython<\/strong>, you instead need to select &#8220;<strong>CircuitPython (generic)<\/strong>&#8221; from this dropdown menu.<\/p>\n\n\n\n<p>You can leave the port at &#8220;try to detect port automatically&#8221;, or set a specific port (we&#8217;ve seen above how the correct port number can be determined).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"708\" height=\"606\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-3.png\" alt=\"\" class=\"wp-image-687\" style=\"width:568px;height:486px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-3.png 708w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-3-300x257.png 300w\" sizes=\"auto, (max-width: 708px) 100vw, 708px\" \/><figcaption class=\"wp-element-caption\">Try to detect port automatically<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Note: the port should still show up in the drop down, so it might be a good idea to double-check it&#8217;s there:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"627\" height=\"121\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-4.png\" alt=\"\" class=\"wp-image-688\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-4.png 627w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-4-300x58.png 300w\" sizes=\"auto, (max-width: 627px) 100vw, 627px\" \/><figcaption class=\"wp-element-caption\">on my computer, the Board CDC (Pico with MicroPython) is on the port COM5<\/figcaption><\/figure>\n<\/div>\n\n\n<p>I&#8217;m leaving it as &#8220;try to detect port automatically&#8221;. <strong>Click OK to save the setting.<\/strong><\/p>\n\n\n\n<p>Your screen should now change to this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"818\" height=\"722\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-5.png\" alt=\"\" class=\"wp-image-689\" style=\"width:575px;height:508px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-5.png 818w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-5-300x265.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-5-768x678.png 768w\" sizes=\"auto, (max-width: 818px) 100vw, 818px\" \/><figcaption class=\"wp-element-caption\">Note the MicroPython prompt, with Raspberry Pi Pico with RP2040<\/figcaption><\/figure>\n<\/div>\n\n\n<p><strong>Step five: test<\/strong><\/p>\n\n\n\n<p>Now you can test the communication with the Pico.<\/p>\n\n\n\n<p>Type<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"print(&quot;Hello world&quot;)\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Hello world<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>into the MicroPython prompt, and press enter<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"794\" height=\"263\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-6.png\" alt=\"\" class=\"wp-image-690\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-6.png 794w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-6-300x99.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-6-768x254.png 768w\" sizes=\"auto, (max-width: 794px) 100vw, 794px\" \/><figcaption class=\"wp-element-caption\">Hello world, the picockpit.com way \ud83d\ude42<\/figcaption><\/figure>\n<\/div>\n\n\n<p>You&#8217;ll see the Pico responding to you.<\/p>\n\n\n\n<p>Congratulations, you have successfully connected Thonny with the Pico on Windows!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">More complex scripts: Blinking an LED with Thonny<\/h3>\n\n\n\n<p>The REPL (read evaluate print loop) you&#8217;ve just seen is nice, but for more complex projects, we&#8217;d like to enter the source first, or load it from a file.<\/p>\n\n\n\n<p>This is what the top part of the Thonny window can be used for. <\/p>\n\n\n\n<p>Enter your code. In my example, we&#8217;ll blink the onboard LED (which is the hardware hello world equivalent!), and loop forever.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import time\nfrom machine import Pin\nprint(&quot;Welcome to Pico example 2, blinking an LED&quot;)\nled = Pin(25, Pin.OUT)\n# For demo purposes, we have an infinite loop here\nwhile True:\n    led.high()\n    time.sleep(0.5)\n    led.low()\n    time.sleep(0.5)\n\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">time<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">machine<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">print<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Welcome to Pico example 2, blinking an LED<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">led<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(25<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">OUT<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #8FBCBB\">For<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">demo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">purposes<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">we<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">have<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">an<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">infinite<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">loop<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">here<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">while<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">True<\/span><span style=\"color: #D8DEE9FF\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">led<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">high<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">time<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">sleep<\/span><span style=\"color: #D8DEE9FF\">(0.5)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">led<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">low<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #8FBCBB\">time<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">sleep<\/span><span style=\"color: #D8DEE9FF\">(0.5)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Pay attention to proper indentation in Python (whitespace is used for control purposes in Python!)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"731\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-7.png\" alt=\"\" class=\"wp-image-693\" style=\"width:586px;height:523px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-7.png 819w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-7-300x268.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-7-768x685.png 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><figcaption class=\"wp-element-caption\">The code to blink the on-board LED<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Now click on the &#8220;run&#8221; button<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"24\" height=\"34\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-8.png\" alt=\"\" class=\"wp-image-694\" style=\"width:24px;height:34px\"\/><\/figure>\n<\/div>\n\n\n<p>Thonny will ask you where to save to<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"286\" height=\"248\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-9.png\" alt=\"\" class=\"wp-image-695\"\/><figcaption class=\"wp-element-caption\">Save to this computer or Raspberry Pi Pico?<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Select Raspberry Pi Pico:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"736\" height=\"496\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-10.png\" alt=\"\" class=\"wp-image-696\" style=\"width:585px;height:394px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-10.png 736w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-10-300x202.png 300w\" sizes=\"auto, (max-width: 736px) 100vw, 736px\" \/><\/figure>\n<\/div>\n\n\n<p>I&#8217;ve chosen to name the file hello.py &#8211; Click on OK to save it<\/p>\n\n\n\n<p>Once the OK button is pressed, your code will start executing. The on-board LED of the Pico should start blinking, and you&#8217;ll see the output in the Shell:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"732\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-11.png\" alt=\"\" class=\"wp-image-697\" style=\"width:629px;height:562px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-11.png 819w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-11-300x268.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-11-768x686.png 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><figcaption class=\"wp-element-caption\">%Run -c $EDITOR_CONTENT<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Note: I did not have to enter the %Run -c $EDITOR_CONTENT command, Thonny was doing it itself. The output below is from our code.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">CircuitPython on Thonny on Windows<\/h3>\n\n\n\n<p>Follow the same steps, but select CircuitPython (generic) as interpreter.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"708\" height=\"606\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-5.png\" alt=\"\" class=\"wp-image-1146\" style=\"width:594px;height:508px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-5.png 708w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-5-300x257.png 300w\" sizes=\"auto, (max-width: 708px) 100vw, 708px\" \/><\/figure>\n<\/div>\n\n\n<p>The Thonny shell will show you a different confirmation:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1009\" height=\"483\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-6.png\" alt=\"\" class=\"wp-image-1147\" style=\"width:640px;height:306px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-6.png 1009w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-6-300x144.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-6-768x368.png 768w\" sizes=\"auto, (max-width: 1009px) 100vw, 1009px\" \/><figcaption class=\"wp-element-caption\">It says: Adafruit CircuitPython 7.0.0 on 2021-09-20; Adafruit Feather RP2040 with rp2040<br>Adafruit CircuitPython 7.0.0 on 2021-09-20; Adafruit Feather RP2040 with rp2040<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Windows 8.1<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"232\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-5.png\" alt=\"\" class=\"wp-image-654\" style=\"width:764px;height:222px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-5.png 798w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-5-300x87.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-5-768x223.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><figcaption class=\"wp-element-caption\">The Raspberry Pi Pico is &#8220;Board CDC&#8221;, and shown in an error state<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Windows 8.1 will NOT automatically load the serial driver, and show the device in an error state.  <\/p>\n\n\n\n<p>Note: with CircuitPython, the name of the device will be &#8220;CircuitPython CDC control&#8221; instead. Same procedure. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"291\" height=\"116\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-1.png\" alt=\"\" class=\"wp-image-1134\"\/><figcaption class=\"wp-element-caption\">CircuitPython CDC control in Windows 8.1<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Here&#8217;s how the properties for Board CDC (the Pico running MicroPython) look like:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"547\" height=\"565\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-6.png\" alt=\"\" class=\"wp-image-655\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-6.png 547w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-6-290x300.png 290w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"567\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-7.png\" alt=\"\" class=\"wp-image-656\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-7.png 548w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-7-290x300.png 290w\" sizes=\"auto, (max-width: 548px) 100vw, 548px\" \/><\/figure>\n<\/div>\n\n\n<p>It says that the drivers for this device were not installed (Code 28). <\/p>\n\n\n\n<p>A solution to solve this problem is the <a href=\"https:\/\/zadig.akeo.ie\/\">Zadig tool<\/a>, which you can download for free:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/zadig.akeo.ie\/downloads\/\"><strong>Download Zadig-2.5.exe here<\/strong><\/a><\/li>\n<\/ul>\n\n\n\n<p><strong>Attention: <\/strong>A number of virus scanners seem to agree that the installer_x64.exe contained in Zadig 2.7 has &#8220;Trojan.Tedy&#8221;.  Maybe this is a false alarm, however: I recommend to use <strong>Zadig-2.5.exe<\/strong> instead, which did not give me these warnings (just verified a second time). Better safe than sorry!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"271\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-19.png\" alt=\"\" class=\"wp-image-671\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-19.png 560w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-19-300x145.png 300w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>Zadig <\/strong>helps you to install generic USB drivers to help you access USB devices. <\/p>\n\n\n\n<p>In our case we want the USB Serial (CDC) driver.<\/p>\n\n\n\n<p>Select Board CDC (Interface 0) from the dropdown menu above, the USB Serial (CDC) in the other field. Click on Install Driver. <\/p>\n\n\n\n<p>After the installation, you will see that the driver is now set to usbser (v1.0.0.0):<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"316\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-20.png\" alt=\"\" class=\"wp-image-673\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-20.png 689w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-20-300x138.png 300w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><\/figure>\n<\/div>\n\n\n<p>And you&#8217;ll be able to connect, as I&#8217;ve described in Windows 10, using the correct COM port number:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"796\" height=\"189\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-22.png\" alt=\"\" class=\"wp-image-675\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-22.png 796w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-22-300x71.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-22-768x182.png 768w\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" \/><figcaption class=\"wp-element-caption\">Device manager showing the Board CDC now with driver<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"846\" height=\"537\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-21.png\" alt=\"\" class=\"wp-image-674\" style=\"width:783px;height:497px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-21.png 846w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-21-300x190.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-21-768x487.png 768w\" sizes=\"auto, (max-width: 846px) 100vw, 846px\" \/><figcaption class=\"wp-element-caption\">Hello world for MicroPython on Pico using Windows 8.1<\/figcaption><\/figure>\n<\/div>\n\n\n<p>sidenote:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"560\" height=\"565\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-23.png\" alt=\"\" class=\"wp-image-676\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-23.png 560w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-23-297x300.png 297w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/image-23-150x150.png 150w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><figcaption class=\"wp-element-caption\">This is the dialog, showing libwdi as driver manufacturer<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Pico\/Serial Port on Windows 7<\/h2>\n\n\n\n<p>According to a customer, <a href=\"https:\/\/zadig.akeo.ie\/\">Zadig <\/a>helped to install the serial port driver on Windows 7 as well, and the Pico was usable afterwards! Be sure to use <a href=\"https:\/\/zadig.akeo.ie\/downloads\/\">Zadig 2.5<\/a>, as the newer Zadig 2.7 was flagged by my Virus Scanner during driver installation. (Not sure why, but better safe than sorry &#8211; the old one works)  <\/p>\n\n\n\n<p>If you need a step-by-step guide, check out the guide for Windows 8.1 above &#8211; it should be pretty similar on a Windows 8.1 machine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing libraries and programming a CircuitPython RP2040 board in Windows<\/h2>\n\n\n\n<p>If you are using for example an Adafruit Feather RP2040, you might want to use CircuitPython on it. Adafruit has a <a href=\"https:\/\/learn.adafruit.com\/adafruit-feather-rp2040-pico\/built-in-neopixel-led\">NeoPixel RGB<\/a> on it, which needs libraries to be installed into the <strong>lib <\/strong>folder on the device. <\/p>\n\n\n\n<p>(note: <a href=\"https:\/\/learn.adafruit.com\/adafruit-feather-rp2040-pico\/built-in-neopixel-led\">download the libraries here<\/a> &#8211; click on the &#8220;Download Project Bundle&#8221; link). <\/p>\n\n\n\n<p>When you extract the project bundle folder, you&#8217;ll see two different subfolders with CircuitPython 6.x and CircuitPython 7.x <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"241\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-7.png\" alt=\"\" class=\"wp-image-1152\" style=\"width:692px;height:224px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-7.png 745w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-7-300x97.png 300w\" sizes=\"auto, (max-width: 745px) 100vw, 745px\" \/><\/figure>\n<\/div>\n\n\n<p>I&#8217;m using the CircuitPython 7.x version here, as I flashed the <a href=\"https:\/\/circuitpython.org\/board\/adafruit_feather_rp2040\/\">7.0.0 CircuitPython version<\/a>. <\/p>\n\n\n\n<p>You will notice a drive called &#8220;CIRCUITPY&#8221; in your Explorer:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"375\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-8-1024x375.png\" alt=\"\" class=\"wp-image-1153\" style=\"width:769px;height:281px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-8-1024x375.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-8-300x110.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-8-768x281.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-8.png 1130w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">CIRCUITPY drive and it&#8217;s initial contents (lib, boot_out.txt, code.py)<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The <strong>lib <\/strong>folder is empty with a fresh installation of CircuitPython. Using the Windows Explorer we can simply copy &amp; paste files in here. <\/p>\n\n\n\n<p> Copy the required libraries from the downloaded lib folder into the CIRCUITPY lib folder:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"957\" height=\"223\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-9.png\" alt=\"\" class=\"wp-image-1154\" style=\"width:771px;height:179px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-9.png 957w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-9-300x70.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-9-768x179.png 768w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><figcaption class=\"wp-element-caption\">copying the necessary libraries to the lib folder<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Now we can also overwrite code.py:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"577\" height=\"407\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-10.png\" alt=\"\" class=\"wp-image-1155\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-10.png 577w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-10-300x212.png 300w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><figcaption class=\"wp-element-caption\">replace code.py<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Using Thonny we can edit and run the code.py file. Click the open icon in Thonny, and select &#8220;CircuitPython device&#8221; in the &#8220;Where to open from&#8221; dialog:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"334\" height=\"250\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-11.png\" alt=\"\" class=\"wp-image-1156\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-11.png 334w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-11-300x225.png 300w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><figcaption class=\"wp-element-caption\">Select CircuitPython device here<\/figcaption><\/figure>\n<\/div>\n\n\n<p> And here you can open code.py:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"739\" height=\"495\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-12.png\" alt=\"\" class=\"wp-image-1157\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-12.png 739w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-12-300x201.png 300w\" sizes=\"auto, (max-width: 739px) 100vw, 739px\" \/><figcaption class=\"wp-element-caption\">Click on code.py and OK<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Now your Thonny window should look a bit like this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"373\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-13-1024x373.png\" alt=\"\" class=\"wp-image-1158\" style=\"width:760px;height:276px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-13-1024x373.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-13-300x109.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-13-768x280.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-13-1536x560.png 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-13.png 1915w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">code.py shown at the top, the Shell shown at the bottom<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Press F5 on your keyboard, or click the run icon <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"29\" height=\"30\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-14.png\" alt=\"\" class=\"wp-image-1159\" style=\"width:29px;height:30px\"\/><figcaption class=\"wp-element-caption\">the run icon<\/figcaption><\/figure>\n<\/div>\n\n\n<p>If all went well, the NeoPixel RGB LED on your Adafruit Feather RP2040 should now start to flash in different colors. Congratulations \ud83d\ude42<\/p>\n\n\n\n<p>Now you can go ahead and play around with the script &#8211; possibly you could modify the colors, or the time between the color changes? Or add other functions. <\/p>\n\n\n\n<p>In order to be able to run your modified script, press Ctrl + C in the Shell (or select Run &gt; Interrupt Execution in the Thonny Menu). Now you can upload  your script again. <\/p>\n\n\n\n<p>A great thing for debugging is that you will get console output with Thonny, so you can use print statements to output information:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"511\" height=\"336\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-15.png\" alt=\"\" class=\"wp-image-1160\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-15.png 511w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-15-300x197.png 300w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><figcaption class=\"wp-element-caption\">Thonny outputting print statements from the Adafruit Feather RP2040<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Adafruit CircuitPython Bundle <\/h3>\n\n\n\n<p>Adafruit provides a convenient download of multiple libraries in a ZIP. Download the corresponding adafruit-circuitpython-bundle-7.x.-mpy or -6.x. mpy <a href=\"https:\/\/github.com\/adafruit\/Adafruit_CircuitPython_Bundle\/releases\">here<\/a>. You can install several or all of the libraries as discussed above simply using Windows Explorer.  A complete upload of all libraries would be about 1.2 MB big, the Adafruit Feather RP2040 has enough space to allow this. Copying might take a couple of minutes.  <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"579\" height=\"374\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-16.png\" alt=\"\" class=\"wp-image-1165\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-16.png 579w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-16-300x194.png 300w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Misc. notes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Can I use the procedures in this guide for CircuitPython, as well? <\/h3>\n\n\n\n<p>Absolutely, yes. For example you can use Zadig on Windows 8.1 (see the description above for details. Use version 2.5.730 of Zadig!). You will be looking for a &#8220;CircuitPython CDC control&#8221; device instead of the &#8220;Board CDC&#8221; device.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"688\" height=\"317\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-2.png\" alt=\"\" class=\"wp-image-1136\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-2.png 688w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-2-300x138.png 300w\" sizes=\"auto, (max-width: 688px) 100vw, 688px\" \/><figcaption class=\"wp-element-caption\">Zadig for the CircuitPython CDC control device<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Driver installation fails with Zadig? <\/h3>\n\n\n\n<p>This might be due to Antivirus software. Maybe a false alarm, but I can&#8217;t be sure of that. My Virus scanner (Bitdefender) tells me the following: <\/p>\n\n\n\n<p>&#8220;Die Datei C:\\Users\\Max\\usb_driver\\installer_x64.exe ist mit Gen:Variant.Tedy.11444 infiziert und wurde in die Quarant\u00e4ne verschoben. Wir empfehlen die Durchf\u00fchrung eines System-Scans, um weitere Infektionen auszuschlie\u00dfen.&#8221; <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"488\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-3-1024x488.png\" alt=\"\" class=\"wp-image-1140\" style=\"width:764px;height:364px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-3-1024x488.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-3-300x143.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-3-768x366.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-3-1536x732.png 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/11\/image-3.png 1629w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>A number of virus scanners seem to agree that the installer_x64.exe (part of the USB driver) has &#8220;Trojan.Tedy&#8221;. I recommend to try using Zadig-2.5.exe instead. <a href=\"https:\/\/zadig.akeo.ie\/downloads\/\">Which you can download here<\/a>. I&#8217;ve used Zadig-2.5 to install a CircuitPython USB serial driver on my Windows 8.1 installation (which is my main machine). <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I stop code execution on the Pico in Thonny?<\/h3>\n\n\n\n<p>Click into the Shell, and press Ctrl+C. This should stop the current code execution:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"732\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-12.png\" alt=\"\" class=\"wp-image-698\" style=\"width:658px;height:587px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-12.png 821w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-12-300x267.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-12-768x685.png 768w\" sizes=\"auto, (max-width: 821px) 100vw, 821px\" \/><figcaption class=\"wp-element-caption\">KeyboardInterrupt stopped the code<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Repeating previous statements in Thonny<\/h3>\n\n\n\n<p>It is convenient to run the same command again &#8211; press the up key on the keyboard in the shell prompt to call up a history of previous commands.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I know when my Pi Pico is disconnected from Thonny?<\/h3>\n\n\n\n<p>You&#8217;ll get an error message when trying to run code, something like this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"588\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-13-1024x588.png\" alt=\"\" class=\"wp-image-699\" style=\"width:699px;height:401px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-13-1024x588.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-13-300x172.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-13-768x441.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-13.png 1157w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Error querying global variables, serial.serialutil.SerialTimeoutException: Write timeout<\/figcaption><\/figure>\n<\/div>\n\n\n<p>This means that Thonny can&#8217;t write to the serial port the Pico is expected to be on.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"729\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-14.png\" alt=\"\" class=\"wp-image-700\" style=\"width:694px;height:618px\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-14.png 819w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-14-300x267.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/02\/image-14-768x684.png 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Couldn&#8217;t find the device automatically error in Thonny<\/h3>\n\n\n\n<p>If you get the following error:<\/p>\n\n\n\n<p><em>Couldn&#8217;t find the device automatically.<br>Check the connection (making sure the device is not in bootloader mode) or choose<br>&#8220;Configure interpreter&#8221; in the interpreter menu (bottom-right corner of the window)<br>to select specific port or another interpreter.<\/em><\/p>\n\n\n\n<p>Check that you have selected the right interpreter. If your device runs CircuitPython instead of MicroPython, you need to select <strong>CircuitPython (generic)<\/strong> as interpreter in Thonny. See the relevant information in this article for instructions.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Your tips for Pico\/MicroPython on Windows?<\/h2>\n\n\n\n<p>Let us know in the comments if you have any other tips for getting started with the Pico and MicroPython on Windows, we&#8217;ll update the article accordingly \ud83d\ude42<\/p>\n\n\n\n<p>Enjoy your Pico &amp; have fun with the amazing projects you can do with it!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">More Pico blog posts at PiCockpit<\/h2>\n\n\n\n<p>If you enjoyed reading this article, you might enjoy reading the following as well:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-video-output\/\">Video output using the Raspberry Pi Pico (VGA &amp; DVI)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/circuitpython-adafruit-feather-rp2040-and-i2c\/\">CircuitPython, Adafruit Feather RP2040 and I2C<\/a><\/li>\n<\/ul>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fraspberry-pi-pico-and-micropython-on-windows%2F&text=Raspberry%20Pi%20Pico%20and%20MicroPython%20on%20Windows\" title=\"Share on X\" aria-label=\"Share on X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">share<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fraspberry-pi-pico-and-micropython-on-windows%2F\" title=\"Share on Facebook\" aria-label=\"Share on Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">share<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fraspberry-pi-pico-and-micropython-on-windows%2F&text=Raspberry%20Pi%20Pico%20and%20MicroPython%20on%20Windows\" title=\"Share on Telegram\" aria-label=\"Share on Telegram\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">share<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fraspberry-pi-pico-and-micropython-on-windows%2F\" title=\"Share on Reddit\" aria-label=\"Share on Reddit\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">share<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>This article answers the question: How do I use the Raspberry Pi Pico with MicroPython on Windows? We also show how to install the right driver for &#8220;Board CDC&#8221; (which the Pico will show up as once MicroPython is installed) on Windows 8.1. (We will also discuss the differences between MicroPython and CircuitPython where applicable&hellip;<\/p>\n","protected":false},"author":2,"featured_media":6201,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1193,10,3],"tags":[517,477,16,996,606,597,14,11,221,486,782,476,187,456,993,15,762,749,13,992,995,12,994],"class_list":["post-623","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","category-raspberry-pi-pico","category-raspberry-pi-how-to","tag-adafruit","tag-circuitpython","tag-connect","tag-cpython","tag-linux","tag-microcontroller","tag-micropython","tag-pico","tag-pico-w","tag-project","tag-putty","tag-python","tag-raspberry-pi","tag-raspberry-pi-projects","tag-repl","tag-serial-port","tag-thonny","tag-usb","tag-windows-10","tag-windows-11","tag-windows-7","tag-windows-8-1","tag-zadig"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Raspberry Pi Pico and MicroPython on Windows | PiCockpit<\/title>\n<meta name=\"description\" content=\"A complete guide on MicroPython on a Pi with Windows (7\/8\/10), including instructions on installing and accessing the Pico serial port.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raspberry Pi Pico and MicroPython on Windows | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"A complete guide on MicroPython on a Pi with Windows (7\/8\/10), including instructions on installing and accessing the Pico serial port.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-30T15:11:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-25T20:40:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"28 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"Raspberry Pi Pico and MicroPython on Windows\",\"datePublished\":\"2021-01-30T15:11:05+00:00\",\"dateModified\":\"2023-11-25T20:40:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/\"},\"wordCount\":3569,\"commentCount\":10,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png\",\"keywords\":[\"Adafruit\",\"circuitpython\",\"connect\",\"cpython\",\"linux\",\"microcontroller\",\"microPython\",\"Pico\",\"Pico W\",\"project\",\"PuTTY\",\"python\",\"Raspberry Pi\",\"Raspberry Pi projects\",\"repl\",\"serial port\",\"thonny\",\"usb\",\"Windows 10\",\"Windows 11\",\"Windows 7\",\"Windows 8.1\",\"zadig\"],\"articleSection\":[\"Python\",\"Raspberry Pi Pico\",\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/\",\"name\":\"Raspberry Pi Pico and MicroPython on Windows | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png\",\"datePublished\":\"2021-01-30T15:11:05+00:00\",\"dateModified\":\"2023-11-25T20:40:52+00:00\",\"description\":\"A complete guide on MicroPython on a Pi with Windows (7\\\/8\\\/10), including instructions on installing and accessing the Pico serial port.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png\",\"width\":1200,\"height\":675,\"caption\":\"Raspberry Pi Pico and MicroPython on Windows Title Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/raspberry-pi-pico-and-micropython-on-windows\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorials\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/raspberry-pi-how-to\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Raspberry Pi Pico and MicroPython on Windows\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Raspberry Pi Pico and MicroPython on Windows | PiCockpit","description":"A complete guide on MicroPython on a Pi with Windows (7\/8\/10), including instructions on installing and accessing the Pico serial port.","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:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/","og_locale":"en_US","og_type":"article","og_title":"Raspberry Pi Pico and MicroPython on Windows | PiCockpit","og_description":"A complete guide on MicroPython on a Pi with Windows (7\/8\/10), including instructions on installing and accessing the Pico serial port.","og_url":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2021-01-30T15:11:05+00:00","article_modified_time":"2023-11-25T20:40:52+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png","type":"image\/png"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Written by":"raspi berry","Est. reading time":"28 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"Raspberry Pi Pico and MicroPython on Windows","datePublished":"2021-01-30T15:11:05+00:00","dateModified":"2023-11-25T20:40:52+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/"},"wordCount":3569,"commentCount":10,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png","keywords":["Adafruit","circuitpython","connect","cpython","linux","microcontroller","microPython","Pico","Pico W","project","PuTTY","python","Raspberry Pi","Raspberry Pi projects","repl","serial port","thonny","usb","Windows 10","Windows 11","Windows 7","Windows 8.1","zadig"],"articleSection":["Python","Raspberry Pi Pico","Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/","url":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/","name":"Raspberry Pi Pico and MicroPython on Windows | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png","datePublished":"2021-01-30T15:11:05+00:00","dateModified":"2023-11-25T20:40:52+00:00","description":"A complete guide on MicroPython on a Pi with Windows (7\/8\/10), including instructions on installing and accessing the Pico serial port.","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2021\/01\/Raspberry-Pi-Pico-and-MicroPython-on-Windows-Title-Image.png","width":1200,"height":675,"caption":"Raspberry Pi Pico and MicroPython on Windows Title Image"},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/raspberry-pi-pico-and-micropython-on-windows\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Tutorials","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/raspberry-pi-how-to\/"},{"@type":"ListItem","position":3,"name":"Raspberry Pi Pico and MicroPython on Windows"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"raspi berry","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/posts\/623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/comments?post=623"}],"version-history":[{"count":30,"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/posts\/623\/revisions"}],"predecessor-version":[{"id":6202,"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/posts\/623\/revisions\/6202"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/media\/6201"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/media?parent=623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/categories?post=623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/wp-json\/wp\/v2\/tags?post=623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}