SPIMemory library - Formerly SPIFlash - now supports SPI FRAM as well! :)

Hi Marzogh,

Thanks for creating SPIFlash -- I can see a tremendous amount of work has gone into it.

I am new to SPI Flash memory so I may be asking a stupid question but here goes. My basic question is: does SPIFlash support the "JV" series of chips from Winbond, specifically the W25Q32JVSSIQ and W25Q64JVSSIQ? Or is there something about the JV series that makes them incompatible, and I should try to find the BV of FV series mentioned in the wiki?

The details:

I got some Winbond chips from DigiKey: W25Q32JVSSIQ and W25Q64JVSSIQ. I soldered them on some SMT breakout boards from Adafruit and wired them up to an Adafruit Feather M0. The pinouts are:

3V --> 8 (VCC)
GND --> 4 (GND)
SCK --> 6 (CLK)
MOSI --> 5 (DI / IO0)
MISO --> 2 (DO / IO1)
GPIO #11 --> 1 (/CS)

At first, I did not hook up pins 3 (IO2) or 7 (IO3) to anything since it seemed they were not needed in this configuration.

I modified the readWriteString example sketch to tell it to use pin 11 for chip select in the SPIFlash constructor:

//SPIFlash flash;
SPIFlash flash(11);

However, when I run I get an endless stream of this error message:

Unable to Enable Writing to chip.
Please make sure the HOLD & WRITEPROTECT pins are pulled up to VCC

According to the Winbond data sheet, the JV series of chips do not have HOLD and WRITEPROTECT pins:

https://www.winbond.com/resource-files/w25q32jv%20spi%20revc%2008302016.pdf

Unlike the FV series, which state that pin 3 is both /WP and IO2, and pin 7 is both HOLD and IO3, the JV series just calls them IO2 and IO3. Looks like write protection is enabled/disabled only via the status registers.

I tried various combinations of tying pins 3 and/or 7 to Vdd and Vcc, but always got the same error. Then, based on the error message, I tried putting pullup resistors between 3 and 7 and Vcc, with values of 5.1K and then 100K, but I admit I'm just guessing there. Same result.

So ... am I out of luck? Is this chip series not supported?

Should I add pullup resistors between pins 3 and/or 7 to Vcc? If so, any suggestion on what values?

Thanks!