-
Couldn't load subscription status.
- Fork 7.7k
ESP32-S3 Support testing #6197
-
This discussion is for collecting results of testing of ESP32-S3.
ESP32-S3 Official Announcement* Reboot from TinyUSB into Download mode does not yet work on ESP32-S3
|
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 2
Replies: 33 comments 34 replies
-
Testing UART onReceive() I found a deadlock issue for all the SoCs. PR #6201.
Testing ESP32-S3 with UART1, I found an issue with default pins 17 and 18.
I changed it to 14 and 15 and added default pins for UART2 as 19 and 20. PR #6202
Beta Was this translation helpful? Give feedback.
All reactions
-
Thank you guys. I hacked together Platformio support for the S3 and we managed to get Project Tasmota (reduced build variant) already booting :-)
unknown
EDIT: The S3 Arduino branch can be used with this unofficial Platformio setup
platform = https://github.com/Jason2866/platform-espressif32.git#IDF44/ESP32-S3
platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#esp32-s3-support
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 6 -
🎉 1
-
Beta Was this translation helpful? Give feedback.
All reactions
-
BLE is working (in Tasmota) with S3 :-)
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 2
-
Beta Was this translation helpful? Give feedback.
All reactions
-
Where can I add S3 support? Installed 2.0.2 from the boards manager, but it isn't there.
Beta Was this translation helpful? Give feedback.
All reactions
-
you need to install the git version and more specifically use the esp32-s3-support branch. If this seems a bit complicated, I would suggest you hold tight for a week or two and then get it through 2.0.3
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 4
-
Second one seems the right one
Beta Was this translation helpful? Give feedback.
All reactions
-
Sigma Delta on S3 works fine.
S3 has no DAC - not supported.
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi @me-no-dev - I tested C3 and S3 with S3 Branch and it doesn't compile #6027 STA example.
Something is broken. It compiles fine with master branch. This is the issue I talked about DIO/QIO with WiFi for the C3.
It seems to pick up the wrong WiFi Lib...
Using library WiFi at version 1.2.7 in folder: C:\Program Files (x86)\Arduino\libraries\WiFi
I'll remove Arduino WiFi Original Library from my libraries folder and test it again.
But anyway, should it turn on some yellow light?
Error Message from Compiler (it happens with C3 and S3 as target):
'class WiFiClass' has no member named 'mode'
UPDATE 1
I noticed that Compiling with S3 branch outputs a lot of the same warning message below:
<command-line>: warning: ISO C++11 requires whitespace after the macro name
UPDATE 2 - regarding WiFi C3 QIO/DIO issue:
It is confirmed to happen also with S3 brach.
#6027 is an issue.
C3 only runs #6027 STA example when Arduino IDE menu is set to DIO.
QIO generates continuos resets with this message (first boot and following RESETs with WDT problem):
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd6100,len:0x420
load:0x403ce000,len:0x90c
load:0x403d0000,len:0x2370
SHA-256 comparison failed:
Calculated: aa1a3928be93313ac51da0f5a7b98a2f7e879a860d87d81c1ca48e1b45efd195
Expected: b6b3c68f4d9f1b7ef7af034358bf209b1e4d6e5cd0250d873938802b1ee08471
Attempting to boot anyway...
entry 0x403ce000
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x8 (TG1WDT_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x403819d6
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd6100,len:0x420
load:0x403ce000,len:0x90c
load:0x403d0000,len:0x2370
SHA-256 comparison failed:
Calculated: aa1a3928be93313ac51da0f5a7b98a2f7e879a860d87d81c1ca48e1b45efd195
Expected: b6b3c68f4d9f1b7ef7af034358bf209b1e4d6e5cd0250d873938802b1ee08471
UPDATE 3
Deeper analysis of the issue #6027 indicates that the problem has nothing to do with WiFi!
It has no relationship with wifi.begin() or any WiFi library.
The problem is related to using GPIO13 as LED in the Sketch.
This GPIO is used by ESP32-C3 in QIO Flash access.
To solve it, just change the LED pin in the sketch.
Issue has been closed.
Beta Was this translation helpful? Give feedback.
All reactions
-
@SuGlider Adopted the S3 lib bulder for Tasmota. The builded framework used with Platformio does compile without any warning for the S3. I can confirm the QIO issue with the C3
Beta Was this translation helpful? Give feedback.
All reactions
-
❤️ 1
-
@SuGlider Adopted the S3 lib bulder for Tasmota. The builded framework used with Platformio does compile without any warning for the S3. I can confirm the QIO issue with the C3
Thanks Jason for testing it!
Regarding the QIO issue with the C3, it ended up being a missconfiguration of the GPIO used to light up a LED in the sketch.
The example used GPIO 13 which is used in Flash QIO acesss mode.
Just changing the LED GPIO in the sketch fixed the issue #6027
Beta Was this translation helpful? Give feedback.
All reactions
-
Still not working i had to switch to DIO mode (no Flash Gpios are used) espressif/esp32-arduino-lib-builder#59 This did solve. Maybe it is a Platformio issue?!
Beta Was this translation helpful? Give feedback.
All reactions
-
@P-R-O-C-H-Y Your GPIO refactoring does work :-) Now we need a new OneWire lib ;-)
Beta Was this translation helpful? Give feedback.
All reactions
-
@P-R-O-C-H-Y Your GPIO refactoring does work :-) Now we need a new OneWire lib ;-)
@Jason2866
Thanks, but there is a issue with interrupts on S3. For me they did not work. I am working on that. Can you give it a try please?
Beta Was this translation helpful? Give feedback.
All reactions
-
@P-R-O-C-H-Y Yep interrupts does not work. We dont use interrupts, so i did not fall over that.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Update:
- Hall sensor is not supported.
- Temp sensor is supported (now in progress in ESP-IDF)
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Esp-idf 4.4-ESP32 S3
In the function
uint32_t ledc_get_freq(ledc_mode_t speed_mode, ledc_timer_t timer_num)
The clock_Divider in the formula when the frequency is returned is 0 and is used as the denominator
Causes a direct restart when using this function
Prompt message "IntegerDivideByZero"
Beta Was this translation helpful? Give feedback.
All reactions
-
Thank you for testing. PR with fix #6371.
Beta Was this translation helpful? Give feedback.
All reactions
-
The Esp - 4.4 ESP32 S3 idf
When sampling with ADC Digi
esp_err_t adc_digi_read_bytes(uint8_t *buf, uint32_t length_max, uint32_t *out_length, uint32_t timeout_ms);
All the data read is zero, even when using the official example, and the related functions return ESP_OK
Beta Was this translation helpful? Give feedback.
All reactions
-
Thank you for testing. I can confirm this issue, but this function is never used in Arduino-esp32.
So I will forward this to ESP-IDF team :)
Beta Was this translation helpful? Give feedback.
All reactions
-
Problem is already tracked and beiing solved here: espressif/esp-idf#8485
Beta Was this translation helpful? Give feedback.
All reactions
-
❤️ 1
-
问题已经跟踪并在此处解决:espressif/esp-idf#8485
ok ,thank you
Beta Was this translation helpful? Give feedback.
All reactions
-
ESP32 S3 ULP is turned off by default in the Arduino framework
in sdkconfig.h
#define CONFIG_ESP32S3_ULP_COPROC_RESERVE_MEM = 0
Currently there is no way to open it without recompiling the ARDUINO-ESP32 library
Is there any way?
Beta Was this translation helpful? Give feedback.
All reactions
-
Is there any update on this?
Beta Was this translation helpful? Give feedback.
All reactions
-
Just bumping this if it is ready?
Beta Was this translation helpful? Give feedback.
All reactions
-
ULP support is enabled in the compiled and used Arduino libs. So if you manage to include ULP code somehow in your Arduino code it will work.
There is and there is no plan to support the ULP build process in Arduino.
Beta Was this translation helpful? Give feedback.
All reactions
-
So there isn't any actual way to write a ULP piece of code leveraging Arduino Framework - for example using I2C to check a sensor?
Beta Was this translation helpful? Give feedback.
All reactions
-
Correct, writing ULP code with Arduino framework is not possible.
Beta Was this translation helpful? Give feedback.
All reactions
-
@me-no-dev Are other PSRAM Variants useable than qio? There is just this
https://github.com/espressif/arduino-esp32/blob/esp32-s3-support/tools/platformio-build-esp32s3.py#L298
and if yes, how do i activate (flag, setting) is needed in Platformio
Beta Was this translation helpful? Give feedback.
All reactions
-
it's currently not supported in PIO. I guess it needs a new setting that would control which variant is possible.
Beta Was this translation helpful? Give feedback.
All reactions
-
@me-no-dev @maxgerhardt did a suggestion here how to solve Jason2866/platform-espressif32#12 (comment)
Beta Was this translation helpful? Give feedback.
All reactions
-
For flashing the S3 esptool.py needs a fix since bootloader is not patched for correct flash size.
See espressif/esptool#728 Until it gets merged a updated version is here
A actual s3 branch build for platformio users
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.3/platform-espressif32-2.0.3.zip
EDIT: The PR with the fix for S3 is merged and a updated esptool.py v3.3 is released from espressif
Beta Was this translation helpful? Give feedback.
All reactions
-
@me-no-dev What reason is there for setting # CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE is not set in sdkconfig? I have enabled WPA3 and it works.
Beta Was this translation helpful? Give feedback.
All reactions
-
was it set before?
Beta Was this translation helpful? Give feedback.
All reactions
-
No it was not. Why not enabling, when it works? Imho better WPA3 enabled than WPA ;-)
Beta Was this translation helpful? Give feedback.
All reactions
-
since it was not set, it should be a separate PR to enable that feature. It's not part of the S3 support.
Beta Was this translation helpful? Give feedback.
All reactions
-
Note that enabling WPA3 support increases the binary size. It's probably something we'll have to enable eventually, but due to the increased code size we should preferably do this in a minor release (2.1.0), not in a patch release (2.0.3).
Beta Was this translation helpful? Give feedback.
All reactions
-
Just looked at the lib builder and realized that the support for WPA3 is there except for the ESP32.
The config is inconsistent at the moment. The code size increase is not big.
(I am fine as it is now, since we use our own builded version, with some different settings)
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi just tested today git :
seemstools\sdk\esp32s3\include\driver\esp32s3\include\driver\temp_sensor.h miss the corresponding code :|
... core\core.a(esp32-hal-misc.c.o):(.literal.temperatureRead+0x4): undefined reference to `temp_sensor_set_config'
... core\core.a(esp32-hal-misc.c.o):(.literal.temperatureRead+0x8): undefined reference to `temp_sensor_start'
... core\core.a(esp32-hal-misc.c.o):(.literal.temperatureRead+0xc): undefined reference to `temp_sensor_read_celsius'
... core\core.a(esp32-hal-misc.c.o):(.literal.temperatureRead+0x10): undefined reference to `temp_sensor_stop'
... core\core.a(esp32-hal-misc.c.o): in function `temperatureRead':
same for tools\sdk\esp32s3\include\esp_hw_support\include\soc\rtc_wdt.h for example void rtc_wdt_feed(void); => undefined reference tortc_wdt_feed`
the header are there but not the corresponding code/lib ?
Beta Was this translation helpful? Give feedback.
All reactions
-
Temp Sensor support is not yet implemented
Beta Was this translation helpful? Give feedback.
All reactions
-
Ok, thank you, because above status is : to be tested so I was not sure compared to the in progress comment, that said the ESP32 status is also wrong for same topic ^_^
Beta Was this translation helpful? Give feedback.
All reactions
-
@luc-github sorry for confusion, I updated a table to make it more clear that Temp sensor is not supported yet.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
** GPIO interrupts work only on CORE 0 on ESP32-S3. Fix is ready to be merged in esp-idf.
Since this is merged and Arduino libs are compiled with that should not be an issue anymore
Beta Was this translation helpful? Give feedback.
All reactions
-
Yes, its fixed now :)
I will change the notes. Thanks @Jason2866 for pointing that out.
Beta Was this translation helpful? Give feedback.
All reactions
-
Any news from TempSensor support in IDF ?
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi @Jason2866 , done in ESP-IDF. At the moment, I'm not sure if it's going to be backported into v4.4. Will let you know when I know the answer and I will update the table.
Beta Was this translation helpful? Give feedback.
All reactions
-
@VojtechBartoska Thx, for the feedback. Looking at IDF master i dont find the commit. Can you link the commit? I would try a backport myself. Seems not that difficult.
Beta Was this translation helpful? Give feedback.
All reactions
-
I am confused what branch is the "latest and greatest"? I see @Jason2866 posting his branch and I think I see @me-no-dev uploading to a different location.
Beta Was this translation helpful? Give feedback.
All reactions
-
The latest available Development release is 2.0.3-RC1, available in Boards Manager
Link here: https://github.com/espressif/arduino-esp32/releases/tag/2.0.3-RC1
If you are a bit more experienced, you can also checkout the Master branch manually.
Link here: https://github.com/espressif/arduino-esp32/tree/master
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi sorry - what is the status for temperature sensor ?
the link In progress in IDF IDF-1793 give no data
For what I can test , in 2.0.3 it is not supported so far.
Will be the case in future release ? or is this feature is definitly removed ?
Not pushing - just would like to get status as in 2.0.3 release notes there is no mention of it, even if it is a limitation that temperature sensor is not working for S3 (API is present but link to nothing)
Beta Was this translation helpful? Give feedback.
All reactions
-
Hello,
S3 temperature support will be fully supported in IDF 5.0, it's part of driver refactoring and there are breaking changes.
Workaround solution for temp sensor for S3 will be backported to IDF 4.4 but it's not ready yet.
Beta Was this translation helpful? Give feedback.
All reactions
-
Thank you ^_^
Beta Was this translation helpful? Give feedback.
All reactions
-
Hello, the functions of esp32 S3 EEPROM and preferences cannot be written normally, but the same program can work normally in esp32 The environment I tested was vscade platformio
Beta Was this translation helpful? Give feedback.
All reactions
-
With what code and platformio.ini did you test that?
Beta Was this translation helpful? Give feedback.
All reactions
-
#include <Arduino.h>
#include "EEPROM.h"
void setup()
{
// put your setup code here, to run once:
//********************************************
int date;
Serial.begin(115200);
Serial.println("");
EEPROM.begin(4096); //
//
Serial.println("read begin");
int data = EEPROM.read(01); //
Serial.println(data);
Serial.println("read done");
delay(200);
data++;
//
Serial.println("write begin");
Serial.println(data);
EEPROM.write(01, data); //
EEPROM.commit(); //
Serial.println("write done");
delay(5000);
ESP.restart(); //
}
void loop()
{
// put your main code here, to run repeatedly:
}
Beta Was this translation helpful? Give feedback.
All reactions
-
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:esp32-s3-devkitc-1] ;4M
platform = espressif32 @ ~4.4.0 ;@ ~3.5.0
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 1500000
Beta Was this translation helpful? Give feedback.
All reactions
-
#include <Arduino.h>
#include <Preferences.h>
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println();
delay(2000);
Preferences prefs; //
prefs.begin("mynamespace"); //
uint32_t count = prefs.getUInt("count", 0); //
//
count++; //
Serial.printf("这是系统第 %u 次启动\n", count);
prefs.putUInt("count", count); //
prefs.end(); //
delay(5000);
ESP.restart(); //
}
void loop()
{
// put your main code here, to run repeatedly:
}
Beta Was this translation helpful? Give feedback.
All reactions
-
@VojtechBartoska Temp Sensor is supported now in IDF 4.4 with this commit
Beta Was this translation helpful? Give feedback.
All reactions
-
Thanks @Jason2866 for the pointer.
Beta Was this translation helpful? Give feedback.
All reactions
-
will be tested by @P-R-O-C-H-Y.
Beta Was this translation helpful? Give feedback.
All reactions
-
@VojtechBartoska @Jason2866 Tested on idf-release/v4.4 branch and temp sensor is fully working on ESP32S3.
Once new IDF version gets merged, it will be available. (PR #6994)
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1