Self Bootloading Mod-Chip

Aw yeah, the flex pcb came out really well! Did you end up using hot air to mount the chips?

Yeah a little gold sticker and you can put it anywhere you want, but the right size to fit on the atmega. I would get it to be a hologram sticker. :slight_smile:


An FX sticker with some FX :slight_smile: :+1:

1 Like


Side note: The original resolution that @bateske uploaded this at has been lost. I think everyone downloading this and then uploading it has lead the quality to substantially lower, so I’m not sure if he’s able to import it in or not.

Most likely people have been doing <Right Click> -> Save Image As... instead of viewing the original.

1 Like


What if it came with a little metal or plastic add in reset button like this? Then you could access the boot menu without having to toggle the power switch.

I think it might be possible to manage the tolerances and variances to make this work, but chances are it would rattle in the case a little bit.



It would be good if the end were flexible so it could be squashed into the hole without having to pull the case apart, but that would probably be quite difficult to do, if not expensive.

Yes … I think these should be available for all units - including old ones - and it would be nice to be able to fit it without opening the case. Just minimises the chance of someone damaging the battery tabs.

1 Like

There is no way to do it without opening it, and you’d need to open it to put in the mod chip anyways. It’s not hard to do, and if you think it is, just buy the pre-modded Arduboy FX.

Something could probably be 3d printed if you want too.

1 Like

I have attempted a few things, nothing will work.

The best solution is to modify as many games as possible to reset when holding all the buttons for 3 seconds.

If you ever order more hardware we need to get this kind of stuff compiled into the bootloader. Or wait are we taking about a need for a soft reset for some reason? That’s a whole other thing.

Soft reset on the games so it will go back to the bootloader and let the user switch games without having to toggle the power switch or insert something into the reset button.

In my Shattered Lands game I have a menu option “Quit” which simply calls exitToBootloader. Is that enough or is there something else needed? I would think that adding something to the bootloader like holding the down button would be enough though. Then with the self bootloading feature the user would just have to get it to flash the bootloader once. From there a sketch could be made to update the bootloader which would send the new bootloader code to the attiny and then initiate a reflash. This would also allow for easy updating of the bootloader in case of bug fixes or feature improvements.

I think we’re trying to save wear and tear on the power switch, yes? Holding ALL the buttons seems a bit excessive and awkward though, though I understand why you wouldn’t want it accidentally triggered… hmmm… Gamebuino Meta solves this with a “OS” menu of sorts built into the core library that every game gets by default - but that’s a bit much for our hardware (though worth considering for a more powerful ARM version).

I’ll give it a little thought and see if I have any better ideas.

Maybe swapping out the reset button with one that faces forwards instead of down would work? Desolder the old one, solder in the new one, mark the spot on the case then drill a hole out for the button?

Holding all the buttons is a little akward, but not that bad. I’m open to other ideas but it’s not a big deal, its Arduboys version of the three finger salute.

In the Homemade package I’ve added a feature to press UP+DOWN for ~2 seconds to enter bootloader mode (customized wiring.c in Arduboy core)

A customized wiring.c could be added to to the Arduboy libraries to make this seemless

Does that magically overwrite the packaged one then? I wasn’t aware of that. I presume you’re just hooking into the time tracking interrupt?

I tried it before I posted. I’ve added my customized wiring.c to Arduboy2 /src folder and after recompiling pressing UP+DOWN entered bootloader mode.

Yes the code is part of the timing interupt

Is this code in a repo anywhere I can see?