How do i upload games to w25(winbond chip)

So i don’t understand how to upload games to my diy arduboy i tried Blinky’s downloader, i have modified usbASP(all prongs soldered), but im afraid of bricking arduino or winbond chip. So can you explain how i load multiple games to arduino with w25(winbond).
Thank you in advance. :slight_smile:

First you have to follow this guide:

Then once you have flashed the bootloader you use this:



So when i try loading activator this happens(the screen is rotating) like a roll. So what should i do?

And its intractable but the screen in other menus is incorrect.

Are you using the SH1106 display? Unfortunately it is incompatible with pre-compiled games, you can only use SSD1306 or SSD1309 with the patch applied.

I use ssd1306 6pins

Are you using a breadboard? Maybe recheck all your connections?

Idk. I’LL try that, but everything seems ok, because games run normally.

Only the activator program does this? @mr.blinky any idea?

The activator sketch is only intended for Arduboy with a mod chip (flash+attiny45/85) or a Homemade Arduboy that:

  • Is wired exactly like Arduboy and uses a SSD1306 display
  • uses SDA as flash chipselect
  • uses SCL to control Attiny45/85

For the display issue. How have you wired your Homemade Arduboy and what is the pin discription of your 6-pin display? pictures may be helpful too.

Yes only with programer, I FULLY re-did arduboy (without chip for now and the problem is still there),

my connections of the screen are:


also it seems that it does detect presence of flash chip(if there is one

but it doesn’t detect mod chip(as seen in the photos) or it should do that?(detect mod chip)

Oh you are using i2c? The activator only works on spi display.

spi as i listed there

are there any other ways of flashing the chip?
or maybe the problem is with this: image

Well I saw SCK and SDA and those are pin designations for i2c, I can see they are connected to the SPI pins so I guess that is just the labels on the display.

In order to flash the bootloader, you have to use an external programmer (or another arduino), do you have one of those? You have to flash the 3k bootloader in order to use its functions on the FX.

yes i have modified usbasp(capable of 3v programing)

of arduino or winbond?

I think i get it now… So i need to flash the w25 chip with PROGRAMMER and only then i am able to load .hex through the usb?

You have to program the cathy3k bootloader to the 32u4. By default, there is an arduino bootloader there and it has no idea how to talk to the flash.

Connect the usb-asp to the 32u4 and then use the home made package to select your configuration, and choose ‘program bootloader’.

Once that is done, you should be able to progress to the next step. But it’s still not clear why the display would be messed up for only the activator sketch but not others, that should not be effected by the bootloader.

Can you share a picture of your entire build?

There’s your display (sc)rolling problem:

Your display does not have a chipselect (CS) pin. The display has grounded (connected to 0V/GND) the pin internally and therefore the display is always selected.

The display and the flash chip both use the same SPI bus. So when data is written to or read from the flash chip it is also send the display causing the shifting/(sc)rolling.


You need a display with 7 pins.

Once you have flashed the cathy3k bootloader to the atmega32u4 (using your USBasp) you can upload the flash image (with the games) to the flash memory chip using the Activator Python script (GUI version) or the flashcart-writer Phython script (command line version)


  1. flash Cathy3K using USBasp
  2. upload flash image using Activator Python script

Is there a way to make that internal grounding external? Because the 6pin oled display is crisp blue, I do have a display with 7pins but it is Orange, blue one.

And ill try using the 7pin screen and Share the results.