Improving ESP32-S3 R8 PSRAM operating temperature range from +65 °C to +85 °C
Intro
I you use ESP32S3-N16R8 module or ESP32S3-R8 you have limited operating temperature:
🔺 Issue Description
Industrial devices should have an ability to work at temperature range -40°C to +65 °C, so each component of board should have at lest this operating temperature range.
Range | Commercial | Industrial | Military |
MAX Operating Temperature | +70 °C | +85 °C | +125 °C |
MIN Operating Temperature | 0 °C | -40 °C | -40 °C |
❔ Causing
Built-in PSRAM memory, which cause limited upper operating temperature value (+65 °C):
🔧 Issue Fix
It could pretty easily improved by enabling PSRAM FCC (to increase operating temperature from +65 °C to +85 °C):
To do it you can enable this flag in IDF configs or by adding flag in command line:
Using ESP IDF Configuration Menu
1) Open ESP-IDF and specify folder with project (replace PATH_TO_PROJECT_FOLDER by your path):
cd PATH_TO_PROJECT_FOLDER
2) Specify SoC (if not specified before):
idf.py set-target esp32s3
3) Open configuration menu:
idf.py menuconfig
4) Enable SPI RAM support: Component config ->ESP PSRAM-> Support for external, SPI-connected RAM
![]() | ![]() |
5) Change PSRAM type (according to the datasheet): Component config -> ESP PSRAM ->SPI RAM config -> Mode (QUAD/OCT) -> Octal Mode PSRAM
![]() | ![]() |
6) Set flag (it will be visible only after Octal Mode selection): Component config -> ESP PSRAM -> Enable SPI RAM ECC
![]() |
Technically, it's just GUI for changing sdkconfig file.
Using VSCode Configuration Menu
1) Press on gear icon (SDK Configuration Menu):
2) Type in search ECC and Enable SPI RAM ECC:
Using Configuration File
1) In your project folder you should have sdkconfig file:
2) Open it in text editor (Notepad) or IDE itself and uncomment following string (use Ctrl + F to find it):
CONFIG_SPIRAM_ECC_ENABLE=y
✔ Fixed
To be sure that it's enabled I rebuild firmware after changing configuration file and as you can see ESP logs show it:
I (171) octal_psram: ECC is enabled
Now with this fix you can rate your board/device with industrial upper limit +85 °C.
TIP: It make sense to leave note about this on symbol or schematic sheet. |
Conclusions
- As you can see it's pretty easy to increase operating temperature from +65 °C to +85 °C of ESP32-S3 N8 (8MB PSRAM) to follow industrial temperature range
- You can enable ECC SPI RAM using: menuconfig, VSCode Menu or manually in sdkconfig file
- Technically, if you not use PSRAM you can ignore it, but I recommend to enable ECC for all your projects where it possible since it's easy
- Comments