I think it's time I contributed to Arduino, but I'm having difficulty deciding which board to buy.
This is the first thread in a series of two where I'm asking the community in-depth questions about a pair boards that seem to be impossible to get information on.
This one is about the RP2040 Connect.
What kind of library support is there? Can I use normal libraries along with the MBED stuff?
I was wondering is this was a viable replacement for a Micro, so I looked at keyboard support, and found this virtually undocumented library. How on Earth does this library work? Where's the documentation? It it hidden in the Arduino Reference somewhere?
If I wanted to communicate with a 5V board over serial, what kind of level shifter would I need?
Can the microphone read how loud a sound is in decibels?
Library support tends to increase over time. That means the boards architectures that have been around the longest (AVR, SAMD) have better levels of support than the ones that came later.
That is the case with the Nano RP2040 Connect.
Popularity is also a factor, since library authors will be more motivated to add support for a board that many people are using vs investing time for the benefit of a handful of users of an obscure architecture. The RP2040 has had a lot of interest from the Arduino community, so I think the outlook is good in that department.
The ideal of Arduino is that the standardized high level API provides portability by default. In reality, there is some divergence in the API from one architecture to another and some libraries need to use lower level architecture-specific code. This means that many libraries will work perfectly well for any Arduino board, even if the library was written before the introduction of that architecture. But other libraries will require adjustments to the code before they can support a new architecture.
Unfortunately, there is none other than the two example sketches and the library source code.