This project aims to create an autonomous robot capable of playing an intelligent, over-the-board game of chess against a human opponent. The system uses a three-axis, cantilevered, overhead gantry to move parallel to the chess board. Each axis is driven by a stepper motor, the horizontal axes using belts and the vertical axis using a rack and pinion. A crosspoint array of reed switches embedded in the physical chess board allows for piece detection, and with software record of the board state, piece recognition. This system is orchestrated by an MSP432E401Y microcontroller, with chess moves being pulled from the open-source Stockfish chess engine, running on a Raspberry Pi 3A+. All communication between the Raspberry Pi and MSP432 is done through a universal asynchronous receiver-transmitter (UART) serial connection.
This repository contains all embedded code for the system, written in C.
- Create a new workspace in Code Composter Studio (CCS)
- Go to
New->CCS Project - Select
MSP432E4 Familyfor the target, and then selectMSP432E401Yfrom the dropdown - Name the project something descriptive
- Select
Empty Project, notEmpty project (with main.c)and clickFinish - Once the project is created, find its location in your file system and clone this repo into that directory
- Move all of the files in the
Capstone-Softwaredirectory into your CCS project directory - Delete the
Capstone-Softwaredirectory. The.gitfolder should be in your CCS project directory - Go back to CCS and build the project. It should build successfully
- Once the project is building correctly, click the top level directory of the project, then go to
File->Properties->Arm Linker->Basic Options - Set the Heap size and the Stack size to 4096 and click
Apply and Close - Rebuild the project
If you project builds successfully, you should be all set!
