I am a go player (http://en.wikipedia.org/wiki/Go_(game)) and would like to build an electronic goban (go board) to play on a physical support when playing by internet. There is a standard format (sgf) very easy to parse, so I think an usb device would not be terrific to program, but I'm a total beginner and since the board is a 19*19, I wonder if there is some specific microcontollers to use. To be specific, the board would have 19*19*2 (2 different colors) leds, and 19*19 buttons.

My question would be: is it feasible with Teensy like chips? I'm afraid there is not enough pins, but since I'm a beginner maybe there is something trivial I do not see.

Notes - remove if unwanted.

"Go" is a board game which predates chess. Players alternately place pieces in their colour (typically black or white) on the board in order to win area according to a set of rules. The game is more difficult to master than Chess due to there only being one type of playing piece and there being very few constraints on where a piece may be placed on the board - as opposed to where a piece should ideally be placed.
The game is played on the interstices of a square board marked out in 18 x 18 squares - this giving 19 x 19 playing points. The game state may be fully described by recording whether each of the 19 x 19 = 381 playable locations contains a black or white piece or is empty. Game play may be fully described by recording the sequence of locations at which players successively place pieces and the consequent removal in some cases of previously played pieces. Some moves lead to sudden 'death' and removal of one or more previously played pieces (sometimes a large percentage of all previously played).

Wikipedia - Go
Chinese: 圍棋 wéiqí,
Japanese: 囲碁 igo,
Korean: 바둑 baduk,
Vietnamese: 碁圍 cờ vây,
English: Awesome hard!

Pretty pictures

Picture - Wikipedia:

enter image description here

  • \$\begingroup\$ Anyone not understanding the details of this game are excluded from answering this question - do you wish that? \$\endgroup\$ – Andy aka Oct 15 '13 at 12:51
  • \$\begingroup\$ It uses the same basic components as Othello/Reversi, just larger and with different rules. \$\endgroup\$ – Ignacio Vazquez-Abrams Oct 15 '13 at 12:55
  • \$\begingroup\$ I know of a guy whom implemented a flexible go table with an ATmega, so it's possible to do enough multiplexing on such level. \$\endgroup\$ – AndrejaKo Oct 16 '13 at 16:55
  • \$\begingroup\$ @AndrejaKo: I'm sure it's possible, but I don't believe the asker is capable of it yet. \$\endgroup\$ – Ignacio Vazquez-Abrams Oct 18 '13 at 20:01
  • \$\begingroup\$ @Ignacio Vazquez-Abrams I agree with that. It will probably take some time for OP to accumulate sufficient amount of experience in order to make such a project feasible. \$\endgroup\$ – AndrejaKo Oct 18 '13 at 21:32

That's definitely a lot of I/O. Even with charlieplexing you're talking a minimum of 27 pins of output, and the circuit to do so for that many LEDs is very complex. I recommend splitting the board into multiple regions and having a 44-, 68-, or 100-pin MCU control each region using a simpler mechanism.

As for input, you're better off using a IR touchscreen instead of discrete switches or even a traditional touchscreen. This can be handled by a single MCU.

The SGF file will be decoded by a "master" MCU, which will then talk to the others via SPI. This master MCU could possibly be the input MCU if you select one with enough I/O, otherwise the input MCU should use an interrupt pin to let the master MCU know that a press has been performed.

As for power, this will likely use more than the 500mA available via USB and so will need a separate power adapter.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.