W25q32 module as flashcart


Thank you for all your great work on the Arduboy. I am trying to build my second homemade Arduboy, this time I want to add a Flashcart. I have brought this module:

Then I connected to on an Arduino Micro:

w26q32 Micro
vcc 3v
gnd gnd
D0 miso
D1 mosi

I have already succeded in burning the bootloader, and the usb icon is shown on the oled display.

The flashcart is not found when I try the uploader script. Is it wrong to use this module? What am I missing?

Best regards
Karsten Thuen

1 Like

Good topic, following it.

Do you mean W25?

You need to make sure if you are using this connection to use the bootloader designed for the old wiring.

You also will need to connect the CLK pin as well. The hold pin needs to be tied to a voltage source.

Double check the schematics in the reference post and let us know how it goes!

Hi Bateske

Thank you for your quick reply. Yes, w25Qxx - Sorry for the typo. I am sorry if I ask too much, I am still quite new to Arduboy.

I am sorry, I have not been able to find anything about old/new wiring, and what this means to the bootloader. Can you push me in the right direction?

Regarding the clk pin - I have followed the table made by the great Mr. Blinky, but I am still not sure which pin the w25Qxx clk should go to on the Arduino Micro?

Thank you for your help.

Best regards Karsten Thuen

1 Like

You can summons the great @Mr.Blinky by calling his name three times (or by prefixing it with an @ symbol)


:dash: Poof! Mr.Blinky appears with a puf of smoke.

w25q32 module should be fine. But instead of 16Mb it’s 4Mb

Did you also wire up the CLK pin to micros SCK pin ? If not then thats probably the problem. If you did then the wiring should be ok unless you made some sort of wiring mistake.

Did you burn the correct cathy3k bootloader? The filename may differ depending on which display is used but it should end with -micro.hex

In the IDE you the following must be selected prior burning the bootloader:

  • board: Homemade Arduboy
  • based on: Arduino/Genuino Micro
  • display: your display type
  • Bootloader: Cathy3k
  • Flash select: Pin0/D2/RX1
  • Programmer: Your programmer type

Note: since you’re wiring the flash chip directly to the Arduino pins. it is recommended to add a 10k pull-up resistor to flash CS. This will ensure that no ‘random’ data is send to the flash chip while burning bootloader/upload over ISP

When you run the flash-writer script from the command line What JEDEC ID is reported?


Double check this guide:

Hi Mr.Blinky

Thank you for the clarification. That helped a lot. I found out I had not connected clk correctly. Now I have perfectly succeded writing to the flash cart. Here is the test result from the console:

Arduboy flash cart writer v1.16 by Mr.Blinky May 2018 - Jun.2019

Reading flash image from file “C:\Users\kthue\Downloads\Arduboy-Python-Utilities-master (1)\Arduboy-Python-Utilities-master\example-flashcarts\example\flashcart-image.bin”
Found Arduino Micro bootloader (COM6) at port COM6
Opening port …()

Flash cart JEDEC ID : EF4016
Flash cart Manufacturer: Winbond
Flash cart capacity : 4096 Kbyte

Writing block 4/4

And here are the wiring:

w25q32 - Arduino Micro

D1 - Mosi
D0 - Miso
CS - 10k resistor - Rx

And Kevin, thank you for the reminder of that thread.

Best regards
Karsten Thuen


One step at a time :slight_smile:

Now I can this far. Problem is that the games does not get burned/loaded. After selecting a game, the progress bar fills up, and then the only thing that happens is that the top of the screen flickers.

I am sorry, it is not that easy to see on the bad picture. Does anyone know, could this be due to my bad soldering? Or maybe I have done something wrong on the way.

Again, thanks for this fun project :slight_smile:

Best regards
Karsten Thuen

I’d say you’re using an 1.3" SH1106 display module which isn’t fully compatible with the SSD1306 displays used with Arduboy.

The Homemade package supports these displays though. But you have to recompile each game with the display setting set to SH1106

1 Like