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.
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.
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.
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.
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.
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.
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.
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.