Working with the Pico was an experience: the documentation is excellent, as is the C SDK. The SDK provides a set of libraries which are thin wrappers around the underlying hardware, making most features utter simplicity to use. Unlike the ESP8266’s libraries, the Pico SDK is unopinionated and doesn’t require you to use any of its features: if you want to talk directly to the hardware, you can (and in fact there’s library support for doing just this).
There are some high-level features like a heap, stdio emulation, multicore primitives, etc which I’m not using, but if you don’t use them you don’t pay for them. For my embedded-systems brain it’s the ideal ratio of functionality to complexity.
The Fuzix port provides:
- user binaries using up to 64kB of code and data each (this could be expanded, as there’s plenty of spare RAM)
- up to 15 processes
- a proper Unix filesystem
- SD card support, used for both the filesystem and swap space
- serial console on UART0
- the full set of Fuzix core binaries work — fsck, Bourne shell, the standard Unix tools, a vi clone, etc, plus some simple games
If you just want a binary to flash and try for yourself, here’s one: Raspberry Pi Pico Fuzix binaries
See more in the post here.