December, 2025 :: Note - This project is an ongoing year-long team project for the 2025-2026 school year! :: **Other Entries:** [[TTRPG Table - Junior Project - Winter Term]] #esp8266 #esp32 #3dprinting #dnd #raspberrypi # Project Overview This project consists of designing and building an interactive, ”smart” gaming table with modular terrain components and LED indicators to be used in Table Top Role- Playing Games (TTRPG). All of my teammates and I are big D&D (Dungeons & Dragons) fans, which was the inspiration for this project. The table will be constructed out of laser cut wood and measure around 2.5ft wide x 2.5ft high. This table is small enough that it would sit on top of a folding table or such to be an elevated play space that everyone could see and access. 3D-printed hexagonal tiles will form the terrain base of the game table, featuring a pogo connector on each tile to connect to adjacent tiles and distribute power, thereby reducing the need for loose wiring. Each hex tile will have an ESP8266, which will connect to the main master board (Raspberry Pi) via Wi-Fi. On the terrain hexes, LEDs can be configured to light up and enhance the terrain, react to attacks between enemies and players, and set general ambiance. On specific terrain styles, there will be a motor/servo embedded in the base that will allow a flexible 3D printed ”mountain” to appear out of flat ground in case the Game Master (GM) or Dungeon Master (DM) wishes so. A DM screen made out of an 10” HDMI touchscreen connected to the Raspberry Pi would allow manual control over the ESP8266 elements of the table such as: an overview of active tiles by number, LED color adjustment, and servo PWM for terrain height. # Hardware Required Current hardware that we've defined and started using for development is listed here: - ESP8266s - Raspberry Pi (gen 4) - 10" HDMI Touchscreen - Servo Motors - RGB LEDs - Resistors - 2N3904 Transistors - Mini router - 3D printer filament (for printing the hexes) & resin - 5V 12A power supply - Wood to build the actual table Current schematics are still in fluctuation as we're building and testing the prototype, but this is what we've determined so far for each individual hex: The ESP8266 will be the main controller communicating with the Raspberry Pi using Wi-fi connection. It will send signals to the RGB LEDs through 2N3904 transistors, turning them on. ![[Terrain Hex Circuit Diagram.png]] This doesn't include any power delivery or servo yet since those are still in testing, but once I complete the first custom PCB in Winter term I'll be sure to post an upgraded schematic :) For the block diagram of the whole system, check this diagram out: ![[TTRPG Table Block Diagram.jpg]] # Software Flowcharts Next up we have software. The two biggest areas of software we'll have running are on the Raspberry Pi, which is the brain of the project, and secondarily is the software running on the ESP8266s. Since the Raspberry Pi is both controlling the user interface and communicating with each terrain Hex, we started working on that code first. The Raspberry pi will connect to the router on startup, and create its own log of IP addresses as the ESP8266s come online. It will create a map of where the ESP8266s are located, and further setup the DM Screen User Interface. Here's a basic setup of the flow: ![[RPI software flowchart.png]] The ESP8266 code is relatively simple all things considered--it will connect the device to the wifi and wait until further instructions are received from the raspberry pi. Once it receives data, it will enter a state machine to further change status of the LEDs or the Servo motors, then finish with an acknowledgement to send to the Raspberry Pi. ![[ESP8266 software flowchartr.png]] # Current Prototype Our fall term 2025 goal was to finish the minimum requirements prototype, which included the Raspberry Pi successfully communicating over the network with the ESP8266 and changing the colors of the RGB LEDs we had connected. We successfully completed this goal on time, you can see the video below! ![[ttrpg demo.mp4]] We have a lot of work ahead of us for winter term and fall term, with a high level view here: ![[TTRPG Project Schedule.png]] # Conclusion I've been having a ton of fun working on this project with my two other teammates so far. I look forward to being able to post an update on our progress in the New Year!