finds.dev← search

// the find

Wiznet/RP2040-HAT-AZURE-C

★ 1 · C · GPL-3.0 · updated Aug 2024

Azure IoT SDK Example for RP2040

Example project connecting a Raspberry Pi Pico (RP2040) with WIZnet W5100S/W5500 Ethernet chips to Azure IoT Hub. Covers telemetry, cloud-to-device messaging, X.509 auth, and DPS provisioning. The repo is archived — WIZnet has moved active development to WIZnet-PICO-AZURE-C.

The porting layer under port/azure-iot-sdk-c is the real value here: it shows how to adapt the azure-iot-sdk-c PAL (platform abstraction layer) to a bare-metal RP2040 without an RTOS, including a custom TLS IO layer backed by mbedTLS over W5x00 SPI. Covers all four major Azure IoT SDK sample patterns (telemetry, C2D, X.509, DPS) rather than just the easy one. The CMake structure with selectable Ethernet chip target is clean — switching between W5100S and W5500 is a one-liner. Patch-based approach to ioLibrary_Driver keeps the upstream submodule clean while still applying necessary fixes.

Archived. The first line of the README tells you to go elsewhere — there is no reason to use this over the successor repo unless you specifically need the old submodule pins. Credentials go straight into sample_certs.c as hardcoded strings with no environment variable or provisioning abstraction — the docs literally say copy-paste from the Azure Portal. No RTOS means the main loop is a manual DoWork poll with no real concurrency model; this works for demos but falls apart the moment you add a second peripheral. Build instructions are Windows-MSYS2-centric; Linux users get a bare cmake .. with no guidance.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →