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

How to access full 8MB psram on unexpected maker esp32s3 board #3236

Closed
maxwen opened this issue Mar 8, 2025 · 5 comments
Closed

How to access full 8MB psram on unexpected maker esp32s3 board #3236

maxwen opened this issue Mar 8, 2025 · 5 comments

Comments

@maxwen
Copy link
Contributor

maxwen commented Mar 8, 2025

I have an unexpected maker esp32s3 board
https://esp32s3.com/feathers3.html
This board has 8mb psram

It works fine with quad-psram (giving 2MB psram) but this should support octal-psram - right?
Also giving the espressif datasheet here
https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf

But trying to enable octal-psram gives the following error on boot

INFO - vendor id : 00 (UNKNOWN)
INFO - dev id : 01 (generation 2)
INFO - density : 00 (0 Mbit)
INFO - good-die : 00 (Fail)
INFO - Latency : 01 (Fixed)
INFO - VCC : 00 (1.8V)
INFO - SRF : 00 (Slow Refresh)
INFO - BurstType : 00 ( Wrap)
INFO - BurstLen : 00 (16 Byte)
INFO - Readlatency : 02 (10 cycles@Fixed)
INFO - DriveStrength: 00 (1/1)
WARN - PSRAM ID read error: 0, PSRAM chip not found or not supported, or wrong PSRAM line mode

Given the fact that vendors of esp32 boards do very weired things sometimes
I was wondering if there is any way I can try to narrow down this issue to
get the octal-psram support working

Looking at the octal-psram specific code in psram_init
I found a few comments like
// CONFIG_SPIRAM_ECC_ENABLE not yet supported
Is the missing support of this board based on this missing things?

If yes is there anything I can do to help here?

@bugadani
Copy link
Contributor

bugadani commented Mar 8, 2025

By eye, that board has at most quad psram. The chip itself has 8 pins on the picture, and you need at least one power and ground pin, a clock and a chip select signal, leaving you with at most 4 data lines.

@Dominaezzz
Copy link
Collaborator

I have an unexpected maker esp32s3 board
https://esp32s3.com/feathers3.html
This board has 8mb psram

8MB of extra QSPI PSRAM

That board doesn't support octal mode

@maxwen
Copy link
Contributor Author

maxwen commented Mar 8, 2025

Ok updated the question the :)
How can I then access the 8MB? as said with quad-psram I only get 2MB

@maxwen maxwen changed the title Enable octal-psram support for unexpected maker esp32s3 board How to access full 8MB psram unexpected maker esp32s3 board Mar 8, 2025
@maxwen maxwen changed the title How to access full 8MB psram unexpected maker esp32s3 board How to access full 8MB psram on unexpected maker esp32s3 board Mar 8, 2025
@bjoernQ
Copy link
Contributor

bjoernQ commented Mar 8, 2025

You can set the PSRAM size in esp-hal's config: https://docs.espressif.com/projects/rust/esp-hal/1.0.0-beta.0/esp32s3/esp_hal/struct.Config.html#method.with_psram

@maxwen
Copy link
Contributor Author

maxwen commented Mar 8, 2025

Ok now I feel stupid :)

Just for reference if someone else searches for it how to do it

    let mut psram_config = PsramConfig::default();
    psram_config.size = PsramSize::Size(8 * 1024 * 1024);
    let peripherals = esp_hal::init(esp_hal::Config::default().with_psram(psram_config));

Thx

@maxwen maxwen closed this as completed Mar 8, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in esp-rs Mar 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

4 participants