Skip to content

Enable PSRAM ECC function in build flags #9280

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

Closed
1 task done
s54b32julian opened this issue Feb 22, 2024 · 10 comments
Closed
1 task done

Enable PSRAM ECC function in build flags #9280

s54b32julian opened this issue Feb 22, 2024 · 10 comments
Labels
Type: Feature request Feature request for Arduino ESP32

Comments

@s54b32julian
Copy link

Related area

PSRAM

Hardware specification

ESP32-S3 Wroom N8 & N16

Is your feature request related to a problem?

On Page 3 of the ESP32 s3 wroom documentation is mentioned that the max ambient temp can be raised to 85°C, if the "PSRAM ECC function" is enabled. How can it be in the build accomplished, that the ECC function is enabled?
https://www.espressif.com/sites/default/files/documentation/esp32-s3-wroom-1_wroom-1u_datasheet_en.pdf

I found very few information about this function on esp32, but 65°C is very quickly reached if the board is exposed to the sun.
Maybe the are the Fuses: EFUSE_FLASH_ECC_EN and EFUSE_FLASH_ECC_MODE

Many thanks in advance!

Describe the solution you'd like

set a build flag to enable ECC function on N8 and N16 variants

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.
@s54b32julian s54b32julian added the Type: Feature request Feature request for Arduino ESP32 label Feb 22, 2024
@lbernstone
Copy link
Contributor

This has to with PSRAM, not your regular flash, so the R number, not the N (or H).
It also consumes 1/16 of your PSRAM for the ECC, and slows down every transaction. I don't think this should be a default setting.
A more useful effort is to make the custom compilation process easier, as the Espressif team is doing

@lucasssvaz
Copy link
Collaborator

lucasssvaz commented Feb 22, 2024

I agree with @lbernstone. This is also going to be made easier by #9270.

@s54b32julian
Copy link
Author

Thanks for fast response! I think the price you have to pay. Losing 1/16th of space and (also roughly 1/16th of the speed?) is a low price to pay, to gain such a huge bump in temperature stability imo)
Especially for outdoor use or in car use. Even more in hot areas of the world.

Is there a way how I can activate this ECC function manually at the moment? I'm using platformIO.

@lucasssvaz
Copy link
Collaborator

lucasssvaz commented Feb 23, 2024

@s54b32julian You'll probably need to re-generate the static libs for your target. Check https://docs.espressif.com/projects/arduino-esp32/en/latest/lib_builder.html

Regarding the e-fuses you can burn them using the esptool.

@lbernstone
Copy link
Contributor

Have you tried setting your CPU speed to 80MHz? I rarely have temperature issues unless the cpu is overclocked.

@s54b32julian
Copy link
Author

Any update on this? I really need to improve the temperature stability in hot environment. The ambient temp ist only rated to 65°C on most Esp32-S3, which is really to low for some applications. The 85°C would help much.

@lucasssvaz
Copy link
Collaborator

@s54b32julian There is nothing to be done here. You can recompile the libraries as you want with the lib builder or use arduino as an IDF component. For the fuses, they can be burnt using esptool

@s54b32julian
Copy link
Author

@s54b32julian There is nothing to be done here. You can recompile the libraries as you want with the lib builder or use arduino as an IDF component. For the fuses, they can be burnt using esptool

But how to enable it, what is the workflow to use this feature? I don't find a build flag or config option to enable this on Arduino IDE or VS Code with platformIO. Any hints on this?

@Parsaabasi
Copy link

Hello,

Due to the overwhelming volume of issues currently being addressed, we have decided to close the previously received tickets. If you still require assistance or if the issue persists, please don't hesitate to reopen the ticket.

Thanks.

@lucasssvaz
Copy link
Collaborator

@s54b32julian Easiest way is to use Arduino as an IDF component. Follow the documentation here to setup your project and then enable the ECC option found here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature request Feature request for Arduino ESP32
Projects
Development

No branches or pull requests

4 participants