Pages

Thursday, October 11, 2012

It's thinking....

Ok, I know I've been away for a few weeks, as luck would have it I got some time in the woodshop and put together the first "BrainBox" for my SishFishPi platform.

First, more on the SishFishPi for those just joining us. It's a basic chess computer built using the Raspberry Pi Linux development board, the amazing Stockfish engine, and commodity LCD/electronics. The SFP integrates with a new software build for the "Sish" chess board.

The end result, a small form factor butt kicking chess machine.


Now I'll put together a more detailed post on how it was built and finished, however just a few details to get you started:

The BrainBox itself is made of red oak finished with roughly a dozen coats of "black shellac" which I purchased from shellac.net. The sides each have a "brain" design cut into them with a scroll saw, behind that design I placed cut pieces of translucent plastic to difuse the light. After that I built a small "light board" inside the case that uses the Pi's GPIO PWM pin to slowly pulse light over a sine wave like design. Here's a picture of the inside..


Lastly an LCD has been added (simple Sparkfun or Adafruit HD44780) which outputs the brainbox's moves.

Here's a video to give you an impression of just how cool this ended up.


video

The end result turned out very cool, and now that the SFP/BrainBox has got a home I'm sure I'll have more time to finish up the code and get something posted up here.

In the meantime enjoy the video!

-hz

6 comments:

kutahyaspor said...

great job!!

but "brain" too big :P

Benoit Tremblay said...

Hi,

I love you idea, but I'm worried that the hole for the tact switch won't be weel laigned and look a bit bad.

I saw a USB board based on reed switch, but a bit complicated to construct (turn 90 degres to activate the switch). I'm wondering if you could combine both idea the following way in the programming:
- You want the piece to go from e2 to e4.
- Computer receive e2 signal
- When the piece touch to e4, the reed switch turn on and send a signal, e4, to the computer.
- If you leave the piece on the square the reed switch stays on.
- When you take the piece off the board, the reed switch turn off and the signal is no longer received.
- The program detect the changed state from on to off and send the signal e4 to the computer.

Can this be programmed?

I can't wait te receive my Teensy and build my own chessboard.

Very nice work.

hazmat said...

Thanks for the kind words. What you are describing is technically possible, however I don't believe I will be working on it. The reason is simple, I prefer the simplicity of the existing design. The way it's built now it will work with just about all major chess applications right out of the box. To me, that's the most important consideration, portability.

Good luck with your project, feel free to send pictures or ask questions!

-hz

Benoit Tremblay said...

Me again :)

Had you think about transforming your Sish into a Bluetooth chessboard? I'm not an expert in electronic (in fact, far from it!), but can this be easily used?

https://www.sparkfun.com/products/10823?
It is preloaded to work with a keyboard!

Thanks

Ben

Benoit Tremblay said...

I'll try programming the Teensy myself for the board to work with reed switch. On the docs of the teensy, when a pin is connected to ground, the teensy can detect it.

However, that is not the way you did it... If I understand the wiring diagram correctly, you are doing a kind of shortcut between two pin. Is it correct? I don't want to burn my Teensy!

Which function do you use? Do you use the same function used to see if the pin is connected to ground?

And can I ask you the source code please? That will help me in learning C as it is easier to adapt than creating from scratch.

As you said "imitation is the sincerest form of flattery" :)

Thanks

Ben

hazmat said...

Ben,

Thanks for the suggestions. I'm not interested in bluetooth at this point, mainly because I don't use the chessboard I have right now, just no time.

The code isn't public at this point, haven't really decided what I want to do there. The process I use depends on driving each wire high one at a time, then seeing if any of the opposing wires are high.

It's hard to visualize, but the teensy loops at a very high rate of speed, meaning it will easily pick up a "short" between two different wires.

Hopefully this helps, if not leave me your email and I'll try to explain it further.

Matt

Post a Comment