// the find
Azure/iot-plug-and-play-bridge
IoT Plug and Play bridge
A gateway agent that bridges legacy/constrained hardware (Modbus sensors, BLE devices, USB peripherals, serial MCUs) to Azure IoT Hub via the IoT Plug and Play protocol, without requiring each device to have its own Azure connectivity. Explicitly deprecated and archived as of November 2023. For anyone still maintaining Azure IoT infrastructure with older hardware, the pattern is useful but the code is a dead end.
The adapter abstraction is genuinely well-designed — writing a new adapter requires implementing a small C interface, and the existing adapters (Modbus RTU/TCP, MQTT, BLE, Serial) cover a realistic range of industrial hardware. The SerialPnP subprotocol lets MCUs self-describe their telemetry schema over a serial port, which is a clever way to avoid hardcoding device models in the bridge. CMake build with submodule pinning to the Azure IoT C SDK means the build is reproducible. Docker images for amd64/arm32/arm64 are included, so deployment to edge hardware isn't an afterthought.
Archived and read-only — any CVEs in the Azure IoT C SDK submodule will never be patched here, and Microsoft explicitly warns against production use. Bluetooth LE support is Windows-only with no Linux path planned, which is a significant gap for actual IoT edge deployments that run Linux. The configuration is a flat JSON file with no runtime reload; changing which sensors are exposed requires restarting the bridge. Linux testing was only validated on Ubuntu 18.04, which is end-of-life.