Display Considerations

A project log for µGame Turbo

Python game console like µGame, only faster, bigger and with more memory.

ðeshipuðeshipu 03/13/2018 at 20:560 Comments

The µGame used the cheapest color display available on the market, the 128×128 1.44" version of ST7735. It large enough pixels to be clearly visible and for the pixelart to make sense, but is small enough to fit on a pocket device. Sadly, it doesn't have hardware scrolling, and the 1.44" is actually a little bit too small, especially for older people. It works with up to 40MHz SPI. What are the alternatives?

The SSD1351 has the same resolution and size, but is an OLED display — meaning battery savings and better contrast and viewing angles. I used in in #Ye Olde Nowt with some success. However, it requires extra electronics for the high-voltage power for the LEDs — I'm a bit afraid of that, since so far I have only ever used it on a ready module. It's also pretty expensive — just the display easily the price of the whole µGame.

The ILI9341 is the second most popular and also second cheapest display around. It's 320×240 and usually comes in 2.2" and 2.4" versions (but even as large as 2.8" versions exist). Like the ST7735 it works with 40MHz SPI, though there are much more pixels to transfer. It has hardware scrolling, but only in the long axis — so I guess a Mario clone would be possible, but not River Raid. The pixels are really tiny at this resolution, so unless I upscale it to 2×2, pixelart will be hard to appreciate.

I could use the 160x128 1.8" version of the ST7735 module. It is a little bit bigger overall, with larger pixels, and in compatibility mode with µGame I could display status (battery, etc) in the extra space.

There is also the HX8353D, which on the first sight looks like the 1.8" ST7735, but has hardware scrolling like the ILI9341 (in the long dimension only, again). It seems equally cheap, but not as popular, though I suspect that many displays sold as ST7735 are actually HX8353Ds. The ILI9163 seems to be another compatible chip from this family. They also have a 1.77" version.

The HX8340 (or ILI9225G) is actually interesting. At 220×176 resolution it could fit a gameboy emulator with just a small frame around the picture (gameboy is 160x144), and at 2.2" is actually pretty large. It also has hardware scrolling in one dimension. It seems to be a bit tricky to source, though.

All of those displays also come in versions with the parallel protocol pins broken out, so I could try to get that to work — which would possibly result in considerable speedup of the refresh rate, and make software scrolling possible.

Are there any other cheap, easy to source, color displays with relatively big pixels out there?

Update: looks like the "hardware scrolling" is not really what I hoped — it basically adds an offset to data being written to the display, so you would still need to refresh the whole display to get scrolling. Disappointing.