Basic tests with Pico W

A project log for Autonomous Research Laboratories

A closed-loop spectroscopy laboratory demo using dimmable LEDs and a spectrophotometer. < $100, < 1 sq. ft, < 1 hr setup.

sterling-bairdSterling Baird 08/24/2022 at 06:090 Comments

I soldered headers for two Pico W's. Unfortunately, one of the boards seems to be fried, or maybe it's a short-circuit that I need to go in and fix. Either way, my laptop wasn't recognizing it. Soldering iron was non-adjustable in terms of temperature, the soldering wire I had available was thick, and I had trouble with the debug headers. I'm pretty sure it was when I was messing with the debug headers that I messed something up with the RP2040 processor right by it. For the second attempt, I soldered underneath with the black casing of the header pins on top so that I wasn't poking the soldering iron around the surface mount electronics.

I inserted the headers into the Maker Pi Pico base to act as the soldering mount (similar to the guide here) and taped the Maker Pi Pico base to the table I was working at. I watched a video, though I think the tutorial I linked previously would have been good to go through first. Even better, I should have gone out and bought thinner soldering wire and been more careful where I put the hot soldering tip.

Many of the indicator LEDs on the Maker Pi still light up for the Pico W that wouldn't connect, but I'm not sure if that means it's worth it to try to fix.

After that, I set up VS Code with the CircuitPython extension and started testing out the Pico W. `circup` made it pretty easy:

pip install circup
circup install neopixel
circup install adafruit-circuitpython-as7341

 (maybe instead of neopixel I should have installed adafruit-circuitpython-neopixel, but it worked nonetheless).

I guess the cached directory was getting larger than the drive storage allowed due to mypy linting, so I made it so it caches elsewhere via a .vscode/settings.json file with the --cache-dir mypy argument:

    "python.linting.mypyArgs": [
        "--cache-dir=C:/Users/<my username>/.mypy_cache",

I ran an AS7341 example and the Maker Pi Pico Neopixel example. See a snapshot of those examples here. I was able to control the NeoPixel brightness and RGB values and read the spectrophotometer measurements.

Next, I need to set up a web server per these instructions. Oof, do I need to switch to using MicroPython instead of CircuitPython? I think probably not.