Wordle Matrix Project

Project Information

An embedded systems interpretation of the New York Times' popular game Wordle

8 days ago

gitlab.com

Project by Chris Kaser

NOTE

This project is still currently under development. To follow the progress of this project, you can visit the Gitlab repository.

About

This project brings the popular digital word-guessing game, Wordle, into the physical world. Using an RGB matrix panel, this game provides a hands-on, retro-inspired experience. The device interacts with a custom API to offer persistent scores and game statistics.

It's a fun, standalone game that also serves as a robust experiment in embedded systems, full-stack development, and hardware-software interaction.

Gameplay and Features

The core of the project is the classic Wordle-style gameplay. Players have six attempts to guess a secret five-letter word. Interaction is handled through a connected device via serial, with all gameplay and feedback displayed in real-time on the colorful matrix.

Features

  • Vibrant Visual Feedback: All words, guesses, and feedback are rendered dynamically on the RGB matrix display, creating a visually engaging and intuitive interface.

  • Standalone Logic: The board runs all the primary game logic using CircuitPython, from word validation to feedback generation.

  • Serial Communication: Debugging, logging, and word input are facilitated through a direct serial connection.

Connected Gameplay and Performance Tracking

A key architectural feature of this project is its integration with a backend server. The device communicates with a dedicated Flask API, which allows it to store and retrieve game statistics persistently in a PostgreSQL database.

  • Persistent Statistics: The system tracks crucial player statistics, including the number of games won, current and maximum winning streaks, and a full distribution of guesses. This data is stored centrally, ensuring it's never lost.

  • Graphical Stat Display: After each game, players are presented with a graphical display of their performance, with the data fetched directly from the database and rendered visually on the matrix.

Summary

This project serves as a practical exploration of several key development areas, including embedded programming with CircuitPython, real-time input handling, and interfacing internet-connected hardware with web-based APIs.