Useful Stuff

Raspberry Pi Project useful links, tools and techniques

RPI Tips and Techniques are here:

Preparing wires for soldering multiple components often means you need to solder a joint part way along a wire. Here is useful trick that works for me.

A few useful building tools and supplies are here:

My favorite wire stripper and soldering iron.

Really Useful Links for Stuff for Building Chess Computers using Arduino Raspberry PI & Stockfish

I have assembled these links as I have searched for answers when constructing my chess computer. Hopefully this will save you some time if you decide to build one.

General Chess Computer Building Links

Building a Sish Board, a tutorial
Great description of how to build a USB Chess interface board.

USB Chess Board
UK site that descibes a variety of different USB chess boards

Magnetic USB Chessboard (Solus Chess)
Detailed description of how to make an USB reed board

Adapting a Mephisto Modular Board This is a Spanish site that desribes how to adapt a Mephisto Modular board. This will save a huge amount of time building your own board.

How to Build an Arduino Powered Chess Playing Robot

Chess Engines

UCI (Universal Chess Interface)

Communicating with Chess engines

Stockfish
The open source chess engine

Stockfish Support?
The support site for Stockfish where general questions are answered.

Chess Software

Raspberry Pi for running the Chess & Rules engines

ChessBoard Library.
Python based library of chess routines

How to Communicate with a Chess engine in Python

Basic tutorial and example code on using pipes with UCI to subrun Stockfish, or any other engine.

 

 Arduino for controlling the chess board

All you need to know about Arduino

Arduino Playground
Part of the previous site, but with lots of useful examples, in particular on:

Keypad Matrix
A chessboard is basically an 8 x 8 keypad, this tutorial telles you how to write the software for it wether you are using momentary switchs, Reed switches or anything els.

LED Matrix
If you want a matrix of LEDs so you can flash/light squares when the computer moves, this is how to do it using a really neat bit of kit called a MAX7219 or MAX7221 Led driver.

Driving LCD displays
So you can display messages/menus. Most common is a 4 line x 20 chard display or a 2×16 display.

Arduino Memory
An Arduino does not have much working memory, RAM so if your program starts doing funny random things as it gets bigger you will need this.

 

Google Group Discussion on building Chess Computers with Raspberry Pi:
Here you will find a small group discussion on some of the challenges around building a chess computer using Raspberry PI.

 

 

 

2 Responses to Useful Stuff

  1. Ryan says:

    Dear Mr/Mrs,

    I have several question due to your project. Currently I am making a chess playing robot using the stockfish engine and Arduino ATMega 2560 and I am using the UCI as well. My question is, what kind of information that was sent by UCI to arduino except the Bestmove? and what kind of information that was received by UCI from arduino?

    Thank you very much for your reply.

    Best regards,

    Ryan Iskandar

    • Max says:

      Ryan,
      UCI is the chess interface language and is defined in the link on the software page : http://wbec-ridderkerk.nl/html/UCIProtocol.html This tells you what information you need to send between the engine and your program which is acting as the user interface. All sorts of information needs to be sent such as: Set playing parameters, strength, time etc. and then in the game you send each move. The engine responds with all sorts of stuff as it searches including the best move and the “ponder” move, which is the move it expects from its opponent, which can be used as a hint. The listing on this site at http://chess.fortherapy.co.uk/home/software/python-program-that-runs-stockfish/ is a python program that runs Stockfish. Most of this program is a demonstration of communication to and from Stockfish using UCI.

      Which brings me to my final point. I don’t think you can run Stockfish on any Arduino. It needs an operating system like unix. I used an Arduino to control the board, but the Arduino communicated to a Raspberry Pi which ran Stockfish.

Leave a Reply

Your email address will not be published. Required fields are marked *


*