---
title: "Connect WizFi360-EVB-Pico to AWS IoT Core"
url: "https://maker.wiznet.io/mason/projects/connect-wizfi360-evb-pico-to-aws-iot-core/"
markdown_url: "https://maker.wiznet.io/mason/projects/connect-wizfi360-evb-pico-to-aws-iot-core/md"
type: "WCC: WIZnet Created Content"
author: "MasonLee"
author_url: "https://www.hackster.io/user1959920/connect-wizfi360-evb-pico-to-aws-iot-core-3bb1cc"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "MasonLee"
original_url: "https://www.hackster.io/user1959920/connect-wizfi360-evb-pico-to-aws-iot-core-3bb1cc"
license: "Apache License 2.0 (Apache-2.0)"
published: "2022-08-03"
language: "en"
tags: ["C/C++", "Internet of Things", "wizfi360-contest-ref"]
hardware: ["WIZnet WizFi360-EVB-Pico"]
likes: 30
views: 6217
comments: 4
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Connect WizFi360-EVB-Pico to AWS IoT Core

> WizFi360-EVB-Pico is WizFi360 Wi-Fi Module + RP2040 board. This project will demonstrate how to connect to AWS IoT Core and transmit data.

Original author: MasonLee (source: https://www.hackster.io/user1959920/connect-wizfi360-evb-pico-to-aws-iot-core-3bb1cc)

## Components

- **WIZnet WizFi360-EVB-Pico** x 1
- Software: **AmazonWebServices AWS IoT** ([docs](https://aws.amazon.com/iot/))

## Documents and links

- [code](https://github.com/Wiznet/WizFi360-EVB-Pico-AWS-C) (code)
- [WizFi360-EVB-Pico](https://github.com/Wiznet/Hardware-Files-of-WIZnet) (schematics): https://github.com/Wiznet/Hardware-Files-of-WIZnet/tree/master/08_OSHW/WizFi360-EVB-Pico/WizFi360-EVB-Pico_V100
- [WizFi360-EVB-Pico-AWS-C](https://github.com/Wiznet/WizFi360-EVB-Pico-AWS-C)

## Article

## **Story**

I’m going to introduce how to connect WizFi360-EVB-Pico to AWS IoT Core and transmit data to cloud.

For your reference, WIZnet has a separate docs website,

<https://docs.wiznet.io/Product/Open-Source-Hardware/wizfi360-evb-pico>

First and foremost, you need an AWS account (sign up if you do not have one).

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

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

AWS IoT Core Home

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

Create a single thing

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

Enter thing name and DO NOT create shadow

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

Auto-generate new certificates

![](https://hackster.imgix.net/uploads/attachments/1448840/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/1448841/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/WizFi360-EVB-Pico-AWS-C>

Please clone, update submodule and patch.

Input the your Wi-Fi AP SSID & Password into..WizFi360-EVB-Pico-AWS-C\examples\AWS_MQTT_Demo\socket_startup.c

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

Copy the downloaded keys into..\WizFi360-EVB-Pico-AWS-C\examples\AWS_MQTT_Demo\mqtt_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/1448843/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..\WizFi360-EVB-Pico-AWS-C\examples\AWS_MQTT_Demo\iot_demo.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/1448844/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/1448845/_hoVre5PVkA.blob?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/1448846/_90RA26gIU2.blob?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/1448847/_PmFEpnSqNU.blob?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/mason/projects/connect-wizfi360-evb-pico-to-aws-iot-core/
