Using the W25Q01JV Flash chip with the Teensy 4.1?

shawnj2

Member
Hello! Long story short, I accidentally ordered this one instead of the 512Mb version, which is officially supported by LittleFS, and it is soldered to the larger QSPI expansion pads on the back of the Teensy. Using LittleFS normally with the standard init code they have on Github they have in the examples folder, the chip fails to initialize. Looking on Github, there was a commit a while back that added the chip to the list of supported chips in the LittleFS code, so I replaced the library being used by PlatformIO with the version of the code on Github and enabled a bunch of normally disabled print statements in LittleFS itself, and doing this I can tell that the chip is correctly detected by the Teensy as a 128 MB Flash chip, but fails to initialize. Is there a way to get the chip to work with LittleFS (or any other library for that matter- I don't really care a ton about write speed so if a different library works I'm open to using it), or do I need to go back and buy the correct chip?

Thank you
 
This NOR version shows as supported? :: {{0xEF, 0x40, 0x21}, 32, 256, 4096, 134217728, 3500, 400000}, // Winbond W25Q01JV*IQ

main/src/LittleFS.cpp#L45

Unless there is something else in the part # not shown as not compatible? Then less than ideal soldering (or cleaning residue?) could be an issue? Or perhaps trying a build under IDE with known libraries installed by TeensyDuino Installer might show something not building right under PIO?
 
Does the full part number end with "Q" or "M"?

Normally the suffix letters on parts are minor details, but not so with these chips.
 
Does the full part number end with "Q" or "M"?

Normally the suffix letters on parts are minor details, but not so with these chips.

Yes, the part number ends in IQ and it is an SPI NOR flash chip. I'm pretty sure the soldering is good, although I will double check tomorrow the next time I go to a place with soldering equipment to be 100% sure- I'm pretty sure that if the soldering was bad, the chip wouldn't show up at all in software. I tried the same example code in the Teensyduino IDE and I got the same result back.
 
Needs that updated software for recognition ...

As far as soldering a couple of posts have shown that the PSRAM can be soldered and be recognized and function to some point - but fail full function until the soldering gets a fluxed reflow and cleaning of the flux. Not seen that in posting for a flash - and WSON's are less common ...
 
Older version of the software don't support that chip. It was added with this commit.

https://github.com/PaulStoffregen/LittleFS/commit/4dcbbc9dd3e055d14392056b4521ecdc414816c6

In Arduino, click About > Help to check which version of Teensyduino you have. 1.55 is the latest. I believe 1.54 should also work.

Yes, I am using Teensyduino 1.5.5. I don't know what version PlatformIO is using, but I did run the same code in Teensyduino 1.5.5 and it didn't work in that either.
 
Given the right software and the chip (legit and not damaged and working) being the right "*IQ" part that is recognized, confirming solder connects are solid and clean would be the other obvious variable ... and assuming that CAP beside the QSPI chip is still there?
 
Back
Top