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 support #7713

Closed
1 task done
probonopd opened this issue Jan 14, 2023 · 150 comments
Closed
1 task done

ESP32-C6 support #7713

probonopd opened this issue Jan 14, 2023 · 150 comments
Labels
Chip: ESP32-C6 Issue is related to support of ESP32-C6 Chip Status: Solved Type: Chip support Type: Feature request Feature request for Arduino ESP32
Milestone

Comments

@probonopd
Copy link

Related area

ESP32-C6

Hardware specification

Support for ESP32-C6

Is your feature request related to a problem?

ESP32-C6 is not supported yet

Describe the solution you'd like

Support for ESP32-C6

Describe alternatives you've considered

No response

Additional context

No response

I have checked existing list of Feature requests and the Contribution Guide

  • I confirm I have checked existing list of Feature requests and Contribution Guide.
@probonopd probonopd added the Type: Feature request Feature request for Arduino ESP32 label Jan 14, 2023
@probonopd
Copy link
Author

@lbernstone
Copy link
Contributor

C6 will not be supported until ESP-IDF 5.1, so arduino will not support it until that is released.

@VojtechBartoska
Copy link
Collaborator

VojtechBartoska commented Jan 16, 2023

Hello, support of ESP32-C6 is on our Roadmap, @lbernstone is right that it will be supported in ESP-IDF 5.1 so in Arduino, it will be in version 3.X.X. We'll soon create development branch and we will start working on IDF 5 support there.

@probonopd Thanks for opening the issue, we will use it to track progress on support of ESP32-C6 :)

@tuct
Copy link

tuct commented Jan 31, 2023

My first esp32 c6 dev boards v0.0 arrived today, eager to test it!

@simogaspa84
Copy link

Hi @tuct how did you get it the esp32 c6 dev board? which supplier ? thanks

@negis02
Copy link

negis02 commented Feb 8, 2023

mine also just arrive, i ordered from there: https://www.aliexpress.com/item/1005005125343088.html?spm=a2g0o.order_list.order_list_main.29.28e41802T3MZjD

@simogaspa84
Copy link

Thanks a lot @negis02 .. very kind... are you going to try the new features about cyber security in the C6 dev board?
I am really interested about the trusted execution enviroment and the glitch detector.. Do you know something about that?
Thanks

@seajhawk
Copy link

Hey @simogaspa84 - thanks for posting.
I'm mainly interested in the Thread support, but I'll have to look at the trusted execution and glitch detector features. I wasn't even aware of those!

I'm building an air quality, temp, humidity, CO2 sensor.

Does anyone know if we can use a C3 board for basic prototyping until the C6 support is added?

@tuct
Copy link

tuct commented Feb 12, 2023

I got mine from the official store at aliexpress
€ 9,81 1%OFF | ESP32-C6-DevKitC-1 Entwicklung Bord Espressif Systeme ESP32-C6 Serie * Probe * Limit 2 stücke pro Kunden * (siehe beschreibung)
https://a.aliexpress.com/_mLI99g2
I bought 5, so the limit is new, happy to share of you are close to or in Vienna

@negis02
Copy link

negis02 commented Feb 13, 2023

For me most interesting to try ESP32-c6 in Wi-Fi 6 network, to test all WiFi6 benefits: in some application test and compere real time messaging over Wifi6 in is heavy loaded Wi-Fi with many devices, like MU-MIMO and OFDM AP capability tests with IOT device like this;
and another test: battery life: Wifi6 wake-up timers test with esp32-c6.

@Trevo525
Copy link

Trevo525 commented Feb 14, 2023

You can also purchase from Adafruit's official store. They have 47 in stock at the time of writing this.

46 now, I bought one. 😝

@a-d-r-i-a-n-d
Copy link

I've ordered mine today, looking forward to C6 support.

@MingyaoLiu
Copy link

I just got my esp32-c6 wroom module, looking forward to have arduino capability!

@guumeyer
Copy link

I just got my esp32-c6 wroom module too, looking forward to have arduino capability!

@N0ury
Copy link

N0ury commented Mar 4, 2023

idf.py --version
ESP-IDF v5.1-dev-3710-gacac972f70

It looks like v5.1 has been released ;-)

@me-no-dev
Copy link
Member

It has not. This is just the version that will be used in the future. 5.1 is in ESP-IDF master and needs to be split in it's own branch before it will be released. It has not even been feature-frozen yet :)

@noonien
Copy link

noonien commented Mar 20, 2023

Any update on this?

@djmjr77
Copy link

djmjr77 commented Mar 27, 2023

Update please?

@me-no-dev
Copy link
Member

Guys, please stop asking for update every few days. Before we add support for new chips, there is a lot of work that needs to be done. When that is done (will take way more than few days) most if not all new chips will be supported. We will announce that, so even less reason to keep asking.

@Hedda
Copy link

Hedda commented Apr 20, 2023

Hello, support of ESP32-C6 is on our Roadmap, @lbernstone is right that it will be supported in ESP-IDF 5.1 so in Arduino, it will be in version 3.X.X. We'll soon create development branch and we will start working on IDF 5 support there.

@probonopd Thanks for opening the issue, we will use it to track progress on support of ESP32-C6 :)

As noted, the official Espressif ESP-IDF v5.1, which is currently in development, will include initial support for the new ESP32-C6 chip, however, while Espressif ESP-IDF v5.1 has not yet been released it should mostly work if using the master branch in esp-idf repository. If you want to track the development status then follow these the updates made to these other issues for ESP32-C6:

#7852

espressif/esp-idf#10423

@LenReinhart
Copy link

Another waiting for C6 support. Subscribed.

@Jason2866
Copy link
Collaborator

Jason2866 commented Jan 11, 2024

@maxdd There is probably no easy answer possible. It depends how fast is the switching between wifi and zigbee. If this is implemented well, there is a chance wifi and zigbee performs really well with no really performance penalty. If this happens not smooth performance will be horrible. Real world usage examples will show.
Imho espressif has to deliver a zigbee coordinator Firmware which shows the power of the C6 in this use case. Before this happens it is a paper tiger, no one really will make a commercial product with. There are too many good alternatives already which can be choosen.

@simogaspa84
Copy link

Hi guys news about C6 support in platformio ? How is going the integration process? Thanks

@TD-er
Copy link
Contributor

TD-er commented Jan 16, 2024

When using the platform_packages made by @Jason2866 you can use the C6 perfectly fine.
I've been working on the C2/C6 for a few months now and all features already present in the other modules, including wifi6 (802.11ax) are working just fine.
I haven't tested the 802.15.4 yet, so can't speak about it from experience.

@simogaspa84
Copy link

Hi @TD-er can you copy ini the platformio.ini file to use Esp32-c6 with platformio and arduino framework? Thanks a lot

@TD-er
Copy link
Contributor

TD-er commented Jan 16, 2024

see: https://github.com/letscontrolit/ESPEasy/blob/mega/platformio_core_defs.ini

and newer builds made by Jason:
https://github.com/Jason2866/esp32-arduino-lib-builder/releases
You need the release/v5.1 ones as platform_package
and pay attention to use the ones without "solo1" in the name

@Jason2866
Copy link
Collaborator

Build from yesterday. Complete setup just use this

 platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.01.11/platform-espressif32.zip

@gtom84
Copy link

gtom84 commented Feb 25, 2024

I can't seems to get to work ESP32-C6 with Arduino IDE 2.3.2 using Alpha3 Board Library from Dev channel https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

I installed alpha3 to Arduino IDE, selected ESP32C6 board. I created a super simple sketch, no external libraries. Compilation and upload are OK but there is nothing coming out of ESP32 on Serial port.

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello world");
  delay(1000);
}

If I compile this example (in C) or an example from ESP-IDF, compile it with idf.py build and upload it to ESP32-C6 then it works OK. It must be something with Arduino IDE. Is there another step required after installation and selected of the board in Arduino IDE?

@TD-er
Copy link
Contributor

TD-er commented Feb 25, 2024

What is your "Serial port"?
Do you use an USB to serial chip or is the USB connector connected directly to the ESP32-C6?
If you are using this "native USB" serial port you need to enable to use the HWCDC port.
Maybe there are also board definitions which have this already set, so you then only need to select a different board.

@JannikRoesch
Copy link

I can't seems to get to work ESP32-C6 with Arduino IDE 2.3.2 using Alpha3 Board Library from Dev channel https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

I installed alpha3 to Arduino IDE, selected ESP32C6 board. I created a super simple sketch, no external libraries. Compilation and upload are OK but there is nothing coming out of ESP32 on Serial port.


void setup() {

  // put your setup code here, to run once:



}



void loop() {

  // put your main code here, to run repeatedly:

  Serial.println("Hello world");

  delay(1000);

}



If I compile this example (in C) or an example from ESP-IDF, compile it with idf.py build and upload it to ESP32-C6 then it works OK. It must be something with Arduino IDE. Is there another step required after installation and selected of the board in Arduino IDE?

I think you forgot to call something like "Serial.begin(115200)" in your setup function.

@anyonecan
Copy link

What is your "Serial port"? Do you use an USB to serial chip or is the USB connector connected directly to the ESP32-C6? If you are using this "native USB" serial port you need to enable to use the HWCDC port. Maybe there are also board definitions which have this already set, so you then only need to select a different board.

I have a problem similar to gtom84. I have the ESP32-C6-DevKitM-1 board and I've added Serial.print s to the Blink example, with boards selected from the 3.0.0.a library. I'm using the USB connector and uploads are OK so I think the basic connection is good. Depending on which board is selected, I can get the LED or Serial to work, or neither works, but not all the same time.

It should be simple to fix the LED problem, but I haven't succeeded yet. Would say the native port is already enabled? If not, how do I do that?

@slaesh
Copy link

slaesh commented Mar 11, 2024

facing an issue with the async TCP connection, at least I guess so. pretty complex project, trying to strip it down.

basically what happens:

connecting to an mqtt broker via WiFi connection. working fine. sending a message every few seconds, no problem. receiving messages works too. unless, after a period of time (yet unknown) receiving a message crashes the esp and it restarts.
message is bot being processed, no logs being printed in any callback. (added delays to ensure it would be printed). it's still sending messages, but after not received messages for a longer period and then receiving one makes problems.

trying to break it down to a minimal code basis :)
anyone facing similar issues?

using the asyncmqttclient which uses the now built in "esp async TCP" library.

EDIT: same code works on another esp32 flawless for several months :) esp32-pico-v3.

@Jason2866
Copy link
Collaborator

Jason2866 commented Mar 11, 2024

@slaesh Only can say Tasmota works stable with the C6 (test run a few days) no crash or reboot. Tasmota uses mqtt (modified pubsubclient) by default. There was a BME280 sensor connected, providing sensor data every 5 minutes via mqtt.

@TD-er
Copy link
Contributor

TD-er commented Mar 11, 2024

Also ESPEasy works fine on the C6 with MQTT and some sensors connected.

@slaesh
Copy link

slaesh commented Mar 15, 2024

thanks @Jason2866 @TD-er , works now fine. had a weird mis-configuration somehow. was going to a newer platform_packages build and got weird compile time errors like saying that the WiFiEvent_t type is missing and other stuff.. after completly removing and re-installing platformio and all deps it went away.. Oo dunno what this was, but now it works as expected! :)) thanks for your feedback, so I could narrow it down faster :)

@probonopd
Copy link
Author

Cool. Is there zigbee support and an example?

@VojtechBartoska
Copy link
Collaborator

@probonopd ported ESP-IDF examples to Arduino are here: https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Zigbee

@ITstreet1
Copy link

Top!!!
Will it be available through a package update soon?

@kroon040
Copy link

Hi,

I also run tasmota with and esp32-c6. It connects to g-HE (AX), but I noticed ping from a client to the esp32c6 I got a ttl of 63 instead of 254? @Jason2866 is this also with your device, and is it tasmota of arduino related?

@TD-er
Copy link
Contributor

TD-er commented Mar 15, 2024

What do you mean by a TTL of 63?

Not sure if this also applies when connecting via AX (thus HE instead of HT), but I also have set this in my (ESPEasy) code:

  // HT20 = 20 MHz channel width.
  // HT40 = 40 MHz channel width.
  // In theory, HT40 can offer upto 150 Mbps connection speed.
  // However since HT40 is using nearly all channels on 2.4 GHz WiFi,
  // Thus you are more likely to experience disturbances.
  // The response speed and stability is better at HT20 for ESP units.
  esp_wifi_set_bandwidth(WIFI_IF_STA, WIFI_BW_HT20);

This bandwidth enum does only have HT20/HT40.

I noticed that ESP32-xx does perform less 'snappy' when using HT40.
So maybe this also does help something when you may experience poor response when connected via AX?

I did add WiFi 6 support after setting this bandwidth limitation so I never tried without.

@Jason2866
Copy link
Collaborator

@kroon040 i have no wifi 6 equipment

@kroon040
Copy link

What do you mean by a TTL of 63?

Here exmapl of 3 devices , the last with esp32-c6, all with tasmota .
Fist is a normal esp32 device

ping 192.168.170.68
PING 192.168.170.68 (192.168.170.68) 56(84) bytes of data.
64 bytes from 192.168.170.68: icmp_seq=1 ttl=254 time=33.1 ms
64 bytes from 192.168.170.68: icmp_seq=2 ttl=254 time=7.44 ms
64 bytes from 192.168.170.68: icmp_seq=3 ttl=254 time=75.6 ms
64 bytes from 192.168.170.68: icmp_seq=4 ttl=254 time=8.09 ms

An esp32-c3 device

PING 192.168.170.35 (192.168.170.35) 56(84) bytes of data.
64 bytes from 192.168.170.35: icmp_seq=1 ttl=254 time=3.00 ms
64 bytes from 192.168.170.35: icmp_seq=2 ttl=254 time=2.81 ms
64 bytes from 192.168.170.35: icmp_seq=3 ttl=254 time=2.75 ms

The esp32-c6 device

ping 192.168.170.103
PING 192.168.170.103 (192.168.170.103) 56(84) bytes of data.
64 bytes from 192.168.170.103: icmp_seq=1 ttl=63 time=36.6 ms
64 bytes from 192.168.170.103: icmp_seq=2 ttl=63 time=60.2 ms
64 bytes from 192.168.170.103: icmp_seq=3 ttl=63 time=80.5 ms

@Jason2866
Copy link
Collaborator

Looks like a different setting choosen for TTL with the C6. Will have no impact in real life.
The high ping times in relation to the other devices is something which is not good.

@TD-er
Copy link
Contributor

TD-er commented Mar 15, 2024

I hardly ever pay attention to the TTL of ping.
I only use it for traceroute/tracepath kinda stuff as that's using the TTL of a ping to get some idea of the route a packet takes to reach some host.
On each 'hop' the TTL is decreased with 1 (typically) and as soon as the TTL reaches 0, it is discarded.
I have no clue why it is set to 63 here as I doubt it has already taken 192 hops to reach your ESP and I assume you did do these pings from the same machine?
If not, then that's probably your answer as the initial TTL value can be different from platform to platform.

I doubt any hop on the route to your ESP will 'restart' the TTL at some much lower value like 128 or 64 as this can mess with tools like traceroute/tracepath. (though I doubt you will ever need more than ~30 hops to reach anything)

@229311JK
Copy link

229311JK commented Apr 6, 2024

Top!!! Will it be available through a package update soon?

Look below....

@229311JK
Copy link

229311JK commented Apr 6, 2024

To the Devs, you guys do great work & thanks 4 ESP-32 H2/C6 support! Any simple way to contribute, please contact me. Very talented, just want to crawl before sprinting... To all you others, here you go: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json. Cut/paste to your IDE board manager URLS, download and go to your board options. Credits to Sparkfun Industries, https://docs.sparkfun.com...

@VojtechBartoska
Copy link
Collaborator

VojtechBartoska commented May 28, 2024

Hello all,

version 3.0.0-stable was released yesterday and it includes support for ESP32-C6.

I am closing this ticket as solved and if you find any new issue related to ESP32-C6 chip, please open a new ticket.

Thanks for your contribution.

@VojtechBartoska VojtechBartoska added Status: Solved and removed Status: In Progress Issue is in progress labels May 28, 2024
@VojtechBartoska VojtechBartoska unpinned this issue May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chip: ESP32-C6 Issue is related to support of ESP32-C6 Chip Status: Solved Type: Chip support Type: Feature request Feature request for Arduino ESP32
Projects
Development

No branches or pull requests