woah - updating from SPIFFS

A project log for LAMEBOY - another ESP12 handheld

fully portable ESP12 project with battery charging and power muxing

davedarkodavedarko 11/14/2017 at 20:150 Comments

So I had the Ghost "game" on my lameboy, put the hudy/ninja puzzle game binary that I've exported from arduino into the spiff and was able to update my lameboy firmware from the spiff. So that's a start and could be incorporated into every game / app via a library of some sorts. Some kind of menu could help you go through the SD card, load firmware into spiff and then update the whole thing. Now I'm fiddling with switching images etc.

Got it working, I can now switch between a menu image and a game image. Woot :) With that my sketch size is limited to half a megabyte (or a bit less), since it's working like the ArduinoOTA library. It reads stuff into the 2nd half of the active 1MB flash and after restart the eBoot bootloader overwrites the firmware. Since this is supposed to be working with Arduino (not just because of me :D) so that people can easily work with it, I just need to take that as a given. There's probably a way to work with rboot, but I'd rather cross that bridge only when I come to it. Cool. Cool, cool, cool.

One quirk: I had to remove SD card support, since it also defined a File. I need to take a look into that later. It probably makes sense to have a menu that allows for upgrading / updating from the SD card. I need both libraries If I want to get out of the games that also use the SD card as well. 

Recently I've started a revision 3.2 that turned into a 5.0 revision - in other words it escalated quickly. In the end I had the game boy pocket buttons integrated, changed the CH340G to a CN2102 serial converter, removed the RST and C buttons, moved the I2C port and changed the footprint, changed the footprint of the PCF8574 to a smaller one. Ah, and I ALSO RIPPED UP ALL THE WIRES :D so in the end I closed eagle and called it a waste of time, but didn't delete it. Only 124 airwires, nothing a long weekend can't fix ;)