[{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003eNeed to add a simple diagnostic display to a Pico project? Or perhaps you want a quick and easy NeoPixel light show? Let's see what we can do!\u003c/p\u003e\n      \n\n\n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/879/original/Screenshot_2024-05-06_111121.png?1715015544","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003e\u003cstrong\u003eEquipment\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/5525\"\u003ePi Pico board with headers\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/1426\"\u003eNeoPixel Stick\u0026nbsp;\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/4152\"\u003eHeader Pins\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.adafruit.com/product/5905\"\u003eUnder Plate PiCowBell\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n      \n\n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003e\u003cstrong\u003eBuild Instructions\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eBreak off three header pins\u003c/li\u003e\n\u003cli\u003eSolder the pins on the NeoPixel Stick: GND, DIN, 5VDC\u003c/li\u003e\n\u003cli\u003eAttach the Pico to the PiCowBell plate\u003cbr\u003e\n\u003col\u003e\n\u003cli\u003eThe USB connector goes over the QTPY connector on the plate\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003ePlug in the NeoPixel Stick\n\u003col\u003e\n\u003cli\u003e5VDC connects to IO15\u003c/li\u003e\n\u003cli\u003eDIN connects to IO14\u003c/li\u003e\n\u003cli\u003eGND connects to the nearby GND pin\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n      \n\n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n  \n  \n        \u003cp\u003e\u003cstrong\u003eInstall CircuitPython\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eFollow the instructions on \u003ca href=\"https://circuitpython.org/board/raspberry_pi_pico/\"\u003eCircuitPython.org\u003c/a\u003e -- any 9.0 build will do.\u003c/p\u003e\n\u003cp\u003eUse Circup to install the \u003cstrong\u003eneopixel\u003c/strong\u003e library:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ecircup install neopixel\u003c/code\u003e\u003c/p\u003e\n      \n\n\n\n\n\n\n\n","metadata":{}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n  \n        \u003cp\u003e\u003cstrong\u003eNeoPixel Lightshow\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSave this code to the Pi Pico as \"code.py\":\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e\u003cspan\u003e\"simple light show\"\u003cbr\u003e\u003c/span\u003e\u003cspan\u003eimport\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003eboard\u003cbr\u003e\u003c/span\u003e\u003cspan\u003eimport\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003edigitalio\u003cbr\u003e\u003c/span\u003e\u003cspan\u003eimport\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003eneopixel\u003cbr\u003e\u003c/span\u003e\u003cspan\u003eimport\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003erandom\u003cbr\u003e\u003c/span\u003e\u003cspan\u003eimport\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003etime\u003c/span\u003e\u003c/code\u003e\u003cbr\u003e\u003ccode\u003e\u003cspan\u003e# set GP15 to Output, High\u003cbr\u003e\u003c/span\u003e\u003cspan\u003ebvcc \u003c/span\u003e\u003cspan\u003e= \u003c/span\u003e\u003cspan\u003edigitalio\u003c/span\u003e\u003cspan\u003e.DigitalInOut(\u003c/span\u003e\u003cspan\u003eboard\u003c/span\u003e\u003cspan\u003e.GP15)\u003cbr\u003e\u003c/span\u003e\u003cspan\u003ebvcc\u003c/span\u003e\u003cspan\u003e.direction \u003c/span\u003e\u003cspan\u003e=\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003edigitalio\u003c/span\u003e\u003cspan\u003e.Direction.OUTPUT\u003cbr\u003e\u003c/span\u003e\u003cspan\u003ebvcc\u003c/span\u003e\u003cspan\u003e.value \u003c/span\u003e\u003cspan\u003e=\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003e1 \u003c/span\u003e\u003cspan\u003e# provide 3.3v\u003cbr\u003e\u003c/span\u003e\u003c/code\u003e\u003cbr\u003e\u003ccode\u003e\u003cspan\u003e# eight pixels on GP14\u003cbr\u003e\u003c/span\u003e\u003cspan\u003epixel\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003e=\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003eneopixel\u003c/span\u003e\u003cspan\u003e.NeoPixel(\u003c/span\u003e\u003cspan\u003eboard\u003c/span\u003e\u003cspan\u003e.GP14, \u003c/span\u003e\u003cspan\u003e8\u003c/span\u003e\u003cspan\u003e, \u003c/span\u003e\u003cspan\u003ebrightness\u003c/span\u003e\u003cspan\u003e=\u003c/span\u003e\u003cspan\u003e0.025\u003c/span\u003e\u003cspan\u003e)\u003cbr\u003e\u003c/span\u003e\u003cspan\u003epixel\u003c/span\u003e\u003cspan\u003e.fill((\u003c/span\u003e\u003cspan\u003e0\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e255\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e0\u003c/span\u003e\u003cspan\u003e))\u003c/span\u003e\u003c/code\u003e\u003cbr\u003e\u003ccode\u003e\u003cspan\u003e\u003cbr\u003edef\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003eanycolor\u003c/span\u003e\u003cspan\u003e():\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; \u003c/span\u003e\u003cspan\u003e\"returns a random RGB color\"\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; \u003c/span\u003e\u003cspan\u003ereturn\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003erandom\u003c/span\u003e\u003cspan\u003e.\u003c/span\u003e\u003cspan\u003echoice\u003c/span\u003e\u003cspan\u003e([\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; (\u003c/span\u003e\u003cspan\u003e255\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e255\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e0\u003c/span\u003e\u003cspan\u003e),\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; (\u003c/span\u003e\u003cspan\u003e0\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e255\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e0\u003c/span\u003e\u003cspan\u003e),\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; (\u003c/span\u003e\u003cspan\u003e32\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e32\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e255\u003c/span\u003e\u003cspan\u003e),\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; (\u003c/span\u003e\u003cspan\u003e240\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e64\u003c/span\u003e\u003cspan\u003e,\u003c/span\u003e\u003cspan\u003e0\u003c/span\u003e\u003cspan\u003e)\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; ])\u003c/span\u003e\u003c/code\u003e\u003cbr\u003e\u003ccode\u003e\u003cspan\u003ewhile\u003c/span\u003e\u003cspan\u003e \u003c/span\u003e\u003cspan\u003eTrue\u003c/span\u003e\u003cspan\u003e:\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; \u003c/span\u003e\u003cspan\u003epixel\u003c/span\u003e\u003cspan\u003e[\u003c/span\u003e\u003cspan\u003erandom\u003c/span\u003e\u003cspan\u003e.\u003c/span\u003e\u003cspan\u003echoice\u003c/span\u003e\u003cspan\u003e(\u003c/span\u003e\u003cspan\u003erange\u003c/span\u003e\u003cspan\u003e(\u003c/span\u003e\u003cspan\u003e8\u003c/span\u003e\u003cspan\u003e))]\u003c/span\u003e\u003cspan\u003e=\u003c/span\u003e\u003cspan\u003eanycolor\u003c/span\u003e\u003cspan\u003e()\u003cbr\u003e\u003c/span\u003e\u003cspan\u003e\u0026nbsp; \u0026nbsp; \u003c/span\u003e\u003cspan\u003etime\u003c/span\u003e\u003cspan\u003e.\u003c/span\u003e\u003cspan\u003esleep\u003c/span\u003e\u003cspan\u003e(\u003c/span\u003e\u003cspan\u003e0.1\u003c/span\u003e\u003cspan\u003e)\u003c/span\u003e\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n      \n\n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/880/original/Screenshot_2024-05-06_111150.png?1715015615","metadata":{"caption":""}},{"element_type":"text","content":"\n  \n  \n  \n  \n  \n        \u003cp\u003e\u003cstrong\u003eHow It Works\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe Pi Pico has convenient ground pins in many places. We use pin 18 for GND. The NeoPixel Stick DIN is connected to pin 19 (GP14), and we use pin 20 (GP15) to power the NeoPixel Stick.\u003c/p\u003e\n\u003cp\u003eThe code sets up GP15 to Output and High. It sets up GP14 do drive the NeoPixels. Then in a loop it updates the pixel colors.\u003c/p\u003e\n      \n\n\n\n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/881/original/Screenshot_2024-05-06_111131.png?1715015632","metadata":{"caption":""}}]