Skip to content

TheGreatGambit/Capstone-Electrical

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Great Gambit — Electrical

Overview

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 schematic and PCB files for the system, generated in KiCad. Files can be graphically viewed at CADLab. In this document, <LGR> will indicate your local path to the GIT repo.

Setup

  1. Clone this repo onto your local machine.
  2. Open <LGR>/Boards/Main_Board/_Top_Level/Main_Board.kicad_pro with KiCad to view the main project.
  3. In KiCad, open Main_Board.kicad_sch to view the schematic, or Main_Board.kicad_pcb to view the PCB.

Adding a Board (Project)

  1. Create the following new directories:
    • <LGR>/Boards/<YOUR_BOARD_NAME>
    • <LGR>/Boards/<YOUR_BOARD_NAME>/_DFM
    • <LGR>/Boards/<YOUR_BOARD_NAME>/_DFM/Gerber
    • <LGR>/Boards/<YOUR_BOARD_NAME>/_Top_Level
  2. Open KiCad
  3. Select File->New Project
  4. A Create New Project window will pop up. In the window, navigate to <LGR>/Boards/<YOUR_BOARD_NAME>/_Top_Level
  5. Enter the file name <YOUR_BOARD_NAME>.kicad_pro and click Save

Adding a Subsheet in an Existing Board

  1. Create a new directory: <LGR>/Boards/<YOUR_BOARD_NAME>/<SUBSHEET_NAME>
  2. Open <LGR>/Boards/<YOUR_BOARD_NAME>/_Top_Level/<YOUR_BOARD_NAME>.kicad_sch in the KiCad Schematic Editor
  3. Select Place->Add Sheet
  4. Click to place the symbol
  5. A Sheet Properties window will pop up. Add the following entry:
    • Sheet Name: <DESCRIPTIVE_NAME>, Sheet File: ../<SUBSHEET_NAME>/<COMPONENT_NAME>.kicad_sch
  6. Right click the component and select Import Sheet Pin to place the hierarchical labels

Installing External Libraries

Note: We no longer use a custom path for project libraries. We instead use relative paths from ${KIPRJMOD}

  1. Install the library:
    1. Download an external library
    2. Unzip the download to get a *.epw file
    3. Download the Library Loader tool from Mouser
    4. Register/login to the Library Loader tool
    5. Click Open ECAD Model and select the downloaded *.epw file
    6. By default the output is in ~/Downloads/LIB_GET.zip. Unzip it
    7. Copy the unzipped contents into: <LGR>/Project_Libraries/<LIBRARY_NAME>
  2. Import the symbol:
    1. In the KiCad Schematic Editor, go to: Preferences->Manage Symbol Libraries->Project Specific Libraries
    2. Add the following entry by clicking the + button:
      • Nickname: <LIBRARY_NAME>, Library Path: ${KIPRJMOD}/../../../Project_Libraries/<LIBRARY_NAME>/KiCad/<LIBRARY_NAME>.lib
    3. Select Migrate Libraries
    4. Place the device in KiCad by going to Place->Add Symbol and search for <LIBRARY_NAME>
  3. Add the footprint:
    1. In the KiCad PCB Editor, go to: Preferences->Manage Footprint Libraries->Project Specific Libraries
    2. Add the following entry by clicking the + button:
      • Nickname: <LIBRARY_NAME>, Library Path: ${KIPRJMOD}/../../../Project_Libraries/<LIBRARY_NAME>/KiCad
  4. Update the symbol field to make exporting the BOM easier:
    1. Right click on the symbol and click Properties
    2. Click Edit Library Symbol. This should open a symbol editing window.
    3. Go to File -> Symbol Properties
    4. Use the + button to add the fields Datasheet, Manufacturer's Part Number, Digikey Part Number, Mouser Part Number, Digikey Link, and Mouser Link in that order (with that exact spelling/capitalization)
      • The Datasheet should be a URL to the datasheet, and the Digikey link and Mouser link fields should be links to the part's product page
    5. Uncheck the Show field for everything except the Reference and Value fields
    6. If the part has a meaningful value (e.g., a 10k resistor), add that value in the Value field
    7. In the Footprint field, select the folder icon and search for <LIBRARY_NAME> in the popup
    8. Double click the result to associate the footprint you imported with the symbol you imported
      • Note: The footprint field might show something like <LIBRARY_NAME>:<SEEMINGLY_RANDOM_STRING>, this is okay
    9. Click Ok and close the library editor
    10. In the schematic, either right click the symbol and select Update or delete and re-add the symbol. The fields should now be included correctly

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •