I want to build an electronic scrabble set. It's simplest feature is automatic score calculation; advanced features could include dictionary checking, or recording move history...
I found one almost exactly as I imagined. Built in 2012. It uses 225 RFID sensors. It cost over $30,000 to build, apparently [[/url].
The easiest way to build this would be to place a camera above the board and throw computer vision at the problem, but I'd rather build a ghost in the machine.
Tile Sensors
Each of the 225 board cells will be rigged with sensors to detect the tile placed on itself. Each scrabble tile will encode either 3 or 5 bits of data, using conductive pads, or magnets, or ...?
-
3 bits sufficiently encodes the tile's point value.
-
5 bits can encode the alphabetical letter (think ascii or braille)
So, the board will need either 675 sensors or 1,125 sensors.
-
675 sensors to score digitally.
-
1125 sensors for the advanced features.
Wiring the Sensors
An arduino clearly doesn't have enough pins for hundreds of sensors, so I imagine the interface to be like a Random Access Memory Device, i.e. the arduino requests from the "board" an address (the cell's x, y coordinate) and the board returns the value stored at that address (the tile's data).
(8 bit addressable memory with 5 bit words)
My Questions
- What sensors should I use? cheapest? or easiest to hide beneath a wooden board?
- Will I need to build the RAM interface from transistors by hand? or is there some off the shelf Micro Controller I can use?
- Is this too ambitious for my first large scale project?
](The world's most high-tech (and expensive) Scrabble board)
phyterjet:
Is this too ambitious for my first large scale project?
Yes.
Start small. Your biggest challenge will be the detectors, so master that with one detector.
Here is something to try- and it's cheap. This article discusses using a single IR LED and Detector pair to determine the color of an object. So, you paint the bottom of the tiles with a color corresponding to the score for that tile. When the tile is placed over the LED/detector pair you should be able to determine the tile's score. Later, as the project grows, the position of the tile can be used for the multipliers.
Then comes the really hard part- the logic of scoring.
Consider the board below:
How would you score when the word "MONK" is placed on the board? Those four tiles created four new words which all need to be scored. Also, I don't recall the rules for multiplier spaces, but "SEE" was on the board before you played "MONK", and the "S" is a Triple Letter multiplier. Is it still a multiplier when playing "MONK" created the word "SEEM"? Is "SEEM" worth 8 or 6 points?
See what I mean- ther really hard part.
Each scrabble tile will encode either 3 or 5 bits of data, using conductive pads, or magnets, or ...?
A tile only has to encode its letter - 5 bits.
SteveMann:
using a single IR LED and Detector pair to determine the color of an object. So, you paint the bottom of the tiles with a color corresponding to the score for that tile.
Thank you, I hadn't thought of that, if they're sensitive enough to discern ~8 different levels of reflected light this'll be the cheapest method. I'll experiment with different shades of paint, and reflective materials.
SteveMann:
Then comes the really hard part- the logic of scoring.
I work as a software developer, it's just the hardware I'm lost with haha. Once the board state is visible to the CPU, it'll be smooth sailing (I hope)
TheMemberFormerlyKnownAsAWOL:
A tile only has to encode its letter - 5 bits.
5 bits is ideal, yes.
If you use Steve Mann's idea, then since there are only eight distinct scores, you could fit them in a nybble if desired. Personally, I would just use an array of bytes to start with and live with the 'waste'.
I certainly agree too, that getting the hardware right will be the lion's share of the effort. By comparison, scanning the board for new tiles and calculating the score should be simple enough for a developer.
It feels like it will be hard to get all 225 detectors working flawlessly.
Much simpler to create a virtual scrabble board on a PC screen - perhaps a touch screen 
You could even include a scrabble dictionary to stop fights.
...R