Flash cart(ridge)

Yes, Ard driving includes it’s own modified Arduboy2 library and therefore doesn’t use the Arduboy2 libraries display functions from the homemade package.

Not sure how much work it would take to seperate the added functions and make it use the Arduboy2 library. A more quick and dirty way would be to add the required homemade code.

Fantastic.
I’m going to get myself one of those …


Which also rendered my in-progress Arduboy keyboard next to useless …

1 Like

This is the first official public announcement that I’m working on building this flash cart mod into the production hardware. The plan is to also make the upgrade available as a mod chip patch as the flexible circuit pictured above. You would need to solder it on and flash the bootloader yourself. You have been warned.

10 Likes

:heart_eyes:
Excuse for me to get another new one …
I’ll give this battle tested, rigged one to my little brother as he finishes high school.

Doing a live stream with @mr.blinky so he can teach me how to load games on his flash cart mod:

Not sure how this will turn out! Going to archive the video for those who don’t catch it.

5 Likes

Awesome ! I love Twitch so i’m following this.
I’m really short on time today but if you do some streams here and there i’ll check them out for sure (vod or live).
Have fun guys ! PogChamp

I watched the stream yesterday, and most of it is pretty clear, and easy to do.

the one thing i’m not sure about, is how to flash the bootloader itself. can that only be done through gpio, or is that also possible through USB?

looking forward to the flexpcb to become available

You’ll have to be running hardware compatible with what is at the top of this thread to have a compatible bootloader.

ah i thought that all you needed was the flexpcb you’re developing?

You can also manually flash the bootloader using an icsp programmer like a usbasp or another arduino flashed with the “arduino as isp” sketch.

From what I gather, you install the flash chip by soldering it in and then you burn the bootloader either via another Arduino board (e.g. an Uno) or with a chip designed for doing so (i.e. an ICSP programmer).

The’re a tutorial for burning bootloaders here:

I think technically the bootloader is still in alpha/beta.

I got confused about needing compatible hardware, thinking more hardware was needed on the arduboy side. It makes sense that Kevin meant needing an arduino to flash the Arduboy

Thanks for the link, that will really help!

I won’t flash my Arduboy until I can acquire a memory module or the flex pcb version, and i suppose that by that time the bootloader will have been time-tested :slight_smile:

1 Like

You can not upload the bootloader in the same way as like uploading a sketch over USB. It needs to be uploaded over ‘GPIO’ (ISP pins) like @sjm4306 said. If you have a spare Arduino lying around you can use the Arduino as ISP or else you can purchase an USBasp for under $2 if you can be patient.

The bootloader does not depend on a flash chip connected. So it can be updated at any time you want. One of it’s advantages is that you can enter the bootloader by holding down the down button while switching on.

My advice would be to update the bootloader prior soldering the chip.

It’s been out for a while. I just happen to update it quite often lately. :wink:

It’s not so much that it hasn’t been tested,
just that it’s currently going through some changes,
and personally I wouldn’t be surprised if there were a few more before yet to come.

Being published doesn’t necessarily mean it’s not still in beta :P

Let’s put it this way instead:

At the moment it’s changing regularly,
so if anyone chooses to update their bootloader now,
they should be aware that they might have to update it again in the near future,
or at least before they actually install a flash chip,
so some people might prefer to wait until they actually have a flash chip if they think updating is a bit of a hassle.

If they don’t think it’s too much of a hassle then they can update now and enjoy the extra features.

15 posts were split to a new topic: Lifetime of flash memory?

This is a super cool mod. However, I’m confused a little

The original post has schematics: Flash cart(ridge)
These seem to include a couple of capacitors, a voltage regulator and a level shifter.

Now the cartridge expansion port is amazing. However, that’s not what my question is around.

Then someone posted a dead bug version hacked directly to the Arduboy - and they gave a reason to skip the voltage regulator.

A short while later - @bateske posted what looks like a flex circuit version of the same mod. Flash cart(ridge)

Question: Can we literally go out and buy one of the flash chips, do a little tricky soldering and flash the right software and turn our Arduboy’s into amazing flash enabled devices?

It seems too easy…

Umm… yes, that is literally what I did with my post above, and it works great.

‘Easy’ is relative.

You have to first use an ISP to flash a new bootloader and new fuse settings (@Mr.Blinky has a GitHub repo that provides these). This can be done with a properly modified 3.3v USBasp, or 3.3v Arduino acting as an ISP. You would have to solder wires for the ISP programmer to the correct programming pads on the back of the PCB before flashing and then de-solder them afterwards.

Then, you have to be able to solder the SOIC-8 surface mount flash chip to the correct pins (the flex circuit @bateske is/was working on would definitely make this part easier).

Then you have to use the phython utils that @Mr.Blinky provides in another GitHub repo to build and then write a flash cart image to the connected flash chip. This is done using the normal USB interface.

So, not a 5 minute job or anything, but definitely doable (depending on your skill level), and really enhances the usability of the Arduboy.

2 Likes

Yes, we are evaluating how well these chips perform outside their voltage specification. So for now it’s strictly at your own risk. If it looks like we need voltage regulation then I’ll do it but I’m pretty sure it’s not needed.

Also, I’m working on releasing these little flex circuit dudes for sale so that you can easily drop it in, with all the games pre-installed.

You’ll still have to reflash the bootloader though. Which requires another arduino or programmer.

Also, working on adding it to the existing hardware, so you can buy them pre-modded.

4 Likes

I built the flashcart according to the specifications of the flashchip. But it appears certain flash chips seem tolerant for higher voltages. Not sure if this has to do with a more modern production process or not.
I’m currently running a flash chip on 5V for several weeks now and it doesn’t produce any heat or any abnormalities. I’ll keep running more tests.

when you want to add this to arduboy and / or there’s not enough space. you can go for the dead bug / YOLO version and accept the risk that it may not work reliably after some time / some conditions.

When you have the space and luxury. I’d say go for the save option.

Thanks for the prompt replies. I’m a software person who’s not afraid of using a soldering iron, but I’m still very new at reading data sheets.

Digikey seems to have: https://www.digikey.ca/product-detail/en/winbond-electronics/W25Q64JVSSIQ/W25Q64JVSSIQ-ND/5803992 which when you look at the datasheet http://www.winbond.com/resource-files/w25q64jv%20revj%2003272018%20plus.pdf - on page 59 shows absolute maximum ratings

Vcc is -0.6 to 4.6 – which I think the Arduboy itself doesn’t push much (if at all) beyond that.

Does it matter exactly which W25Q64 or W25Q128 chip you get? Assuming you match up pin-outs etc? It seems there are a variety of memory speeds 80MHz to 133MHz… Also some of the ‘features’ listed in the data sheets look a bit different, I’m sort of assuming these are extras vs. incompatible differences.