This is written in python2 and uses my own python-pilite library, available via pip.

I’ve been playing with pygame as well recently, and I’d been thinking for a while that it would be fun to implement a frame-buffer-like interface for the PiLite and a function to write a pygame Surface to it. That way I could use all of pygame’s sophisticated features, including collision detection.

Overkill on a 14 x 9 x 1-bit display? Perhaps. Fun though!

As the PiLite is connected via a slow serial link (9600 baud) the rendering is slow, 5 fps, but this is fine for Tetris.