Flashing via SD card

Yea, when you click the upload button in the Arduino environment, the following things happen (more or less):

  • All the files in your sketch get merged into one (the multiple "tabs" in the environment)
  • That file then gets compiled into machine-readable instructions (.hex file) (All the included libraries also get compiled, and get merged into the single .hex file)
  • Arduino environment resets the ATMega chip on your board
  • Bootloader runs first, recognizes that you want to upload new code
  • Arduino environment starts sending out the machine-readable instructions (the single .hex file), and the bootloader receives them, flashing the chip along the way

To do what I want, I would simply do the first couple steps on my computer (compile the sketch into a .hex file), then I would place it onto an SD card and let the "programmer" do it's work.

Yeah I see what you mean. Then you can add extra games to it without any need to re-program the chip with a computer.

Maybe you want to simply run games off an SD card rather than physically loading them onto the arduino.

The SD card read is a little slow but I would have thought that it's be fast enough for simple graphic LCD games :)


As, write an interpreter on the Arduino, and write the games in my own interpreted language?

I’ve thought of that too, and that was definitely one of the ways I was thinking of going. The biggest issue I can see with this is that the 328 only has 2 KB of ram, so storing any sorts of graphics might be a pain (not to mention the ram that the fat libraries take up…)

Though I think it could definitely be possible, especially if I “compiled” the games down (to save on unnecessary string buffer memory).

I’ll give it more thought, but I still think using one chip to flash another should be easier…

I hope to get somewhere around 10-20 fps, so I’d assume reading from an SD card would be ok (they do use an SPI interface, after all…)

yeah the SD card libraries can take up quite a bit of room.

I do think that you would be better off with a 644 or mega maybe as they have more in the way of RAM.

It's an interesting one, anyway I look forward to seeing what you get sorted and how you go about it.


i found nice graphical lcd 128x64 used with arduino: http://www.youtube.com/watch?v=hid0eEHqmvs

although i think at first im trying to get a cheap non-graphical lcd for just showing temp etc.


module 80x36mm

LCD 64x13.5mm


Blue backlight

White numbers

Note that the interfaces for graphical and non-graphical lcds are very different (and even different types of graphical LCDs are different).

Using the character LCDs is really easy, I’d suggest looking at Adafruit’s tutorial here: Arduino Tutorial - connecting a parallel LCD.

For this project I will using her new serial graphic LCD: http://www.adafruit.com/index.php?main_page=product_info&cPath=37&products_id=250&zenid=0e0f628671c1c67faa6579949c10af37

Also, the game in your video is definitely one I was thinking of making…

thank you for the links, i also found a page http://jonnyblanch.webs.com/arduino.htm, where everything is made very simple. Standard 16x2 LCDs are the easiest.