← Back to Projects
EMBEDDED PROJECT CASE STUDY

Arduino TFT Tetris

A handheld Tetris prototype on Arduino Nano + Adafruit ST7735 TFT — SPI graphics, physical buttons, collision detection, and a falling tetromino engine with no OS.

ArduinoEmbeddedC++SPITFTPiezo
Role
Solo builder · Ritvik Ellendula
Timeline
Spring 2026
Stack
Arduino Nano, ST7735 TFT
Outcome
Real-time falling-piece engine with line clear + score
Product preview

System breakdown

01INITIAL MATERIALS

Initial materials

Parts before assembly

Breadboard, Arduino Nano, ST7735 TFT module, tactile buttons, jumper wire, and discrete components laid out before the handheld build started.

What it handles

  • Component inventory
  • Display module selection
  • Button + power planning

Tools used

Arduino NanoST7735Breadboard
Initial materials
Initial Tetris project materials on desk
02FULLY WIRED SETUP

Fully wired setup

Handheld prototype

Completed breadboard build: Nano, TFT with live Tetris gameplay, tactile buttons, and piezo buzzer on a portable perfboard layout.

What it handles

  • Full wiring pass
  • Display + input integration
  • Playable handheld form

Tools used

BreadboardJumper wiresPiezo buzzer
Fully wired setup
Fully assembled Arduino Tetris handheld
03GAMEPLAY DEMO

Gameplay demo

Tetris on the TFT

Falling-piece engine on the microcontroller: SPI rendering, collision detection, line clears, score tracking, and piezo beeps — no OS.

What it handles

  • Falling tetromino engine
  • Line clear + score
  • Piezo tone() SFX

Tools used

Arduino C++Adafruit GFXST7735
Gameplay demo
04DISPLAY BRING-UP

Display bring-up

Soldering the ST7735

Hands-on solder rework on the TFT leads to stabilize SPI connections when the display was intermittent.

What it handles

  • SPI wiring debug
  • ST7735 init / tab offsets
  • Physical display repair

Tools used

Arduino NanoST7735SPI
Display bring-up
05CONTROLS & DEV TEST

Controls & dev test

Two buttons + laptop

Early two-button prototype through the laptop to validate debouncing and game logic before the final handheld controls.

What it handles

  • Button debouncing
  • Input → game state
  • Serial / dev iteration

Tools used

GPIOC++Breadboard
Controls & dev test

Results & lessons

Results

Playable prototype

  • Full gameplay loop on device: fall, collide, clear, score
  • Handheld form factor on breadboard power
  • Documented build + demo videos in gallery

Future improvements

Roadmap

Next: piece rotation, smoother animations, battery enclosure, 3D-printed shell, sound effects, difficulty scaling, and start / game-over UI.

  • Piece rotation + improved visual effects
  • Battery-powered enclosure + 3D-printed handheld shell
  • Sound, music, and difficulty scaling