---
title: "Connect W5100S-EVB-Pico to AWS IoT Core"
url: "https://maker.wiznet.io/WIZnet/projects/connect-w5100s-evb-pico-to-aws-iot-core/"
markdown_url: "https://maker.wiznet.io/WIZnet/projects/connect-w5100s-evb-pico-to-aws-iot-core/md"
type: "UCC: User Created Content"
author: "mason"
author_url: "https://www.hackster.io/viktor-shin/connect-w5100s-evb-pico-to-aws-iot-core-4ac135"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "mason"
original_url: "https://www.hackster.io/viktor-shin/connect-w5100s-evb-pico-to-aws-iot-core-4ac135"
published: "2023-02-07"
language: "en"
hardware: ["WIZnet W5100S-EVB-Pico"]
likes: 1
views: 459
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Connect W5100S-EVB-Pico to AWS IoT Core

> W5100S-EVB-Pico is first RP2040-based AWS Qualified board. This project will demonstrate how to connect to AWS IoT Core and transmit data.

Original author: mason (source: https://www.hackster.io/viktor-shin/connect-w5100s-evb-pico-to-aws-iot-core-4ac135)

## Components

- **WIZnet W5100S-EVB-Pico** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5100S/w5100s-evb-pico))

## Article

Hello,

I’m going to introduce how to connect W5100S-EVB-Pico to AWS IoT Cloud and transmit data.

For your reference, WIZnet has a separate docs website,

<https://docs.wiznet.io/Product/iEthernet/W5100S/w5100s-evb-pico>

First and foremost, you need an AWS account (sign up if you do not have one, and AWS offers $100 worth credit for first sign ups that will be more than enough for testing purposes).

Once logged in, go to IoT Core Service and create a thing.

![AWS IoT Core Home](https://hackster.imgix.net/uploads/attachments/1390932/image_s7LV7CIxDK.png?auto=compress%2Cformat&w=1280&h=960&fit=max)

AWS IoT Core Home

![Create a single thing](https://hackster.imgix.net/uploads/attachments/1390934/image_lkPzRDYt5S.png?auto=compress%2Cformat&w=1280&h=960&fit=max)

Create a single thing

*![Enter thing name and DO NOT create shadow](https://hackster.imgix.net/uploads/attachments/1390935/image_IG6x0jlLEu.png?auto=compress%2Cformat&w=740&h=555&fit=max)*

**Enter thing name and DO NOT create shadow.**

*![Auto-generate new certificates](https://hackster.imgix.net/uploads/attachments/1390936/image_l9aV8GpHqc.png?auto=compress%2Cformat&w=1280&h=960&fit=max)*

**Auto-generate new certificates**

![](https://hackster.imgix.net/uploads/attachments/1391190/image_JUI8cbJv0G.png?auto=compress%2Cformat&w=740&h=555&fit=max)

Attach a policy (you must create one if you haven’t created one). In my case, I allowed all for testing purposes; please create your policy corresponding to your needs. For more information about policies please refer to: <https://docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html>

![](https://hackster.imgix.net/uploads/attachments/1390939/image_7alxhPUZIx.png?auto=compress%2Cformat&w=740&h=555&fit=max)

Download 4 certificates from the pop-up window. FYI, public key won’t be used. Please keep in mind that you won’t be able to download these keys later, so copy them to a safe place. Also, for security reasons it is recommended to delete these keys after adding them to the firmware.

One a ‘thing’ is created in AWS IoT Core, let’s move on to the next step – Firmware.

A sample firmware can be downloaded or cloned from the following Github link: <https://github.com/Wiznet/RP2040-HAT-AWS-C>

Please clone, update submodule and patch.

Copy the downloaded keys into…RP2040-HAT-AWS-CexamplesAWS_IoT_MQTTmqtt_certificate.h.

RSA 2048bit key: Amazone Root CA 1 -> mqtt_root_ca

Device certificate -> mqtt_client_cert

Private keyfile -> mqtt_private_key

![](https://hackster.imgix.net/uploads/attachments/1390941/image_w6209plbMS.png?auto=compress%2Cformat&w=740&h=555&fit=max)

Next, it is necessary to input domain, publish & subscribe topic, Client ID. This information shall be added to define variables in..RP2040-HAT-AWS-CexamplesAWS_IoT_MQTTAWS_IoT_MQTT.c

Thing name shall be used as Client ID.

For testing purposes I used shadow/update, shadow/update/accepted as Topics.

![](https://hackster.imgix.net/uploads/attachments/1390944/image_caap7OTO6f.png?auto=compress%2Cformat&w=740&h=555&fit=max)

You should be able to see the following log in the serial terminal.

![](https://hackster.imgix.net/uploads/attachments/1390946/image_XuYa0wpopf.png?auto=compress%2Cformat&w=740&h=555&fit=max)

After obtaining IP address from DHCP, the device will connect to the domain through DNS and publish data.

You can check the Transmitted data via MQTT Test client.

![](https://hackster.imgix.net/uploads/attachments/1390947/image_opliPZuJY7.png?auto=compress%2Cformat&w=740&h=555&fit=max)

Vice versa, you can also check the published data from the ‘MQTT test client to subscribed topic.

![](https://hackster.imgix.net/uploads/attachments/1390948/image_DgFLh9TXm1.png?auto=compress%2Cformat&w=740&h=555&fit=max)

Congratulations!

Now, your device is successfully connected to AWS IoT Core

---

Source: https://maker.wiznet.io/WIZnet/projects/connect-w5100s-evb-pico-to-aws-iot-core/
