Giving up on the Raspberry Pi Pico’s HTTP libraries…

Recently, while working on the m5 RFID project, I came across the struggles of using the networking capabilities of the raspberry pi pico. I was trying to do 2 things. 1, get a network time, by using an SNTP client, and make network requests to my custom designed fast API. However, the raspberry Pi really lacked any comfortable libraries to do requests like this.

The HTTP situation

The raspberry pi C SDK doesn’t have any supporting libararies that make HTTP requests easy to use. In many other develoeped ecosystems, like the ESP32 IDF libraries, we see functions such as:

These are pretty common! and make handling WiFi events very easy. A very common use case for micro controllers is to gather data in the wild, and upload them to a central database. Because m5 could invite hackers, having easy to use HTTPS is also a very convenient feature. However, nothing like this exists on the Raspberry Pi C SDK. In fact, following the Raspberry Pi’s example code to get an HTTP request is over 200 lines long, and has you regularly dealing with the packet, and generally making the user do way too much.

For the continuation of this project, and to avoid wasting more time, I will be porting this over to the ESP-IDF libraries, and use an ESP-32 C6 board instead. I believe that switching boards will allow me to finish developing this way faster, and that means we can get users sooner too!

Hope everyone has a Jolly Swell break!!!

Previous
Previous

Mocking Up the Boombox

Next
Next

More satellite imagery from the M5 open house