-->
Page 1 of 1

ESP8266 SPI Flash chip recommendations ?

PostPosted: Mon Nov 16, 2020 9:46 am
by robinaspey
I am seeing that there are some issues with connecting SPI flash for bootloader and program code.

Can someone tell me the best part numbers for some small boards I am making up ?

In addition to this are there any specific SPI flash chips to avoid?

Regards
Rob

Re: ESP8266 SPI Flash chip recommendations ?

PostPosted: Wed Nov 18, 2020 11:19 am
by eriksl
I have been using three brands now and I can only tell that there is a considerate difference in writing speed for Winbond chips (fast) compared to cheaper ones, it's almost a factor two.

I don't know why there should be any other difference if they just follow the protocol?

Re: ESP8266 SPI Flash chip recommendations ?

PostPosted: Sun Nov 29, 2020 5:47 pm
by StanJ
There's ALL kinds of differences. Winbond and ISSI are fast and reliable, both recommended by Espressif.

PUYA is odd (NAND instead of NOR flash or vice-versa, forgot which...), and there's some REALLY, REALLY cheap XTX flash the clones are using that I think has issues with the 2.2.1 SDK coming out of Deep Sleep, but we haven't proved that yet. Macronix only appears to work reliably in DIO mode. XMC is slow as it always defaults to 75% drive on the outputs. That's just the little bit I've seen so far.

Other possibilities are EON Silicon Devices, BergMicro, GigaDevice, Shanghai Fudan Microelectronics Group, and undoubtedly more listed at lcsc.com that I've never attached to an ESP8266.

Re: ESP8266 SPI Flash chip recommendations ?

PostPosted: Mon Nov 30, 2020 10:55 am
by eriksl
I have always bought my devices from eBay (so they're "cheap" and possibly "crappy" by some standards). I've seen mostly Winbond flash devices and a very small part of GigaDevice and BergMicro (ESP01 only). The Winbond ones are completely fine, the GigaDevice and BergMicro devices are only slower in writing.

I've never seen these XTX devices, so I can't judge. There is a possibility they're not just "crappy" but only slightly different in their implementation of the protocol which may collide with Espressif's implementation. So merely not completely compatible instead of simply bad. Or maybe they're really bad, who knows...