2016. október 14., péntek

ESP-01 Surgery

I'm working on ESP8266 projects lately. I wanted to have OTA upgrade working from the beginning. The plan was to upload the new firmware through the web browser into the SPIFFS filesystem (done). Check the upload integrity there (wip). And flash it from there (done). This process require at least the double size of flash than the binary code.
My first working project is ~280K binary. This means that the 512K flash of the ESP-01 module isn't enough.
I was looking around, how can I increase it. I found this blog post:
http://tech.scargill.net/32mb-esp01/
I like the idea of upgrading the flash chip, but I've a few problems with the solution.


So I decided to try to find a 150mil wide 4MByte (32Mbit) flash chip from reliable source.
I found it. It is a Cypress (Spansion) S25FL132K0XMFI041 from TME: http://www.tme.eu/en/details/s25fl132k0xmfi041/fram-memories-integrated-circuits/cypress/
It costs more ($0.75/each) but looks more reliable and no pin bending.
The package arrived yesterday from TME, and I done my first surgery tonight:


The original with the 512K Winbond chip on the left, the Spansion 4M chip on the right.
If you fire the Arduino IDE, You can find the CheckFlashConfig sketch for checking the flash size:


The result is reported to the Serial monitor.
Before the surgery:

After the surgery:


A few more modules waiting for the operation. :-)