Electronic scrabble board?

I used to love an online game called, I believe, Joggle. It was basically scrabble, but when you played a word it got lit up in your colors, and if I played a word off your letters they changed colors and I got to steal some of the points from you. And vice versa.

I'd love to see a physical version. I don't know how I'd do it in a cost-effective-ish manner. I'm picturing clear glass letter-tiles, with LEDs in the grid so I can illuminate in your color, do scoring, etc.

I don't think I could mount cameras inside a reasonably sized boardgame and do image recognition, to see what tiles are on the board. Plus, if I use frosted/diffused leds, I'm blocking my own view. I could use an overhead gambol, but that's less "boardgamey" and more techy. I know arduino's don't do image processing, but I'm assuming esp8266 can handle it using the IDE.

Rfid's the obvious solution, but that's 100 tiny chips (not cheap) and either a ton (225) of readers, or some mechanical scanning. In 2012 someone made a $30,000 scrabble board which is basically exactly what I want hardware-wise, using the rfid solution and carbon-fibre everything, etc. Crazy overkill.

I'm trying to wrap my head around some sort of resister-ladder and row/column scanning. But it would need to have a continuous current even when there's no tile down, and then bypass that when I placed one.

I've just stumbled across using RGB leds as color sensors, which could be an option. Dab of color on 3 sides of the tiles, and even with just RGB you get 27 combinations, which covers all letters. Haven't seen much other than some proof of concept for this though, and most color-sensors are pricey.

Thoughts? Any other thoughts as to process?

An exciting problem :slight_smile:

One alternative were a barcode at the bottom of every tile, and a barcode reader with adjustable/moveable focus.

Color encoding also looks promising to me, provided that the required circuitry can be restricted to some useful degree.

Major drawback of such solutions: light will be shining out of uncovered positions :frowning:

Perhaps hall sensors and magnets of different orientation could be used to encode the letters, but then the tiles must be forced to line up accurately.

Quite a different approach: have an ordered repository of the letters, and track which letters are removed and placed into which position. Or build an robot that puts the tiles into their positions, that can detect which letter he's moving where.

I'm guessing this is why there's no commercial version of scrabble out there that automatically handles point-counting and word challenges, etc. Easy enough computing-wise, but messy mechanically.

Thanks; I thought about hall sensors but hadn't been able to think about a way to properly differentiate 26 types.

More brainstorming last night: Tiny magnets on some corners, ensure perfect orientation. Then connect those magnets to a couple other points on the tile (depending on tile identification). Run 3.3v to the magnet and resultantly get 3.3v to the various points, and do digital-reads on the placement spots so you can tell which tile is in place.

But ugh, finicky.

Yes, I thought about barcodes, especially because they're basically free. But, again, you'd need a ton of sensors ($$) or moving sensors (complexity, mechanical reliability, and time per read).

I'm going to look more into what a camera can effectively see at like a 3" range... if I can do it with say 4 cameras monitoring quadrants, it's semi-manageable. But, again, a bottom-up camera doesn't let me use a frosted board. Otherwise, the overhead gambol remains an option.

And I looked it up, I was wrong - wordox is the game. It's still playable on facebook, and lots of fun, although the rules there are slightly different.

There's an existing scrabble anniversary-type board which I can get for like $50 which is glass, has glass tiles, and has a raised grid to help with orientation. Solves most of the preperatory work.

How about having varied resistor values in the cards?

You can then differentiate by analogRead?

dirtyharry2:
Thanks; I thought about hall sensors but hadn't been able to think about a way to properly differentiate 26 types.

There are 27 types of tile. You forgot the blanks.

On balance, I think the resistor approach is best. The trick is to find a way to apply some sort of resistance material to the back of the tiles in a cost effective way. Of course, you need to consider the durability as well, so you know your tiles and board contacts will have a long lifetime, and reliably make contact.

I'm a big Scrabble player, and have considered this myself. But I've never gotten around to working out the details.

How about 5 dots/no dots on each tile, with 5 light sensors under each grid space, multiplexed for reduced control circuitry?
5 of these would fit easily in a 12mm x12mm grid, which is smaller than a scrabble tile:

Scrabble board is 15x15 x 5 sensors per spot = 1125 sensors per board x 0.285/sensor = $321 for a board, so a little pricey I guess.

I would take a look at the DGT electronic chessboards. They use a multiplexed grid of coils under the board and each piece contains a tuned LC circuit (A coil and a capacitor). In chess you need to track 32 distinct pieces on 64 squares, and it sounds like you want to track 27 types of pieces. Take a look at the DGT patents to see the coils. I've made some extra DGT pieces by using 10 and 15mH coils with some very small value capacitors. I used 0805 caps that I could just solder between the leads of the coils.

Jimmy

Thanks guys. I'll look into the DGT patents; I hadn't thought about chess as an existing comparable.

As for resistors, the resistor ladder was an early idea, but how to make the current flow through the resistor when the tile is placed, yet ignore it when there's an empty tile (presumably there's a wire along the whole row/column)

Edit: a first hit was usb chess boards (which appears to have been taken over by spammers, but still). Some of their pics gave me an idea that each tile would have 2 contacts on it, connected by a varying resistor. Then the board just needs to connect 3.3 or 5v to the left contact, and do an ARead on the right contact, and will know what tile's down. No not a resistor ladder, but individual.

Pawn, Rook, Knight, Bishop, King, Queen, x 2 = 12. Little short of 27. 4 bits vs 5 bits of info to obtain.
64 squares vs 225 squares, nearly 4 times larger.
Marking dots/putting sticker on several hundred tiles vs mounting a circuit (board ?) on/inside 32 pieces.
Engineering tradeoffs either way.

It keeps track of each piece individually. King's Rook and Queen's Rook are different as are all the pieces. So that's 16. plus white pawn and black pawn is 18. Internally the board keeps track of the pawns in groups of two, with different colored dots showing pieces that oscillate at different frequencies. but let's call it 18. Could you make and discriminate 27 different tank circuits? I think so.

I agree there are tradeoffs, but a multiplexed matrix with LC tanks might be simpler that 5 optical sensors under each of 255 squares? If we're checking each other's math that sounds like 1275 sensors.

Jimmy

mixographer:
It keeps track of each piece individually. King's Rook and Queen's Rook are different as are all the pieces. So that's 16. plus white pawn and black pawn is 18. Internally the board keeps track of the pawns in groups of two, with different colored dots showing pieces that oscillate at different frequencies. but let's call it 18. Could you make and discriminate 27 different tank circuits? I think so.

I agree there are tradeoffs, but a multiplexed matrix with LC tanks might be simpler that 5 optical sensors under each of 255 squares? If we're checking each other's math that sounds like 1275 sensors.

It's a 15 x 15 grid = 225 squares.
5 x 225 = 1125.

Ahhh. 225 . Not a math day I guess.

Rooks are different pieces? Why? Let the software deal with that. Only allow castling if the pieces haven't moved and the space between is clear and the King is not going into check as the move occurs.
Same with the other pieces, keep track of what are legal moves for a piece and what are not. I don't see the point of knowing each piece individually.
Making the boards: can do each as smaller pieces, 4x4 or 5x5 or whatever that can be easily built & controlled and kept reasonably priced.

Good points. I have a set and the rooks of a color oscillate slightly differently. I just thought that if you want to track pieces on a board this would by one way to do it. Maybe not, just trying to be helpful.

Jimmy

So I'm thinking this.
TPIC6C595 turns on 5V output to enable a row of optoisolators for 15 tiles.
One additional output enables 15 outputs to be created to read the state of 3 tiles. If there is sufficient reflection, the outputs will be low, if not then high.
A pair of input shift registers captures the 15 outputs.
The next 3 are enabled, and their outputs read.
Continue until all 5 groups of 3 are read.
Then the same circuit for the next row is used.
The same pair of input shift registers can capture the output from all rows,
For each row, the optos would be under the tile location, while the shift registers and resistors can be off to the side.

Might have to use heftier shift register, sinking current from 15 groups of optos might need more current flow.

I'd go for the resistor in each tile and 16 * 74HC4067 (one for each row and one to select the row).
SOP24 are $10 for 20 (free shipping), 24 DIP are $20 for 10 (+shipping), from China.