MKR MEM Shield - Incorrect JEDEC ID

Hi All,

I have a new MKR GSM1400 connected to a new MKR MEM Shield and I’m using the officially recommended libraries (Paul Stoffregen’s SerialFlash) to access the SPI Flash memory on the MEM Shield…

I’ve changed the FlashChipSelect from 6 to 5 as required by the MEM Shield… and when I run the example RawHardwareTest.ino… The Flash does not work.

The serial output is as follows:

Raw SerialFlash Hardware Test

Read Chip Identification:
  JEDEC ID:     F7 20 A
  Part Nummber: (unknown chip)
  Memory Size:  1048576 bytes
  Block Size:   65536 bytes

Reading Chip...

Writing 512 signatures
  error writing signature at 0
  Read this: 00 00 00 00 0A FA CA 25 
  Expected:  00 00 00 00 15 F5 95 4B 

Tests Failed  :{

The flash chip may be left in an improper state.
You might need to power cycle to return to normal.

As you can see the JEDEC ID is incorrect… Winbond chips such as that on the MKR MEM Shield should be manufacturer ID: EF

No manner of erasing and recompiling will solve this (I am now using a totally newly downloaded Arduino, in portable mode with just the SerialFlash library and the MKR Boards installed to test this).

I also have multiple boards and multiple MEM Shields and all do the same thing… what am I missing?

Just in case anyone has the same problem..

Its caused by a change in the SAMD Core in 1.8.11: Limit max SPI clock frequency to F_CPU/2 · arduino/ArduinoCore-samd@738a0e9 · GitHub

And I suspect but am not sure that the library needs to be modified. I have raised an issue there for someone with more experience with SPI to have a look: Arduino MKR MEM Shield - Wrong JEDEC ID - Used to work · Issue #79 · PaulStoffregen/SerialFlash · GitHub