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

Necessity of PSRAM #119

Closed
second-string opened this issue Oct 7, 2021 · 2 comments
Closed

Necessity of PSRAM #119

second-string opened this issue Oct 7, 2021 · 2 comments

Comments

@second-string
Copy link
Contributor

I have multiple ESP32 dev boards holding different version of the ESP32-WROOM chip, not the WROVER. This chip doesn't specifically support PSRAM, erroring and rebooting when it's enabled in menuconfig. I've made a separate PCA to serve as a breakout board between the ESP32 and an ED060SC4 that's very similar to the schematic provided in the hardware/epaper_breakout directory.

I understand the need for external RAM for larger frame buffers and front/back buffers, but I'm a bit confused on how it's used here. According to comments here #21, it's not 100% necessary. Theoretically I should be able to switch all of the MALLOC_CAP_SPIRAM to MALLOC_CAP_8BIT + comment out the #ifndef checking the Kconfig value, and as long as I have enough internal ram I should be okay yeah? (I'd test this but I need to find an 8MB dev board, mine are 4MB)

What's confusing me is that I see a footprint for the bare WROVER chip in the gerber files under hardware/epaper-breakout but I can't find any external RAM in the BOM.csv file. What's the point of the preprocessor check for PSRAM being enabled if the board itself doesn't use it? Or is that footprint for some other type of use and those gerbers except an ESP32 dev board w/ external ram connected to the PSRAM pins to be jumped into it?

I feel like I'm missing something really obvious here.

@vroland
Copy link
Owner

vroland commented Oct 8, 2021

You are right in that the PSRAM is not 100% necessary, but you can't use the highlevel API and you would need to modify to lower-level API to not use full framebuffers but to calculate the display content on-the-fly. Because this makes things more complex, we require the PSRAM to store full framebuffers.

Regarding WROOM and WROVER: these are both differend modules with the ESP32 chip. Under the shielding, there is a PCB with the chip and some auxiliary parts. For the WROVER, these include the PSRAM and flash. That is why there is no RAM chip on the board: The WROVER module already includes it.

@second-string
Copy link
Contributor Author

Yeah I started in on trying to verify basic drawing without the high level stuff yesterday but I need to do some more bringup testing on my board to make sure all the voltages look good.

Ahh I didn't realize it had on-module ram. I got thrown off by espressif's docs where they recommend two different type of ram to use as PSRAM, hence the assumption it was external to the chip. That makes much more sense. Thanks!

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

No branches or pull requests

2 participants