Welcome to the 3D Tetris project! This repository documents the creation of a 3x3x12 LED matrix that enables users to play a fully functional 3D Tetris game. The project leverages an ESP32-based development board (ESPduino) with integrated web server functionality for remote control.
Project Overview
This project was developed as part of the "Applied Microcontroller Technology" module and integrates hardware assembly, software programming, and web-based GUI design. Inspired by the game available at 3DTetris.de, the system enables interactive gameplay through a wireless web interface.
Key features include:
A custom-built 3x3x12 RGB LED matrix.
ESP32 microcontroller for controlling LEDs and hosting a local web server.
A responsive web interface for gameplay and real-time interactions.
Open-source software written in C, HTML, CSS, and JavaScript.
Hardware
ESPduino Controller: Combines the ESP32 Wi-Fi chip with Arduino-compatible GPIO layout.
3x3x12 LED Matrix: Comprised of 108 individually addressable PL9823 RGB LEDs.
Custom Housing: 3D-printed for modularity and ease of assembly.
Power Supply: Powered via USB-C with an integrated on/off switch.
Software
LED Control: Powered by the FastLED library for efficient matrix management.
Game Logic: Implements Tetris gameplay mechanics including rotation, collision detection, and line clearing.
Web Interface: HTML/CSS-based GUI hosted via an onboard web server, with multi-language support.
Gameplay
Control Tetrominoes (Tetris blocks) through the GUI.
Real-time rendering of blocks on the LED matrix.
Score tracking and high-score leaderboard.
Adjustable levels and difficulty scaling.
High-score table to save and display the top 10 scores.
Difficulty selection for custom gameplay experiences.
Getting Started The project guide is available on both the Instructables page and the GitHub repository. Feel free to choose the platform that works best for you.
Acknowledgments
This project was developed by Marvin Heins, Markus Schmidt, and LeonarLeonard Holz-Diehl. Special thanks to the open-source community and the developers of the FastLED library.