Azure IoT SDK example - RP2040 iothub telemetry sample

1. Prepare IoT Hub and Device for this example

1.1. Azure portal

In Azure portal, you need to create a device and get the connection string informations as below:

  • This example uses symmetric key



  • You copy the key string,"Primary Connection String" and paste the string into your code as decribed in next section.

1.2. Developer PC

1.2.1. SDK setting

In the following pico-azure-iot-sdk-c/application/main.c source file, find the line similar to this and replace it as you want:


// The application you wish to use should be uncommented
//#define APP_C2D
//#define APP_CLI_X509
//#define APP_PROV_X509


// The application you wish to use DHCP mode should be uncommented
#define _DHCP
static wiz_NetInfo g_net_info =
        .mac = {0x00, 0x08, 0xDC, 0x12, 0x34, 0x11}, // MAC address
        .ip = {192, 168, 3, 111},                    // IP address
        .sn = {255, 255, 255, 0},                    // Subnet Mask
        .gw = {192, 168, 3, 1},                      // Gateway
        .dns = {8, 8, 8, 8},                         // DNS server
#ifdef _DHCP
        .dhcp = NETINFO_DHCP                         // DHCP enable/disable
        // this example uses static IP
        .dhcp = NETINFO_STATIC


Edit the pico-azure-iot-sdk-c/application/sample_certs.c entering the proper connection string and key value from the Azure Portal:


/* Paste in the your iothub connection string  */
const char pico_az_connectionString[] = "[device connection string]";


1.2.2. Build

Run make command

1.2.3. Azure IoT Explorer (preview) setting

To see the message from your IoT Device, you need to make a "Azure IoT Explorer" setting as below:

  • In Azure portal, you can get the "Connection String" as follows:

  • Copy & paste the connection string, and click "Save".

  • Find the device and click name

  • Go to "Telemetry" menu, and click "Start"

  • Wait for incoming message from your IoT device

1.2.4. Serial terminal open

  • Open "COM" port to see debug code

2. Run the example code

2.1. copy main.uf2 file into your W5100S-EVB-Pico

2.2. Serial terminal log

  • Connect to Azure IoT Hub

  • Send messages to Azure IoT Hub

2.3. Azure IoT Explorer (preview) log

  • Getting device messages from Azure IoT Hub