Skip to content

feat(esp32s3): add PSRAM support - #5554

Open
digitalentity wants to merge 2 commits into
tinygo-org:devfrom
helvionics:de_esp32s3_psram
Open

feat(esp32s3): add PSRAM support#5554
digitalentity wants to merge 2 commits into
tinygo-org:devfrom
helvionics:de_esp32s3_psram

Conversation

@digitalentity

@digitalentity digitalentity commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

PSRAM support for ESP32-S3. Enabled via numa_psram_qspi and numa_psram_octal build tags.

  • OPI PSRAM was tested on ESP32-S3-WROOM-1U-N16R8
  • QSPI PSRAM not tested yet (I don't have the hardware)

Test on QSPI board with: ./build/tinygo flash -size=short -serial=uart -target=esp32s3-psram-qspi -monitor -panic=trap examples/psram

Test on OPI board with: ./build/tinygo flash -size=short -serial=uart -target=esp32s3-psram-octal -monitor -panic=trap examples/psram, should be getting something like this:

=== PSRAM Example ===
psramBuffer start address: 0x3D000000
psramBuffer size:          1048576 bytes
Writing test pattern to PSRAM...
Verifying test pattern...
SUCCESS: PSRAM 1MB read/write verification passed!

Partly fixes #3772

@digitalentity
digitalentity marked this pull request as draft July 24, 2026 22:00
Add runtime initialization, MMU layout, linker script mappings, and targets for ESP32-S3 Quad and Octal PSRAM.
@digitalentity

digitalentity commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

I am removing QSPI support for now. The boards I got also have PSRAM connected via Octo-SPI. Apparently all ESP32-S3 boards with 8M PSRAM use OctoSPI.

OctoSPI is verified on 2 different ESP32-S3 boards now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

How to use esp32 psram?

1 participant