ESP-WROOM-32 Flash Size

markwj
Posts: 90
Joined: Tue Mar 08, 2016 5:03 am

ESP-WROOM-32 Flash Size

Postby markwj » Tue Apr 25, 2017 6:42 am

The standard ESP-WROOM-32 module has GD25Q32 SPI flash, which is 32Mbits. That is 4MB, but using OTA feature (one factory image, one running OTA image, and one download OTA image), the maximum program size comes down to only about 1MB and that is not sufficient for our application.

I've tried adding an external flash, but that doesn't seem to work - it conflicts with the GD25Q32 which can't seem to be disabled. Putting the external flash on a different SPI bus doesn't work as it can't be memory mapped (and anyway, the number of pins we have is already limited).

I've asked Espressif sales about this, but they don't seem to understand the question. It seems that there are three possible solutions:

1] A custom ESP-WROOM-32 build using GD25Q127C (or similar) with 128Mbits (16MB) flash, giving us 4MB+ maximum OTA image size.
2] A custom ESP-WROOM-32 build without any flash chip added, so the existing GPIO6, GPIO7, GPIO8, GPIO9, GPIO10 and GPIO11 pins can be used to allow us to add a GD25Q127C (or similar) on our external circuit.
3] Build our own ESP-WROOM-32 using ESP-32 bare module, and whatever we want.

Is [1] or [2] possible, as [3] is painful? Anybody at Espressif can help us with this?

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: ESP-WROOM-32 Flash Size

Postby WiFive » Tue Apr 25, 2017 9:12 am

You can possibly remap flash pins in efuse to boot from another chip. Maybe changing 1-2 pins is enough? Or you could have OTA stored in external flash and custom bootloader, although you said you don't have the pins.

I think it is somewhat likely they will start making wroom32 with bigger flash as it is a common request. Unpopulated flash is also an interesting suggestion.

It is frustrating how sales doesn't have much information. There should be internal FAQ/forum between sales, supply chain, and hw design.

ESP_igrr
Posts: 2067
Joined: Tue Dec 01, 2015 8:37 am

Re: ESP-WROOM-32 Flash Size

Postby ESP_igrr » Tue Apr 25, 2017 10:39 am

I'll reply regarding this point, and will ask colleagues to reply about custom module availability (yes, you can order modules with larger flash size)
I've tried adding an external flash, but that doesn't seem to work - it conflicts with the GD25Q32 which can't seem to be disabled. Putting the external flash on a different SPI bus doesn't work as it can't be memory mapped (and anyway, the number of pins we have is already limited).
You can connect an external flash chip in parallel to the internal one, just using another pin as CS. Then EFUSEs can be configured so that the external flash chip is used instead of the internal one, using espefuse.py tool in IDF.

ESP_Shelley
Posts: 0
Joined: Thu Jun 16, 2016 6:31 am

Re: ESP-WROOM-32 Flash Size

Postby ESP_Shelley » Tue Apr 25, 2017 12:28 pm

Hi, our dear customer,
Firstly, could you please give us your email address which you send your questions to our "sales@espressif.com". And actually, we still have to ask you to make customized module order via that window. And we hope we can contact you via that window as many business colleagues can help you together.
Then, you can just use the [1] solution. Espressif will accept custom module order. But we have minimum order requirement. The MOQ for custom module is 5000pcs, we will suggest 5500pcs as in one wheel there are 550pcs.
If any questions, please do not hesitate to ask us. And we team will try our best to help.

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: ESP-WROOM-32 Flash Size

Postby WiFive » Tue Apr 25, 2017 4:25 pm

Hopefully espressif will consider making a 128 or 256mbit version a standard offering especially with this new feature https://github.com/espressif/esp-idf/co ... 7468897325

I think many customers would be interested.

markwj
Posts: 90
Joined: Tue Mar 08, 2016 5:03 am

Re: ESP-WROOM-32 Flash Size

Postby markwj » Wed Apr 26, 2017 1:14 am

ESP_Shelley wrote:Hi, our dear customer,
Firstly, could you please give us your email address which you send your questions to our "sales@espressif.com". And actually, we still have to ask you to make customized module order via that window. And we hope we can contact you via that window as many business colleagues can help you together.
Then, you can just use the [1] solution. Espressif will accept custom module order. But we have minimum order requirement. The MOQ for custom module is 5000pcs, we will suggest 5500pcs as in one wheel there are 550pcs.
If any questions, please do not hesitate to ask us. And we team will try our best to help.
I've been talking to Echo Jin in sales, but couldn't seem to get the point across. Response was ESP 32 chip with 16Mbits Embedded Flash or ESP-WROOM-32 with 32Mbits flash (both standard offerings).

markwj
Posts: 90
Joined: Tue Mar 08, 2016 5:03 am

Re: ESP-WROOM-32 Flash Size

Postby markwj » Wed Apr 26, 2017 1:23 am

ESP_igrr wrote:I'll reply regarding this point, and will ask colleagues to reply about custom module availability (yes, you can order modules with larger flash size)
I've tried adding an external flash, but that doesn't seem to work - it conflicts with the GD25Q32 which can't seem to be disabled. Putting the external flash on a different SPI bus doesn't work as it can't be memory mapped (and anyway, the number of pins we have is already limited).
You can connect an external flash chip in parallel to the internal one, just using another pin as CS. Then EFUSEs can be configured so that the external flash chip is used instead of the internal one, using espefuse.py tool in IDF.
Thanks for this suggestion. Very helpful and may solve my problem; only one extra pin. I assume that this is fuse SPI_PAD_CONFIG_CS0? So I can just burn that to 36 (for GPIO22) and then setup an external flash on GPIO9, GPIO10, GPIO22, GPIO6, GPIO7, and GPIO8?

Any suggestions for a 128Mbit flash chip that would be a drop-in replacement for the GD25Q32 (same voltage, timing, etc)?

ESP_igrr
Posts: 2067
Joined: Tue Dec 01, 2015 8:37 am

Re: ESP-WROOM-32 Flash Size

Postby ESP_igrr » Wed Apr 26, 2017 3:42 am

You need to configure all the pads in EFUSE, even if you are changing just one of them. Also note that WP pin can not be configured via EFUSE (not sure why it was left out).

Becasue of this, for now, we support QIO mode only for ESP32-D2WD, where we know which pin is used for WP:
https://github.com/espressif/esp-idf/bl ... ode.c#L165
https://github.com/espressif/esp-idf/bl ... ode.c#L208

You are however free to modify bootloader code to support different WP pin in your design.

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: ESP-WROOM-32 Flash Size

Postby WiFive » Wed Apr 26, 2017 4:24 am

ESP_igrr wrote:You are however free to modify bootloader code to support different WP pin in your design.
What about ROM loader considerations?

ESP_igrr
Posts: 2067
Joined: Tue Dec 01, 2015 8:37 am

Re: ESP-WROOM-32 Flash Size

Postby ESP_igrr » Wed Apr 26, 2017 4:27 am

We don't use Quad SPI mode for loading the 2nd stage bootloader image, it is limited to DIO. So this shouldn't be an issue.

Who is online

Users browsing this forum: Bing [Bot] and 28 guests