Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32-C6 Workshop review and changes in the layout #84

Merged
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions config/_default/params.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ smartTOCHideUnfocusedChildren = false
showRecentItems = 6
showMoreLink = true
showMoreLinkDest = "blog"
cardView = false
cardView = true
cardViewScreenWidth = false
layoutBackgroundBlur = true # only used when layout equals background

Expand All @@ -61,7 +61,7 @@ smartTOCHideUnfocusedChildren = false
showDateUpdated = true
showAuthor = true
showHero = true
heroStyle = "big" # valid options: basic, big, background, thumbAndBackground
heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground
layoutBackgroundBlur = true # only used when heroStyle equals background
showBreadcrumbs = false
showDraftLabel = true
Expand All @@ -84,7 +84,7 @@ smartTOCHideUnfocusedChildren = false

[list]
showHero = true
heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground
layoutBackgroundBlur = true # only used when heroStyle equals background
layoutBackgroundHeaderSpace = false
showBreadcrumbs = false
Expand All @@ -104,7 +104,7 @@ smartTOCHideUnfocusedChildren = false
[taxonomy]
showTermCount = true
showHero = true
heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground
showBreadcrumbs = false
showViews = true
showLikes = true
Expand All @@ -113,7 +113,7 @@ smartTOCHideUnfocusedChildren = false

[term]
showHero = true
heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground
showBreadcrumbs = false
showViews = true
showLikes = true
Expand Down
2 changes: 2 additions & 0 deletions content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@
title: "Welcome to Espressif Developer Portal! :tada:"
description: "This page is the Espressif Developer Portal."
disableComments : true
showRecent : false

cascade:
showLikes : false
showViews : false
showTableOfContents : false
pedrominatel marked this conversation as resolved.
Show resolved Hide resolved
---

We are thrilled to have you join our community of innovators and creators in the exciting world of Espressif products! Whether you're a seasoned developer or just starting your journey, this portal is your go-to destination for a treasure trove of information, tutorials, and resources centered around our cutting-edge technologies.
Expand Down
1 change: 1 addition & 0 deletions content/events/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ cascade:
showViews : false
groupByYear : true
disableComments : true
showTableOfContents : false
---
1 change: 1 addition & 0 deletions content/pages/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ cascade:
showLikes : false
showViews : false
showDate : false
showTableOfContents : false
---
3 changes: 2 additions & 1 deletion content/workshops/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ showDateUpdated: false
showHeadingAnchors: false
showPagination: false
showReadingTime: false
showTableOfContents: true
showTaxonomies: false
showWordCount: false
showSummary: false

cascade:
showDate: false
showAuthor: false
Expand All @@ -20,6 +20,7 @@ cascade:
showLikes: false
showViews: false
disableComments : true
showTableOfContents : true
---

Welcome to the Espressif workshops! Here you can find workshops prepared by Espressif to the community.
13 changes: 2 additions & 11 deletions content/workshops/esp-idf-with-esp32-c6/_index.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
---
title: "ESP-IDF with ESP32-C6 Workshop"
date: 2024-06-03T00:00:00+01:00
showTableOfContents: false
showHero: false
tags: ["Workshop"]
authors:
- pedro-minatel
tags: ["Workshop", "ESP-IDF", "ESP32-C6", "Espressif IDE"]

---

Welcome to the Espressif IoT Development Framework (ESP-IDF) workshop!


## About this workshop

By participating in this workshop, you will gain deeper understanding of the Espressif IoT Development Framework (ESP-IDF) and the ESP32-C6 System on a Chip (SoC). Through a number of hands-on assignments covering a range of essential skills, you will learn how to build efficient and powerful IoT applications.
Expand All @@ -21,7 +17,6 @@ Following that, you will be guided on how to use the components, blink the addre

> Apart from the ESP32-C6, this workshop will also be relevant for other Espressif chips. However, some features explored here are only available on the ESP32-C6.


## Agenda

With the [prerequisites](#prerequisites) met, here is the agenda for the workshop:
Expand All @@ -35,7 +30,6 @@ With the [prerequisites](#prerequisites) met, here is the agenda for the worksho
- [Assignment 6: Protocols](assignment-6) (EXTRA) -- exploration of various communication protocols supported by the ESP32-C6, including the implementation of the TSL certificate bundle for secure communications.
- [Assignment 7: Try using the Low Power core](assignment-7) -- demonstration of how to utilize the low-power core for efficient energy management.


## Prerequisites

To follow this workshop, make sure you meet the prerequisites given below.
Expand All @@ -51,19 +45,16 @@ Software Prerequisites
- [ESP-IDF v5.2](https://github.com/espressif/esp-idf/tree/release/v5.2) installed
- [Espressif-IDE 3.0.0](https://github.com/espressif/idf-eclipse-plugin/releases/tag/v3.0.0) installed


## Effort

{{< alert icon="mug-hot">}}
**Estimated time: 120 min**
{{< /alert >}}


## Feedback

If you have any feedback for this workshop, please star a new [discussion on GitHub](https://github.com/espressif/developer-portal/discussions).


## Conclusion

We hope the knowledge you gained will serve as a solid foundation for your future projects. Thank you for your time and engagement in this workshop. We look forward to seeing the innovative solutions you will create.
Expand Down
4 changes: 2 additions & 2 deletions content/workshops/esp-idf-with-esp32-c6/assignment-1/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 1"
date: 2024-06-03T00:00:00+01:00
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 1: Install the Espressif-IDE"
date: 2024-06-30T00:00:00+01:00
showTableOfContents: false
series: ["WS001"]
series_order: 2
Expand Down
24 changes: 18 additions & 6 deletions content/workshops/esp-idf-with-esp32-c6/assignment-2/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 2"
date: 2024-06-03T00:00:00+01:00
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 2: Create a new project with Components"
date: 2024-06-29T00:00:00+01:00
showTableOfContents: false
series: ["WS001"]
series_order: 3
Expand Down Expand Up @@ -53,6 +53,10 @@ The next step is to add the component [espressif/led_strip](https://components.e

2. **Add the component**

Now we will add the component to the project.

> **Note**: Before adding the component, it is mandatory to do a project full clean, otherwise the CMake will not re-run.

```bash
idf.py add-dependency "espressif/led_strip^2.5.3"
```
Expand Down Expand Up @@ -237,15 +241,21 @@ Some of the components includes examples that shows on how to use the component.

To create a new project from a component example, we will use the terminal and not the Espressif-IDE. This feature is not yet implemented inside the IDE.

Let's get the generic BSP [examples/generic_button_led](https://components.espressif.com/components/espressif/esp_bsp_generic/versions/1.2.0/examples/generic_button_led?language=en) and create a new project using the terminal.
Let's get the generic BSP [examples/generic_button_led](https://components.espressif.com/components/espressif/esp_bsp_generic/versions/1.2.0/examples/generic_button_led?language=en) and create a new project using the BSP.

**Alternative way**

If you are using the terminal, you can run the command below to create a new project from the example.

```bash
idf.py create-project-from-example "espressif/esp_bsp_generic^1.2.0:generic_button_led"
```

This command will create all the necessary files with the example code ready to be configured.

*Alternative way:* The alternative way to use the BSP is to create a blank project using the Espressif-IDE and create the manifest file manually.
**Creating a new project**

The way to use the BSP with the Espressif-IDE is to create a blank project and add the manifest file manually.

To do that, create a new blank project for the ESP32-C6 and inside the `main` folder create the file `idf_component.yml` with the following content:

Expand All @@ -262,9 +272,11 @@ dependencies:

Since we are using the generic BSP, we need to set the configuration parameters using the configuration menu.

- LED connected to the **GPIO8** via RMT (addressable)
- LED connected to the **GPIO8** via RMT (addressable)

The configuration parameters can be set in the file `sdkconfig`.

Open the file `sdkconfig` to open the configuration. If the file is not in the project folder, you will need to build the project first.
> **Note**: If the `sdkconfig` file does not exist in the project folder, you need to build the project. This file is only created after the first build.

On the SDK Configuration, go to `Component config` -> `Board Support Package (generic)`

Expand Down
20 changes: 15 additions & 5 deletions content/workshops/esp-idf-with-esp32-c6/assignment-3/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 3"
date: 2024-06-03T00:00:00+01:00
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 3: Connect to Wi-Fi"
date: 2024-06-28T00:00:00+01:00
showTableOfContents: false
series: ["WS001"]
series_order: 4
Expand All @@ -17,7 +17,9 @@ Now it's time to connect the ESP32-C6 to a Wi-Fi network. The ESP32-C6 supports

The ESP32 supports both Station and SoftAP modes.

{{< alert icon="circle-info">}}
For this assignment, we will set up the station mode Wi-Fi driver and connect to a Wi-Fi 4 / Wi-Fi 6 network, using the same project as used in the assignment [Create a project with Components](../assignment-2/) where a BSP was used.
{{< /alert >}}

#### Hands-on Wi-Fi

Expand Down Expand Up @@ -78,8 +80,8 @@ Using the struct `wifi_config_t`, set up Wi-Fi as `sta`:
.ssid = WIFI_SSID,
// Set the network pass key
.password = WIFI_PASS,
// Set WPA2 or WPA3 with Pre-Shared Key (PSK) as the authentication mode
.threshold.authmode = WIFI_AUTH_WPA2_WPA3_PSK,
// Set WPA as the authentication mode
.threshold.authmode = WIFI_AUTH_WPA_PSK,
// Set Simultaneous Authentication (SAE) and Password Element (PWE) derivation method
.sae_pwe_h2e = WPA3_SAE_PWE_BOTH,
// Set the password identifier for H2E (Hash-to-Element)
Expand Down Expand Up @@ -168,6 +170,14 @@ static void event_handler(void* arg, esp_event_base_t event_base,
wifi_init_sta();
```

#### Troubleshooting

If you have issues with the `esp_wifi.h` not being found, please add to the `main/CMakeLists.txt`:

```txt
REQUIRES esp_wifi esp_netif esp_event nvs_flash
```

#### Assignment Code

Here you can find the full code for this assignment:
Expand Down Expand Up @@ -253,7 +263,7 @@ void wifi_init_sta(void)
.sta = {
.ssid = WIFI_SSID,
.password = WIFI_PASS,
.threshold.authmode = WIFI_AUTH_WPA2_WPA3_PSK,
.threshold.authmode = WIFI_AUTH_WPA_PSK,
.sae_pwe_h2e = WPA3_SAE_PWE_BOTH,
.sae_h2e_identifier = "",
},
Expand Down
8 changes: 6 additions & 2 deletions content/workshops/esp-idf-with-esp32-c6/assignment-4/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 4"
date: 2024-06-03T00:00:00+01:00
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 4: Try using NVS"
date: 2024-06-27T00:00:00+01:00
showTableOfContents: false
series: ["WS001"]
series_order: 5
Expand All @@ -13,6 +13,10 @@ As you can see from the last assignment, the Wi-Fi credentials were stored hard-

On this assignment, we will see how to store data to [Non-Volatile-Storage (NVS)](https://docs.espressif.com/projects/esp-idf/en/release-v5.2/esp32/api-reference/storage/nvs_flash.html). NVS is often called "emulated EEPROM", but the ESP32 does not have any embedded EEPROM, so NVS uses flash memory.

{{< alert icon="circle-info">}}
For this assignment, we will use the same project as we used in the previous assignment [Connect to Wi-Fi](../assignment-3/).
{{< /alert >}}

The NVS library was designed to store small key-value pairs, including `integer`, `string`, and `blob` types.

> String values are currently limited to 4000 bytes. This includes the null terminator. Blob values are limited to 508,000 bytes or 97.6% of the partition size - 4000 bytes, whichever is lower.
Expand Down
12 changes: 9 additions & 3 deletions content/workshops/esp-idf-with-esp32-c6/assignment-5/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 5"
date: 2024-06-03T00:00:00+01:00
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 5: Wi-Fi provisioning"
date: 2024-06-26T00:00:00+01:00
showTableOfContents: false
series: ["WS001"]
series_order: 6
Expand Down Expand Up @@ -29,7 +29,11 @@ Install the provisioning application on your smartphone.

2. **Create a new project from the examples**

Create a new ESP-IDF project using the example `provisioning` -> `wifi_prov_mgr`.
{{< alert icon="circle-info">}}
For this assignment, we will create a new project based on the example [wifi_prov_mgr](https://github.com/espressif/esp-idf/tree/master/examples/provisioning/wifi_prov_mgr).
{{< /alert >}}

Create a new ESP-IDF project using the example `provisioning` -> `wifi_prov_mgr` as starting point.
f-hollow marked this conversation as resolved.
Show resolved Hide resolved

For existing projects, you can use the component [espressif/network_provisioning](https://components.espressif.com/components/espressif/network_provisioning).

Expand All @@ -45,6 +49,8 @@ Now you can build and flash (run) the example to your device.
>
> `idf.py fullclean`

Before flashing, make sure to do a **flash erase** to avoid connecting to the Wi-Fi with the wrong credentials.

After building your application, open the `ESP-IDF Serial Monitor`.

1. **Provisioning**
Expand Down
10 changes: 7 additions & 3 deletions content/workshops/esp-idf-with-esp32-c6/assignment-6/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 6"
date: 2024-06-03T00:00:00+01:00
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 6: Protocols"
date: 2024-06-25T00:00:00+01:00
showTableOfContents: false
series: ["WS001"]
series_order: 7
Expand Down Expand Up @@ -33,7 +33,11 @@ By using the certificate bundle to make a secure HTTPS connection using TLS (ESP

1. **Open the Wi-Fi connection assignment project**

For this assignment, we will continue editing the Wi-Fi project. Open the project and make sure the project is building and the Wi-Fi connection is working.
{{< alert icon="circle-info">}}
For this assignment, we will continue editing the [Wi-Fi project - Trying NVS](../assignment-4/) or you can create a new project based on the [protocols/https_x509_bundle](https://github.com/espressif/esp-idf/tree/master/examples/protocols/https_x509_bundle).
{{< /alert >}}

Open the project and make sure the project is building and the Wi-Fi connection is working.

> This assignment will require Internet connection.

Expand Down
10 changes: 6 additions & 4 deletions content/workshops/esp-idf-with-esp32-c6/assignment-7/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 7"
date: 2024-06-03T00:00:00+01:00
title: "ESP-IDF with ESP32-C6 Workshop - Assignment 7: Try using the Low Power core"
date: 2024-06-24T00:00:00+01:00
showTableOfContents: false
series: ["WS001"]
series_order: 8
Expand Down Expand Up @@ -42,8 +42,10 @@ Note that the ULP uses a specific set of pins. Please use the [board pin layout]

For this hands-on, we will walk through the ULP programming to create a blink program to run on the HP core and on the LP core to compare the power consumption on a similar task.

{{< alert icon="eye">}}
**This hands-on requires the ESP-IDF v5.4 (master branch) and some additional hardware (LED and button)**
**This hands-on requires the [ESP-IDF v5.4](https://github.com/espressif/esp-idf/tree/master) (master branch) and some additional hardware (LED and button)**

{{< alert icon="circle-info">}}
For this assignment, you will need to create a new blank project.
{{< /alert >}}

1. **Create the `main/ulp` folder and `main.c` file**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ESP-IDF with ESP32-C6 Workshop - Introduction"
date: 2024-06-03T00:00:00+01:00
date: 2024-07-01T00:00:00+01:00
showTableOfContents: false
series: ["WS001"]
series_order: 1
Expand Down
2 changes: 1 addition & 1 deletion content/workshops/espressif-ide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Espressif-IDE Workshop"
date: 2024-06-03T00:00:00+01:00
disableComments : true
tags: ["Workshop"]
tags: ["Workshop", "ESP-IDF", "ESP32-C6", "Espressif IDE"]
series: ["IDE"]
series_order: 2
authors:
Expand Down
1 change: 1 addition & 0 deletions content/workshops/getting-started-with-ides/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ disableComments : true
tags: ["Workshop"]
series: ["IDE"]
series_order: 1
draft: true
authors:
- pedro-minatel
---
Expand Down
Loading