My family was introduced to Catan back in winter of 2015 and we've been hooked ever since. Currently I am using a completely 3D printed setup w/ magnet so the hexes all snap together. It's great but setup is a pita and breakdown takes time. I'd like to up my game.

For those of you not familiar with Catan it's a game of resources where the board is made of separate hexagon tiles. In general the hexes are Lumber, Brick, Ore, Wool, and Wheat. There are some additional hexes such as Lake (Fish resource), Gold, Jungle, Volcano, and Ocean. Each hex, minus Ocean, is assigned a number between 2 - 12 with the exception of 7. Players place settlements on the corners of hexes and when their number is rolled the player gets those resources. More resources = expansion = points = winner.
I've envisioned upping my game experience through either
- a tabletop LCD connected to a laptop with some sort of hex mapping software but the programming is beyond my skills. So lets leave this option out for now.
Or - Arduino!! I've made some pretty cool stuff in the past but my skills are somewhat limited to code plagiarism and tweaking. I only dabble with it here and there but I compensate with my lack of code skill with an abundance of preservation or stubbornness.
Alright... lets get to my vision. A large piece of plywood with hexagons routed into it. Each hexagon has a fogged acrylic cover and under this against the acrylic is a display indicating the hexes number. Then along the inside wall of each hex is 6 WS2815s shining the light to correspond to the resource of the hex. (ie. green = lumber, yellow = wheat, red = brick, purple = ore, light green = wool, blue =ocean, and gold, jungle, lake, volcano I'll have to figure out colors). Nothing moves, setup is turning it on, hitting random, and then the ability to make tweaks through serial or Bluetooth communication to the arduino for some fine tuning.
With me so far? Hope so. Now comes the complex part. I want to control all of this from a single Arduino Mega 2560 and there's going to be a total of 128 hexes, 768 WS2815s, and communication for tweaking. Does this sound possible? I've been researching this project and it seems in order to get this happening I'm going to need to rely on I2C for this massive data dump. It seems TCA9548A multiplexors for communicating with all 128 of these displays is going to be the trick. The displays I'm eyeing are either quad alphanumeric or SSD1306 displays. Personally, I'm leaning towards the alphanumeric displays for the clean look and simplicity. I'll express my findings at the end.
For the arduino it will not need to constantly refresh or change the hex values unless I initiate a change through communication. So essentially once it does all of its business it will sit idle. I have plans down the road to add some features such as...
-Controlling four dice on a master display (two normal 1-6, one indicating yellow/blue/green//pirate/pirate/pirate, and a small one which controls the direction of iceberg pieces that travel along ocean pieces). This would be initiated by a button press.
-Depending on the dice roll the hex could flash if its number was rolled or the display could go blank on all of the non-rolled number
Any direction or understanding if this is possible would be much appreciated.
Quad Alphanumeric Displays (my ideal direction)
In my research I found that the Quad Alphanumeric Displays are capable of 8 different addresses. Couple this with a single TCA9548A I2C Multiplexer and I now have the capability of handling 8 of these display boards on each of the 8 channels leaving me with 128 controllable individual I2C.
Pro: Cleaner look, bright, seen from any angle
Con: ~11 amps
SSD1306
I've only been able to find these with two configurable addresses (0x78/0x7A). This would leave each TCA9548A to only have 16 displays and requiring 8 total TCA9548A multiplexors to handle the full 128 hexes.
Pro: Can display much more than numbers, ~3-4 amps
Con: Needing more multiplexors, extra complexity, more wiring, less reliable (imho), not as bright, would be an issue to see from extreme angles.


Catan-14Segment.ino (19.2 KB)
