Knight-S5 (K-S5) is a B.S. Computer Engineering thesis project focused on human-machine interaction through an AI-driven chess robot.
Human-Machine Interaction Using Artificial Intelligence through a Chess Robot under a Modern Application Architecture Computer Engineering (Batch 2005)
This work presents Knight-S5 (K-S5), a chess robot designed to combine artificial intelligence with physical machine actuation in a real game environment. The project addresses the gap between software-only chess systems and embodied machine interaction by implementing a platform that can sense board activity, process chess decisions, and execute piece movement mechanically.
The system integrates a C#/.NET control application, a chess-engine interface, and microcontroller-based actuator control. Piece movement is performed through X, Y, and Z mechanical axes, while board and head-level sensing support state detection and movement coordination. Command flow is routed from the PC controller through parallel-port communication to dedicated PIC16F84A firmware modules responsible for axis and peripheral behavior.
Implementation covers actuator mechanics, board and sensor integration, controller circuitry, firmware communication logic, and software coordination. Validation emphasizes actuator repeatability, movement accuracy, and sensor reliability under controlled testing conditions. The resulting platform demonstrates a practical model for applying AI-guided decision logic to an embodied machine system for structured human-machine interaction.
Primary software components:
KS5.MainWinForms application for game flow and machine orchestrationKS5.Controllerparallel-port communication and low-level control logic (InpOut32.dll)KS5.ChessEnginechess engine process wrapper (ruffian.exe)KS5.ChessGameboard and piece state modeling
Primary hardware and firmware components:
PICX.asmfor X-axis controlPICY.asmfor Y-axis and power/indicator controlPICZ.asmfor Z-axis, laser/electromagnet control, and sensing/report behaviorPICX.HEX,PICY.HEX,PICZ.HEXcompiled firmware images
| Path | Purpose |
|---|---|
KS5CSharp/ |
Main C# solution and source code |
KS5CSharp/ParallelPortC#/ |
Main application (KS5.Main) and control UI |
KS5CSharp/KS5.BaseController/ |
Machine controller, data parsing, and movement properties |
KS5CSharp/ChessEngine/ |
Chess engine process wrapper |
KS5CSharp/ChessGame/ |
Chess board and piece state model |
PIC16F84A/ |
PIC assembly source and compiled HEX files |
docs/ |
Thesis chapters, appendices, datasheets |
diagrams/ |
Schematics, PCB files, conceptual and control diagrams |
- Windows environment with parallel-port access (or equivalent hardware interface setup)
- Visual Studio that can open the included solution/project format (VS 2005-era)
InpOut32.dllin the application runtime folder- Ruffian files in:
KS5CSharp/ParallelPortC#/bin/Debug/ruffian/ruffian.exe
- Open
KS5CSharp/KS5.sln. - Set
KS5.Mainas the startup project. - Build in
Debug. - Make sure runtime dependencies are present in the output folder:
InpOut32.dll- Ruffian files under
ruffian/
- Run
KS5.Main.
The repository includes complete thesis and design materials:
docs/Chapter I.pdftodocs/Chapter VI.pdfdocs/appendices/for protocol, diagram, and screenshot appendicesdocs/datasheets/for component referencesdiagrams/for board, schematic, and system diagrams
Ruffian is included because it is the chess engine used by the software implementation. Before redistributing packaged releases that include Ruffian binaries, review:
KS5CSharp/ParallelPortC#/bin/Debug/ruffian/README.txt



