Improving ESP32-S3 R8 PSRAM operating temperature range from +65 °C to +85 °C

Intro

Image

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

CommercialIndustrialMilitary

Image

Image

Image

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):

Image

🔧 Issue Fix

It could pretty easily improved by enabling PSRAM FCC (to increase operating temperature from +65 °C to +85 °C):

Image

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):

  1. cd PATH_TO_PROJECT_FOLDER

2) Specify SoC (if not specified before):

  1. idf.py set-target esp32s3

3) Open configuration menu:

  1. idf.py menuconfig

4) Enable SPI RAM support: Component config ->ESP PSRAM-> Support for external, SPI-connected RAM

ImageImage

Image

5) Change PSRAM type (according to the datasheet): Component config -> ESP PSRAM ->SPI RAM config -> Mode (QUAD/OCT) -> Octal Mode PSRAM

ImageImage

6) Set flag (it will be visible only after Octal Mode selection): Component config -> ESP PSRAM -> Enable SPI RAM ECC

Image

Technically, it's just GUI for changing sdkconfig file.

Using VSCode Configuration Menu

1) Press on gear icon (SDK Configuration Menu):

Image

2) Type in search ECC and Enable SPI RAM ECC:

Image

Using Configuration File

1) In your project folder you should have sdkconfig file:

Image

2) Open it in text editor (Notepad) or IDE itself and uncomment following string (use Ctrl + F to find it):

  1. CONFIG_SPIRAM_ECC_ENABLE=y

Image

✔ Fixed

To be sure that it's enabled I rebuild firmware after changing configuration file and as you can see ESP logs show it:

Image

  1. 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
360
No comments yet. Be the first to add a comment!
Cookies?