Page 1 of 1

ESP32-D0WDR2-V3 with external flash and emmc

Posted: Tue Aug 09, 2022 1:57 am
by zhouzhendong
Hi,
AFAIK, ESP32-D0WDR2-V3 has a 2MB embedded PSRAM but only 448KB internal flash. Is it possible to connect an external flash (for code and data) and an eMMC (storage only) and make all of three (PSRAM+external flash+eMMC) work together?
When I read page 18 of ESP32 datasheet, above Table 2, it states "Table 2 lists the pin-to-pin mapping between the chip and the embedded flash/PSRAM. The chip pins listed here are not recommended for other usage." This seems to imply that the related PINs (SD_DATA0-3, SD_CLK, GPIO16) are used by embedded PSRAM and cannot be connected to external flash or emmc. Could anyone confirm if that is the case? But without using those PINs, an external flash will not be able to memory mapped into cpu memory space. Am I right?
Thanks for your help.
ZZ

Re: ESP32-D0WDR2-V3 with external flash and emmc

Posted: Tue Aug 16, 2022 3:09 am
by ESP_LJH
You could use those pins occupied by embedded PSRAM to connect an extenal flash( for code and data ), but you should use another free GPIO to connect an eMMC( for storage ).

Re: ESP32-D0WDR2-V3 with external flash and emmc

Posted: Tue Aug 16, 2022 9:08 am
by ESP_igrr
Note that this use case is easier to achieve on ESP32-S3, where the SD/eMMC connection can use any available GPIO.

On the ESP32, you can probably connect the eMMC in 4-line mode to the "SD slot 1" GPIOs (12-15, 2, 4). Depending on your requirements for transfer speed, you may even be okay with running eMMC in 1-line mode. You could also consider using an SD NAND chip instead of an eMMC, which is essentially an SD card in a chip package. It also works in 4-line or 1-line mode.

Re: ESP32-D0WDR2-V3 with external flash and emmc

Posted: Wed Aug 31, 2022 1:37 am
by zhouzhendong
Thanks guys for the replies.
I have successfully connected external flash to the same SPI bus as PSRAM and uses a different CS (SD_CMD). That works fine.
So the datasheet's wording "pins listed here are not recommended for other usage" seems misleading.
emmc is another story and needs to be connected to alternative SD_DATAx pins.
Cheers