8000 ports/esp32/boards: Add support for ESP32-S3 boards with Octal SPIRAM by Red-M · Pull Request #8689 · micropython/micropython · GitHub
[go: up one dir, main page]

Skip to content

ports/esp32/boards: Add support for ESP32-S3 boards with Octal SPIRAM #8689

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
wants to merge 3 commits into from

Conversation

Red-M
Copy link
Contributor
@Red-M Red-M commented May 22, 2022

These boards in espressif's documentation list which ESP32-S3s require octal or quad SPIRAM
image

page 11, table 1.2

@Red-M
Copy link
Contributor Author
Red-M commented May 24, 2022

I'll put some more detail around why this needs to be supported as to what boards use this as an example soon, I'm a little rushed at the current time

@Wind-stormger
Copy link
Contributor

ESP32-S3R8 uses Octal SPIRAM.

@Red-M
Copy link
Contributor Author
Red-M commented May 24, 2022

These boards in espressif's documentation list which ESP32-S3s require octal or quad SPIRAM
image

page 11, table 1.2

@Red-M
Copy link
Contributor Author
Red-M commented Jun 12, 2022

@dpgeorge What needs to be done here to get this merged?

@Red-M Red-M force-pushed the master branch 3 times, most recently from ba3a464 to 3157a41 Compare June 21, 2022 11:44
@Red-M
Copy link
Contributor Author
Red-M commented Jun 23, 2022

Can this be reviewed again?

@Red-M
Copy link
Contributor Author
Red-M commented Jul 19, 2022

Is there anything blocking this from being merged?

@Red-M
Copy link
Contributor Author
Red-M commented Oct 5, 2022

I'm still here, waiting.

@victorallume
Copy link
Contributor

I've tried compiling and flashing this PR on an ESP32-S3-WROOM1-N8R8 (8Mb OctoSPI RAM, 8Mb QuadSPI flash) (on an ESP32-S3-DevKitC-1 board), but doesn't get me to a micropython prompt, I just get the following on a repeat every 10s when the WDT times out:

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x8 (TG1WDT_SYS_RST),boot:0xb (SPI_FAST_FLASH_BOOT)
Saved PC:0x40375769
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0xf24
load:0x403c9700,len:0xc44
load:0x403cc700,len:0x2d74
entry 0x403c98f4
W (29) boot.esp32s3: PRO CPU has been reset by WDT.
W (29) boot.esp32s3: APP CPU has been reset by WDT.

I'm compiling using make BOARD=GENERIC_S3_SPIRAM_OCT and using ESP-IDF v4.4.2. If I compile for GENERIC_S3 on the same fork and IDF, I get the same boot info (except the WDT lines starting with W, and a different reset cause and saved PC), but then it proceeds to a micropython prompt.

Any suggestions?

@Red-M
Copy link
Contributor Author
Red-M commented Nov 23, 2022

Sorry for the slow reply, I've been a bit busy elsewhere.
I'm not too sure why that is happening for you but it might be a good idea to check which pins on the board are assigned for the flash and the RAM, they might overlap as this works fine without any errors on my devkit board.

@eggfly
8000
Copy link
Contributor
eggfly commented Nov 30, 2022

Thank you for this change! I want to use this feature on LilyGo T-Embed. It uses S3 and OPI PSRAM.
https://github.com/Xinyuan-LilyGO/T-Embed

@mattytrentini
Copy link
Contributor

The Espressif ESP32-S3 Ordering Guide has a handy list of their dev boards - and which use octal SPIRAM.

Also, I have a LilyGo T-Embed, T-RGB and T-Display-S3, all of which use an ESP32-S3R8 (8MB octal PSRAM). I'll try and test at least one of them...

@eggfly
Copy link
Contributor
eggfly commented Nov 30, 2022

lilygo-t-embed-mpy-with7789.bin.zip
This file is the firmware for Lilygo T-Embed with ST7789 and OPI PSRAM.

@dpgeorge
Copy link
Member

Thanks for the contribution and sorry this got left for so long.

Octal SPIRAM seems to be in a few boards now so will be good to have support for it, and I think a generic board like the one in this PR is a good way to do it.

One thing to change: would be good to enable BLE. That was left out by accident on existing S3 boards, but enabled in 8a91c71 and b705732.

@Red-M are you able to enable BLE on this PR? Then it can be merged.

@Red-M
Copy link
Contributor Author
Red-M commented Dec 16, 2022

I can take a look tomorrow to enable BLE.

@Red-M
Copy link
Contributor Author
Red-M commented Dec 18, 2022

I already had the boards/sdkconfig.ble line for the cmake file, this should be good to go now.

@github-actions
Copy link

Code size report:

   bare-arm:    +0 +0.000% 
minimal x86:    +0 +0.000% 

@codecov-commenter
Copy link

Codecov Report

Merging #8689 (f6a7c06) into master (bb77c1d) will not change coverage.
The diff coverage is n/a.

❗ Current head f6a7c06 differs from pull request most recent head 97aee42. Consider uploading reports for the commit 97aee42 to get more accurate results

@@           Coverage Diff           @@
##           master    #8689   +/-   ##
=======================================
  Coverage   98.49%   98.49%           
=======================================
  Files         155      155           
  Lines       20528    20528           
=======================================
  Hits        20220    20220           
  Misses        308      308           
Impacted Files Coverage Δ
extmod/machine_mem.c 25.00% <ø> (ø)
extmod/machine_pinbase.c 100.00% <ø> (ø)
extmod/machine_signal.c 92.10% <ø> (ø)
extmod/modbtree.c 96.98% <ø> (ø)
extmod/modframebuf.c 100.00% <ø> (ø)
extmod/moduasyncio.c 99.20% <ø> (ø)
extmod/modubinascii.c 100.00% <ø> (ø)
extmod/moducryptolib.c 91.11% <ø> (ø)
extmod/moductypes.c 97.83% <ø> (ø)
extmod/moduhashlib.c 100.00% <ø> (ø)
... and 16 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@dpgeorge
Copy link
Member

Thanks for updating. Squashed and merged in 1290329

@dpgeorge dpgeorge closed this Dec 19, 2022
@mattytrentini
Copy link
Contributor

A little late...but I just successfully tested GENERIC_S3_SPIRAM_OCT on a Wemos S3 PRO:

>mpremote connect com13
Connected to MicroPython at com13
Use Ctrl-] to exit this shell

>>>
MPY: soft reboot
MicroPython v1.19.1-777-g129032941-dirty on 2022-12-19; ESP32S3 module (spiram octal) with ESP32S3
Type "help()" for more information.
>>> import micropython
>>> micropython.mem_info()
stack: 704 out of 15360
GC: total: 8196480, used: 1584, free: 8194896
 No. of 1-blocks: 27, 2-blocks: 8, max blk sz: 18, max free sz: 512168

Thanks @Wind-stormger!

tannewt pushed a commit to tannewt/circuitpython that referenced this pull request Dec 4, 2023
…ker-zero-samd21

Remove Cytron Maker Zero SAMD21 board from repo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants
0