W25Q64JVXGIM Shortage

TomV

Active member
Looking at producing another batch of custom Teensy 4.1 boards, but I’m struggling to find any stock of the W25Q64JVXGIM. I’m assuming this is fallout from the current memory shortages driven by AI demand, but happy to be corrected.

Is there an alternative that works with the T4.1? Ideally in the same package so I can avoid respinning the board. Looking to source from Mainland china/Asia to avoid international shipping if possible.
 
But then the board effectively turns into a micromod, which can mess up the pin numbers and other software behaviour...
 
PJRC still has some W25Q64JVXGIM chips in stock. But we're down to just a couple hundred left, so only enough for a fairly small batch.

I am working on an update to the bootloader to bring compatibility with many more chips. While everything is still preliminary, I can tell you I have GD25Q16EEIGR and GD25Q64EQIGR on my workbench now for testing. Odds are very good those 2 will be on the compatible list after the update. In addition to GigaDevice, I'm also testing chips from ISSI, Macronix, BYTe Semi, Microchip, Renesas, and the Winbond "Q" version parts.

Time frame for the bootloader update is also still preliminary, but I'm aiming for mid-April. I know the memory shortage is painful. I'm working to bring you many more options, but it needs to be done carefully with a lot of testing.
 
But then the board effectively turns into a micromod, which can mess up the pin numbers and other software behaviour...
Build and src edits can present an 8MB T_MM Flash as a T_4.1 with 8MB Flash, but that would be an ongoing issue to work with on those units.
 
PJRC still has some W25Q64JVXGIM chips in stock. But we're down to just a couple hundred left, so only enough for a fairly small batch.

I am working on an update to the bootloader to bring compatibility with many more chips. While everything is still preliminary, I can tell you I have GD25Q16EEIGR and GD25Q64EQIGR on my workbench now for testing. Odds are very good those 2 will be on the compatible list after the update. In addition to GigaDevice, I'm also testing chips from ISSI, Macronix, BYTe Semi, Microchip, Renesas, and the Winbond "Q" version parts.

Time frame for the bootloader update is also still preliminary, but I'm aiming for mid-April. I know the memory shortage is painful. I'm working to bring you many more options, but it needs to be done carefully with a lot of testing.
Hi Paul,

Thanks for the reply. The memory shortage is certainly painful! it will be great if more chips are supported. To support the new memory IC's I assume a new bootloader IC will also be required rather than an update to the boot loader firmware?

Just working out whether to hold off until April and go with new boot loaders and a more available memory IC or to produce a batch now with parts from your stock. I still have a few bootloader ICs at JLC, but it will work out expensive to freight just a few of the W25Q64JVXGIM there.

Will all the new ICs also be compatible with FlexSPI2 and Little_FS?

Thanks.
 
To support the new memory IC's I assume a new bootloader IC will also be required rather than an update to the boot loader firmware?

Correct. All bootloader chips sold before the update will only work with the Winbond "M" chips.


Will all the new ICs also be compatible with FlexSPI2 and Little_FS?

All the newly supported chips will be confirmed working with LittleFS_Program and EEPROM library and emulated AVR eeprom functions. Those all access the program flash memory.

Updating LittleFS_SPIFlash and LittleFS_QSPIFlash to recognize all these chips connected to any of the SPI ports or the QSPI pads on the bottom of Teensy 4.1 will be separate project. LittleFS already does work with many of these chips.
 
Today W25Q64JVXGIQ can not work with the current bootloader chips.

In the near future, W25Q64JVXGIQ will be able to work, but only with new updated bootloader chips.
 
PJRC still has some W25Q64JVXGIM chips in stock. But we're down to just a couple hundred left, so only enough for a fairly small batch.

I am working on an update to the bootloader to bring compatibility with many more chips. While everything is still preliminary, I can tell you I have GD25Q16EEIGR and GD25Q64EQIGR on my workbench now for testing. Odds are very good those 2 will be on the compatible list after the update. In addition to GigaDevice, I'm also testing chips from ISSI, Macronix, BYTe Semi, Microchip, Renesas, and the Winbond "Q" version parts.

Time frame for the bootloader update is also still preliminary, but I'm aiming for mid-April. I know the memory shortage is painful. I'm working to bring you many more options, but it needs to be done carefully with a lot of testing.
Hi Paul, Just wondering if you had any further updates on the supported memory ICs? Thanks.
 
Yes, I released bootloader version 1.09 just a few days ago. The T4 bootloader chip page was updated at that time, but looks like I forgot about this forum thread. Good thing you asked!

Version 1.09 supports many more flash chips. A complete list is on the web page.

PJRC was able to buy a good quantity GigaDevice GD25Q64EQIGR, which is among the many newly supported parts. It's available on the website now.

Many of the newly supported memory chips are in stock at Digikey, Mouser, LCSC and probably other vendors. We are in a time of global shortages, but it's nothing like the covid shortages a few years ago. Stock at the distributors is fluctuating daily. Hopefully version 1.09 bringing compatibility with so many chips will help.

We also saved a small quantity of the old Winbond part for people who previously purchased the T4 bootloader chips. We emailed all customers who had purchased bootloader chips without flash chips within the last few weeks. They bought most of the stock we set aside. We do still have just a few dozen. We're only selling them to people who purchased T4 bootloader chips before the update.
 
Last edited:
Version 1.09 supports many more flash chips. A complete list is on the web page.
That is a bunch of chips and across the three sizes 2,4,16 MB!

Also noted there is this - TD 1.61 won't be far off - to support Lockable on the new bootloader - that's a broad swath of work!

Update, April 22, 2026: Finally we've completed testing for version 1.09 with all supported flash memory chips. If used as lockable in secure mode, a new version of Teensyduino is required to create compatible .ehex files. An updated beta version will be coming soon, with full Teensyduino 1.61 release expected by the end of May. Use without secure mode work with Teensyduino 1.60 and prior versions.
 
Followup to this thread, Teensyduino 1.61 was released.

Here's an explanation of the details of whether you need 1.61 and what to do if you wish to use an older version.

Boards made with the new 1.09 bootloader are backwards compatible with prior Teensyduino while running in standard mode. You only need to update to Teensyduino 1.61 if you lock your hardware into secure mode, same as can be done with Lockable Teensy.

After secure mode is active, only .EHEX files encrypted with the "teensy_secure" utility from Teensyduino 1.61 or later are compatible with bootloader 1.09. If you encounter this issue, you will observe programs which write your key and which lock into secure mode load fine. But after your hardware is in secure mode, loading may fail. You will see the a distinctive LED blink error "Both LEDs Blink In Unison" described on the T4 bootloader chip page under "Troubleshooting & Diagnostic Blink Codes" if an incompatible .EHEX file is used.

I have heard concern from people wanting to continue using an older version of Teensyduino. This can be accomplished by simply copying the "teensy_secure" utility from 1.61 or later. Boards Manager in Arduino IDE 2.3.x installs the utilities into a hidden folder. On Windows, {AppData}/Local/Arduino15/packages/teensy/tools/teensy-tools/1.61.1/ On MacOS: ~/Library/Arduino15/packages/teensy/tools/teensy-tools/1.61.1/ On Linux ~/arduino15/packages/teensy/tools/teensy-tools/1.61.1/ You only need to copy teensy_secure. Older Teensy Loader is compatible with bootleader 1.09, as long as the .EHEX file was encrypted by an updated version of teensy_secure.

Please understand PJRC signed a NDA with NXP for access to the IMXRT1062 security info, so I am limited in how much I can discuss the inner workings of the encryption and the chip's security features. In the design of Lockable Teensy and this bootloader chip, I have made every attempt to keep the loading experience as simple and easy as you would expect from normal Arduino usage. But we are utilizing NXP's hardware-level security features. This need for updated .EHEX format to support the new bootloader version is a rigid requirement to implement security properly.

Again, this is only with .EHEX files and the hardware permanently locked into secure mode. Bootloder 1.09 is fully backward compatible plaintext .HEX files and any version of Teensy Loader which supports Teensy 4.x.
 
Last edited:
@PaulStoffregen I have locked Teensys in the field now that probably will never get updated to the latest bootloader 1.09 because they likely won't get connected to USB again. Normally, I update these with an OTA process over Ethernet.

Will EHEX files created with Teensyduino 1.61 and later work with boards that can't get upgraded to bootloader 1.09?
 
This all seems super-hard to explain in paragraphs of text. Maybe a table along these lines would be helpful? With the blank cells filled in with "OK" or "Fails - do X instead", of course :) I don't use any of the secure stuff so it's quite likely I've missed out some obvious rows or columns...
TeensyduinoHexTarget: standard Teensysecure Teensy:
1.08 bootloader
secure Teensy:
1.09 bootloader
<= 1.60normal
encrypted
>= 1.61normal
encrypted
<= 1.60 using >=1.61
teensy_secure
encrypted
 
Will EHEX files created with Teensyduino 1.61 and later work with boards that can't get upgraded to bootloader 1.09?

Yes, newly created .EHEX files in 1.61 work with all previously released bootloaders that support secure mode (1.07, 1.08, 1.09).


This all seems super-hard to explain in paragraphs of text. Maybe a table along these lines would be helpful?

Yes, exactly. This is why I've not yet updated the web page, beyond the brief mention in the update. I need to spend some time on documentation that makes the right first impression. It's on my list... but getting the new gcc toolchain migration started (1.62 beta) has consumed most of my dev time recently.
 
Back
Top