How do you program for picos?

Hi All,

I’ve done some programming for the pico w (attached to the inventor 2040w) using Thonny, but I really miss vscode and the features it has for software development.

I’ve tried a few different extensions to try and build a pico project but I quickly run into issues that I start to look for other alternatives.

How do you develop for picos? Is Thonny the best there is? Are there other IDEs better suited for this kind or work? Are there command line tools that make it easy enough to upload files/builds to the project? Is CPP in a better place compared to python?

I am using VSC for both CPP and for CircuitPython. Deployment to a device is really easy for CPP, it is all explained in the Pico-tutorials and I also created a vsc-task for that.

Deployment for CircuitPython is also easy, since CP exposes the device as a storage device and I just rsync the files to the device. For MicroPython, there is rshell (GitHub - dhylands/rshell: Remote Shell for MicroPython) which has a rsync subcommand.

There are also VSC plugins for MP, but I think they basically use rshell in the background and I never tested them.

Finally: CPP is more native than python and has a number of advantages, especially if you need all the resources the Pico has. But for many applications this is not necessary and life is just easier with python. So it depends on what you are doing and how much time you can spend on programming (and searching for libraries and sample code).

For CPP, you have sort of two “flavors” (in respect to the toolset): you can do native SDK programming (that is the official way to go), or you can use the Arduino-flavor. With the latter you probably have more ready to use libraries. If you don’t like the Arduino-IDE, you can use VSC with platformio for the Arduino-flavor.