Files
Scanning the repository...
| Files | |
|---|---|
| Boards | |
| Datasheets | |
| Images | |
| Project_Libraries | |
| .gitignore | |
| LICENSE.md | |
| README.md |
README.mdThe Great Gambit — Electrical
<img src="https://github.com/TheGreatGambit/Capstone-Electrical/blob/main/Images/logo_large.png" alt="The Great Gambit Logo" /> <a href="https://cadlab.io/project/25988/main/files"> <img src="https://github.com/TheGreatGambit/Capstone-Electrical/blob/main/Images/logo_cadlab_small.png" alt="CadLab Logo" /> </a> <img src="https://github.com/TheGreatGambit/Capstone-Electrical/blob/main/Images/logo_electrical_small.png" alt="Electrical Logo - Small" /> --> <span style="display: none"><![CDATA[<noindex>]]></noindex></span><a href="https://github.com/TheGreatGambit/Capstone-Software" rel="nofollow"> <img src="https://github.com/TheGreatGambit/Capstone-Electrical/blob/main/Images/logo_software_small.png" alt="Software Logo - Small" /> </a><span style="display: none"><![CDATA[]]></span> <span style="display: none"><![CDATA[<noindex>]]></noindex></span><a href="https://github.com/TheGreatGambit/Capstone-Mechanical-CAD" rel="nofollow"> <img src="https://github.com/TheGreatGambit/Capstone-Electrical/blob/main/Images/logo_mechanical_small.png" alt="Mechanical Logo - Small" /> </a><span style="display: none"><![CDATA[]]></span> <span style="display: none"><![CDATA[<noindex>]]></noindex></span><a href="https://github.com/TheGreatGambit/Capstone-PyChess" rel="nofollow"> <img src="https://github.com/TheGreatGambit/Capstone-Electrical/blob/main/Images/logo_pychess_small.png" alt="PyChess Logo - Small" /> </a><span style="display: none"><![CDATA[]]></span>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
- Clone this repo onto your local machine.
- Open
<LGR>/Boards/Main_Board/_Top_Level/Main_Board.kicad_prowith KiCad to view the main project.- In KiCad, open
Main_Board.kicad_schto view the schematic, orMain_Board.kicad_pcbto view the PCB.Adding a Board (Project)
- 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- Open KiCad
- Select
File->New Project- A
Create New Projectwindow will pop up. In the window, navigate to<LGR>/Boards/<YOUR_BOARD_NAME>/_Top_Level- Enter the file name
<YOUR_BOARD_NAME>.kicad_proand clickSaveAdding a Subsheet in an Existing Board
- Create a new directory:
<LGR>/Boards/<YOUR_BOARD_NAME>/<SUBSHEET_NAME>- Open
<LGR>/Boards/<YOUR_BOARD_NAME>/_Top_Level/<YOUR_BOARD_NAME>.kicad_schin the KiCad Schematic Editor- Select
Place->Add Sheet- Click to place the symbol
- A
Sheet Propertieswindow will pop up. Add the following entry:
- Sheet Name:
<DESCRIPTIVE_NAME>, Sheet File:../<SUBSHEET_NAME>/<COMPONENT_NAME>.kicad_sch- Right click the component and select
Import Sheet Pinto place the hierarchical labelsInstalling 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 - Ex: A model for the DRV8824QPWPRQ1 can be found under 'ECAD Model' 2. Unzip the download to get a*.epwfile 3. Download the Library Loader tool from Mouser 4. Register/login to the Library Loader tool 5. ClickOpen ECAD Modeland select the downloaded*.epwfile 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 Libraries2. Add the following entry by clicking the+button: - Nickname:<LIBRARY_NAME>, Library Path:${KIPRJMOD}/../../../Project_Libraries/<LIBRARY_NAME>/KiCad/<LIBRARY_NAME>.lib3. SelectMigrate Libraries4. Place the device in KiCad by going toPlace->Add Symboland search for<LIBRARY_NAME>3. Add the footprint: 1. In the KiCad PCB Editor, go to:Preferences->Manage Footprint Libraries->Project Specific Libraries2. Add the following entry by clicking the+button: - Nickname:<LIBRARY_NAME>, Library Path:${KIPRJMOD}/../../../Project_Libraries/<LIBRARY_NAME>/KiCad4. Update the symbol field to make exporting the BOM easier: 1. Right click on the symbol and clickProperties2. ClickEdit Library Symbol. This should open a symbol editing window. 3. Go toFile -> Symbol Properties4. Use the+button to add the fieldsDatasheet,Manufacturer's Part Number,Digikey Part Number,Mouser Part Number,Digikey Link, andMouser Linkin that order (with that exact spelling/capitalization) - TheDatasheetshould be a URL to the datasheet, and theDigikey linkandMouser linkfields should be links to the part's product page 5. Uncheck theShowfield for everything except theReferenceandValuefields 6. If the part has a meaningful value (e.g., a 10k resistor), add that value in theValuefield 7. In theFootprintfield, 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 7. ClickOkand close the library editor 8. In the schematic, either right click the symbol and selectUpdateor delete and re-add the symbol. The fields should now be included correctly