I want to have an Arduino based game you can play on a nokia 5110 screen. The problem is you cant make a medium sized game on an Arduino because the flash size is only 32k. I sit possible to have multiple Arduino's connected to each other, communicating to make it possible to have a bigger game. If it is possible how does it work?

  • 2
    You could store things like bitmaps, and level data in an external EEPROM.
    – Gerben
    Jan 14, 2016 at 19:51
  • You can. Probably the easiest solution is so make them communicate through serial connection. Or SPI. Just divide the visualization part (so all the bitmaps and the screen driver) and the input/game logic part and make them communicate. Or, if you can, follow @Gerben 's advice and use an external EEPROM for the big amount of data (even if screen libraries are quite big sometimes).
    – frarugi87
    Jan 15, 2016 at 10:28

3 Answers 3


You can make quite an impressive game.

Toorum's Quest


  • Based on ATmega328P running at 16 Mhz (same as Arduino Uno).
  • The game has a display resolution of 104x80 with 256 colors.
  • Video mode is tile based and supports up to 3 sprites per scan line.
  • Sprites are multiplexed so there can be unlimited number of sprites vertically on the screen.
  • 4 audio channels with triangle, pulse, sawtooth and noise waveforms.
  • Chiptune music playroutine and sound effects.
  • NES controller support.

Video of it in action:


Original post on the Arduino forum.

So, before you start wanting to connect lots of Arduinos together, investigate what can be achieved with just one. :)

The first thing to do, as others have mentioned, is to store static information into PROGMEM (see Putting constant data into program memory (PROGMEM) for more details).

If Petri Häkkinen can get his title screen, levels, sprites, music, and game logic into an Atmega328P you can too! Have fun!


Yes and no.

Yes you can make Arduinos communicate with each other and send messages to each other.

Can you use that to make a game? Possibly.

Is it worth the effort? No.

It would be a huge amount of work and be overly complex when you could just use a bigger Arduino, like a Mega2560 or a Due.


You can have two Arduinos communicate with each other but it is fairly complex. See this instructable. One process is using the I2C protocol.

A far easier option is to use a larger Arduino model. Consider the Mega 2560 since it has 8 times the Flash memory.

  • Instead of I2C use serial. Much faster and more lightweight.
    – frarugi87
    Jan 15, 2016 at 10:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.