So you're a Noob? Post your questions here until you graduate! Don't be shy.

User avatar
By softfoot
#78066 Hi, I'm not exactly a newbie but I recently tried to upgrade to the latest AT Command binary (ESP8266_AT_Bin_V1.7) which is from SDK 3.00 and ran into a problem which has my head reeling.

On past versions of the AT code (typ v1.1) I have always set the flash tool to use the 32Mb flash size, because that is what the flash tool reports as is fitted - this agrees with the chip id 25Q32.

However, when I came to try v1.7 the readme said to use either 16Mbit-C1 or 32Mbit-C1.

The chip is a 25Q32 and is reported as 32Mb so I tried 32Mbit-C1 ---- on a reboot all I got out of the serial port was garbage.

In the end after going around in circles web searching and getting conflicting info on the meaning of the "-C1" I tried the 16Mbit-C1 settings and it worked!

So, my question is given my chip is a 25Q32 why on earth do I have to use 16Mbit-C1 ???

To use 32Mbit-C1 would I have to fit a 25Q64 ?? and WHY???

There seems to be a vital bit of information missing here, either that or senility is setting in early!

Is this somat to do with using the "J" or "F" variety of th 25Q32? ie 25Q32JSS or 25Q32FSS ...

Seriously confused
Dave
User avatar
By spaceman
#83709 Too bad noone answered this,
I assume many people get to this question via google, like I did, and try to understand it.

And especially interesting is why you succeeded flashing with 16Mbit-C1...
User avatar
By rudy
#83711 Most of your questions can only be answered by the creator of the code you are using to program your device. Go to the source for those answers.

softfoot wrote:Is this somat to do with using the "J" or "F" variety of th 25Q32? ie 25Q32JSS or 25Q32FSS ...


Different manufactures make similar parts. They use different letters to indicate different characteristics or options for the part. These option characters are meaningful if you look up that manufactures data sheet.

Winbond uses the SS in that position to indicate the package style. SS mean a package conforming to the SOIC-8 208-mil standard.

25Q32FSS, 25Q32JSS

F in the above number is for a part 1.8 volt part. J is for a 3 volt part.


A different manufacture, Giga Devices, uses the C to indicate the Generation of the part series.

25Q32CSI

3 volt part
S: SOP8 208mil
I: Industrial (-40℃ to +85℃)

Each chip may have different modes of operation. How to treat them may be different and has to be considered for whoever is writing the code for the part. This might be for the operating code, or the programming code, or both.

A situation that can arise is that a manufacture of a module might get a cheaper flash chip with an odd programming requirement. But they may have a tool from that chip's manufacture that allows them to program the part. They program the code (AT code for example) and sell the module. All is fine until someone tries to reprogram the device with through a commonly available solution, and it fails.

The chip is a 25Q32 and is reported as 32Mb so I tried 32Mbit-C1


The programming software interrogates the chip so it knows the method to use for that chip. If that chip returned a code that was interpreted as a different chip then things can be messed up.
User avatar
By spaceman
#83715 Thank you rudy,
I hope the OP will see this answer too.


rudy wrote:The programming software interrogates the chip so it knows the method to use for that chip.
If that chip returned a code that was interpreted as a different chip then things can be messed up.


Maybe softfoot has an explanation why 16Mbit-C1 worked well when the Flash tool detection returns "32Mbit".