"Corrupted" SPI reading when using the Sparkfun BOB-12009 level converter

Hi guys,

I'm having issues interfacing with a Winbond flash chip (W25Q16BV) using SPI, when going through a Sparkfun BOB-12009 level converter. It works perfectly when connecting the chip to my Arduino Uno directly, but readings are not right if using the level converter.

The W25Q16BV safe voltage range is 2.7v to 3.6v, which is the reason why I want to use the level converter... I feel like I'm playing with fire while interfacing with the chip directly (5v on all pins).

I'm 100% sure my wiring and sketch are fine since I'm getting the expected results when connected directly to the Arduino.

My basic sketch prints the Manufacturer / Device ID, Unique ID and JEDEC ID on the serial monitors.

This is what I'm getting when connected directly to the chip (all values as expected):

Manufacturer ID: EF, Device ID: 14
Unique ID: C4 61 44 30 83 37 69 23 
JEDEC: Manufacturer ID: EF, Memory type: 40, Capacity: 15

Done...

And these are samples of what I'm getting when going through the level converter:

Manufacturer ID: EF, Device ID: 14
Unique ID: C4 61 44 10 7F FF FF FF 
JEDEC: Manufacturer ID: 00, Memory type: 00, Capacity: 00

Done...

Manufacturer ID: F7, Device ID: 80
Unique ID: E0 E1 C4 B0 C3 93 B0 80 
JEDEC: Manufacturer ID: FF, Memory type: FF, Capacity: FF

Done...

Manufacturer ID: FF, Device ID: 94
Unique ID: E0 B0 80 80 80 80 80 80 
JEDEC: Manufacturer ID: FF, Memory type: FF, Capacity: FF

Done...

Manufacturer ID: FF, Device ID: FF
Unique ID: FF FF FF FF FF FF FF FF 
JEDEC: Manufacturer ID: F7, Memory type: 80, Capacity: 80

Done...

Unfortunately, I don't have access to fancy testing equipment, all I have is a multimeter. I have monitored all channels from the level converter and they all give the right voltage reading (all HV side pins read 5.0xV, all LV side channels read 3.3xv).

I'm powering the Arduino from a USB cable...

Does anyone have any ideas what could go wrong, why the readings are "corrupted" when going through the level converter?

Hi RicThot

Can you post a schematic of exactly how you have the Arduino / BOB / flash chip connected?

Some things you could try ... Does altering the SPI clock speed affect the results you get? If the flash chip can run in more than one SPI mode, does changing the mode affect results?

Regards

Ray