Settlers of Catan is an extremely popular and engaging board game that involves both chance and plenty of strategy. Within the game, players can build settlements and roads to gain points, as well as gather certain resources based on what number was rolled with the dice. One aspect that many players find annoying is having to determine which resources were rolled and who should get to collect them. This is why Sam March decided to make his own version of the Settler of Catan board that will automatically roll a pair of virtual dice and then show which tiles have that number.
As stated before, the game board is composed of many hexagonal tiles that each have their own number assigned. March started by measuring one of the actual tiles and then recreated it in Fusion 360. Next, he greatly increased the height and added an inlaid cut to accommodate the electronic internals. After this single base unit was completed, he copied it several times over to transform it into a board.
The electronics within this project are what make it special. Every tile needs to light up individually, but including a dedicated microcontroller on each is very expensive, so March opted to use individually-addressable LED that can all be controlled by a single MCU. The control PCB has both the regular LEDs and a barebones ESP32 circuit. In order to speed up the tedious assembly process he had his PCB fabricator do all of the pick-and-place for him, while he just assembled the main control board.
With his board design files ready, March headed over to a local makerspace for a bit of time with their large CNC milling machine. While there, he cut milled the hexagonal game board and cut it out from several sheets of birch plywood. A bit later, he returned to laser cut the clear acrylic top pieces that diffuse the light from the LEDs underneath. Once the wood was all sanded and stained he placed each PCB into the correct position and wired them all together.
Getting the firmware to work correctly was probably the most challenging part of this build, as it has to function correctly every time the game is played. The code for the board is fairly straightforward, however. It contains several arrays that contain information about how many of each resource tile are present, as well as which number piece is on a given tile. When the ESP32 first boots up, it lays out the tiles and numbers in a semi-random way according to the game's rules, meaning that each match played will be unique. Whenever the virtual "dice" are rolled their resulting sum is displayed and the corresponding tiles light up to signal that resource should be collected.
As seen in March's great video, his smart Settlers of Catan game board really shows what's possible with seemingly simple components. The entire project is open source, and it can be viewed here on Github.