finds.dev← search

// the find

Azure/azure-iot-pal-arduino

★ 16 · C · MIT · updated Jul 2022

Adaptation layer for the Azure IoT Hub SDK for Arduino

The PAL (platform abstraction layer) that bridges the Azure IoT Hub C SDK to Arduino boards (ESP8266, ESP32, SAMD). It's deprecated — the README says so in the first three lines. This exists only as a reference for anyone maintaining old devices already using it.

The architecture is sound: splitting the platform-specific shims (TLS, threading, sockets) into a separate PAL layer kept the core C SDK clean. Board-specific implementations are isolated per directory (esp32, esp8266, samd) so you can see exactly what each platform needed to stub out. Unit tests exist for the TLS I/O and platform layers, which is more than most embedded C projects bother with.

Deprecated since at least 2022 — Microsoft explicitly says don't use this for new development. Last real activity was over three years ago. The TLS layer delegates to an sslClient abstraction that ties you to specific Arduino SSL libraries, meaning any board not covered is your problem. No async I/O: the MQTT and HTTP implementations block, which is fine for simple sensors but falls apart for anything that needs to stay responsive.

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 →