Flash cart(ridge)

Do you mean link the display of a 2nd Arduboy or create a link to exchange data?

Link the display was what I meant.

Like this maybe?

Well I’d say it’s possible but not in a simple yes and no answer. It would be more like a hybrid link connection with shared display

:thinking:Thinking out loud :thinking:

A program must run on the other Arduboy to free the SPI bus and some extra signals need to be used to let the master know the display is available for external use and a display select, otherwise the external display would show exactly the same contents.

There must also be some ‘collision’ resistors in series between the connected pins to prevent shorting/overloading the GPIO pins (both SPI buses are in output mode normally).

It’s an interesting idea. Mario Bros Game & Watch comes right up in my mind.

Taking it one more step further, when cross sharing displays, resources could be shared too (slave Arduboy can update the Master Arduboy display with graphics not available on the master Arduboy)

:open_mouth: Oh man. I better shutup :zipper_mouth_face: and focus on the Flash cart again :blush:


Hello, first of all, congratulations for your flash cart project is impressive.

I am currently doing a arduboy with flash cart (with an arduino micro pro) made by hand that works with a 0,96 "ssd1306 oled which I have connected the cs pin to ground, what I want is to replace that oled by one 1,3 "sh1106 which has cs, my question is:

do I connect the cs of the oled 1,3" directly to the sda ​​pin of the arduino micro pro and at the same time to the flash cart?

as I would have to do it so that when the cs is activated of the flash cart will deactivate the cled of the oled 1,3 "?

How could I do this?
would the scheme look like?


1 Like

Hi @FJNM and thank you.

No, both the OLED and the flash chip need their own CS otherwise screen data is also written to flash or junk appears on the oled when data is read from or written to flash.

With your original design with SSD1306. you could disconnect the OLED CS from ground and connect it to a (general purpose) PNP transistor like in this schematic:

The transistor acts as an inverter meaning when the flashchip is selected the oled is deselected and vice versa. Note that CART_CS in this schematic must be connected to the pro micro pin directly and not through the levelshifter. VCC must be connected to 5V of pro micro (or 3.3V if you’ve replaced the LDO on the micro with a 3.3V one) It is also recommended to use the old wiring (using RX for flash cs) unless you want to make use of hardware serial.

When you replace the SSD1306 with an SH1106 normal Arduboy game hex files won’t display correctly. You will need to recompile each game with Arduino IDE. This is pretty easy though when you use my HomeMade Package

In this case I would recommend using pro micro alternate wiring scheme and using RX as CART_CS (flash cs) and you can wire the OLED fully according to the alternate wiring design as found on the HomeMade package Github.

Updated schematic. Changed transistor base resistor value to 470 to 1K (depending on transistor)

1 Like

@Mr.Blinky Thank you very much for your clarifications, they have helped me a lot. I will follow your instructions and I hope it works.


After carrying out the alternative wiring as indicated by Mr Blinky the result is as follows:

Why do not you load the game?

What could be the problem?

can be seen when you press B you try to load the game but it does not load and those stripes appear at the bottom of the screen. I have checked everything but I do not know what happened.

Let’s see if someone can help me.


1 Like

That’s the SH1106 display right? You need to recompile each game and rebuild the flash image.

When you recompile a game make sure you set the following options:

  • Board: Homemade Arduboy
  • Based on: (Sparkfun) Pro Micro 5V -Alternate wiring
  • Flash select: Pin0/D2
  • Display: SH1106
1 Like

Where I select the “flash select” feature on the Arduino ide: Pin0 / 2 ?

I do not know how to do it.


I’ve updated the Arduboy homemade package If you’ve already installed it please update via boards manager. If not please follow the instructions on github


Finally I got my homemade Arduboy with flash cart and Sh1106 to work correctly.

I wanted to thank @Mr.Blinky for all his directions and advice. It has been a great help.

I have managed to compile the games that I have tried but one “Ard-drivin”. It does not load. Maybe it’s because it can not be used with a home Arduino. I really do not know.



Good to hear you’ve worked it out and got the games working with SH1106 display. I will look into Ard-driving and see if it’s somthing in the game, the newer Arduno IDE or my package that is causing issues.

Thank you very much @Mr.Blinky the truth is that the game “ard-drivin” I like a lot and I would like to compile it to use it in my homemade Arduboy.


Smaller is better


How about producing a second no solder version using conductive tape? It would make it more accessible.

Kapton tape to the rescue or some surgical scaping tool? In the later case you should play this in the background. :slight_smile:

Don’t think that tape will work good for making reliable conections to those tiny pads.

Z tape only is good when there is a mechanical force applied. Potentially some foam tape on the metal case could be sufficient but probably also really bad.

Soldering is not difficult, just takes practice but even a first timer could do this. Maybe not everyone but almost. The barrier for most people to learning is not having the tools.

Do yourself a favor and buy a soldering iron and some solder and try to put some wires together. It’s a useful skill that lasts a lifetime.

1 Like

A good method to checking clearances and sizing on prototype boards is to print it out 1:1 on paper, cut it out, and check that is physically fits the enclosure/board/etc. I’m often lazy and don’t bother, but if I did this every time I would save myself many headaches and catch errors before I send designs to the fab house.

1 Like

I think what happened was I was like 90% finished and I wanted to see a render of it so I uploaded it to OSHpark but it was late and I got excited / confused and ended up ordering it before going back and doing a DRC. Whoops!

Yeah printing it out is a really good suggestion.

Also not using octagon vias are also a good suggestion.

1 Like