Trey Wagner’s Status Report for 2/15/25

PERSONAL Accomplishments
  1. Finalized Gantry Design (4hr): My main goal for this week was to finalize decisions for each detail of our gantry system so part ordering could occur. One large question mark during last week was the pickup/movement mechanism for the chess pieces. Through my research, I decided to pivot from an above-board system to a below-board system. This decision will allow the board to look cleaner since all machinery will be hidden away. It also eliminates the need for a z-axis step motor as no vertical extension/retraction is necessary. I have decided to use electromagnets to move the chess pieces, as they provide a seamless and precise method for piece manipulation, even with a physical board acting as a barrier. The final decision was board sizing (which will be discussed in detail below).
  2. Board Sizing Decision-Making (1hr): I worked with Tarek and Liam to determine the sizing of our chessboard. This decision included considerations for the error of Liam’s gaze detection model and the materials needed to produce the gantry system at each size. We settled on the dimensions seen below: This design also includes a piece graveyard, which handles the cases where the user’s piece is taken. The placement of the pieces is optimized to handle potential edge cases such as promotion (where a player can replace a pawn with a queen, rook, knight, or bishop).
  3. Part Research and Ordering (2hr): Based on the decisions discussed above, I researched the parts necessary to assemble our gantry system. This includes pieces such as linear rails, timing belts, motor drivers, etc. I attempted to order pieces that worked well for our design specifications but also offered the flexibility to pivot in certain ways (i.e. changing the board size or switching back to above-ground gantry). All necessary pieces were ordered and will be assembled upon delivery.
  4. Mandatory Lab Meetings (4hr): During our lab sessions, we got valuable feedback during meetings with the teaching staff. One useful piece of advice was to get to MVP as soon as possible. As such, I changed my priorities to create a somewhat functional gantry (move from A to B) before spring break. The lab meetings also allowed our team to discuss key integration points between our three major sections.
  5. Design Presentation Work (3hr): I spent time laying out the outline and plan for completing our design presentation. My responsibility was to create an implementation guide for our hardware system, including block diagrams and a proposed design. I also helped to focus on testing plans and the use case requirements for our project. Some of these details will be finished tomorrow before the deadline.
Progress

My progress is slightly behind schedule for our new accelerated design plan. I plan to put in extra time to get the gantry system assembled and carry out baseline testing as the pieces come in. However, I am very much dependent on the delivery times at this point.

Next Week Tasks & Goals
  1. Assemble pieces as they come in and begin calibrating and testing the system.
  2. Devise the circuitry needed to control the motors and electromagnet so I am prepared when they arrive.
  3. Decide material and thickness for our chess board to allow for proper electromagnet testing.

Liam’s Weekly Report 2/15

 

Personal Accomplishments

This week I worked on setting up the Jetson Xavier as well as researching the proper way to do the gaze estimation. Setting up the Jetson proved to not be as easy as I thought since it can only be flashed from Ubuntu. WSL lets me flash the jetson but not install the toolset. I had to find an ethernet cable to connect the Jetson to the local network to install packages. I discovered a Nvidia toolkit called deepstream on the Jetson that comes with a preconfigured pipeline to use GazeNet for gaze estimation. I am considering buying a wifi m2 expansion card.

I also helped collectively to work on the design presentation.

I migrated our Gantt chart to using Github which allows us to group all the code In the project in one organization

Progress

I am currently on time. We are currently in the process of moving when we wanted an MVP so I will have to make sure I am ton op of my deadlines in the following weeks.

Future Deliverables

  • MVP Pipeline
  • Working Camera

Team’s Status Report for 2/8

Risks

One of the most significant risks that could jeopardize the project is getting gaze detection working properly while the user looks at a chessboard. If at any point in the project, we realize that we can’t continue with on-board gaze detection we will switch over to looking at a simulated chess board on a screen. We are developing a proof of concept of this subsystem so that this change can happen as early as possible if this is the case.

Changes

No changes so far since we have not started the process of building the chess assistant. We will implement changes as needed once our actual testing begins.

Gantt Chart

We have created an initial schedule that breaks down our tasks to complete in the first couple of weeks. These include proof of concept work, research, and initial prototyping. No updates have been made to our schedule as of now. The Gantt chart can be found below.

C8 Initial Gantt Chart

Tarek’s Status Report for 2/8

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I continued to do research into my specific subsystem of the project: the microcontroller. This is the component that will take in gaze information from the Jetson and the user, and use it to control the UI LEDs and the piece-moving robot. As a stretch goal, it will also keep the state of the game and provide move validation.

This week I focused on choosing a microcontrolle boardr. Given our use case, I considered the following factors:

  • Ready to use out of the box: With all the output and input pins and ports it needs, minimizing the time between opening the box and testing code on it.
  • Ease of use: Should be easy to set up and use, widely available documentation, easy to code on using C/C++/Python.
  • Number of pins: Considering we will be interfacing with board LEDs, two stepper motors, an undefined piece pick-up mechanism, and potentially a keypad/keyboard for the opposing user to manually type in their moves. We need a lot of pins of several types.
  • USB with UART: The board will communicate with the Jetson via UART, it would be ideal to do this over UART using a built-in USB port.
  •  Enough power for all peripherals: The device should have enough power to control all peripherals it is connected to.
  • Price: Lenient, as this is a key element of the design, but should avoid boards over $85.

Given the readily available documentation and help criteria being critical for speed of development, I narrowed the choice down to three extremely popular microcontroller boards under $85: the Arduino Mega 2560, the Raspberry Pi 4 Model B, and the ESP32-DevKitC V4. I made the following table to assist me in making a decision.

Criteria Arduino Mega 2560 ESP32 DevkitC V4 Raspberry Pi 4
Ready to use out of the box – Preloaded bootloader
– All pins available without additional configuration
– Simple USB connection for programming and power
– Preloaded bootloader
– Simple USB connection for programming and power
– No external programmer required
– Requires installing an OS
– Takes longer to set up
– May need additional components (e.g. SD card)
Ease of use – Arduino IDE is easy to use
– Extensive documentation and examples
– Large community support
– Simple programming in C/C++
– Supports multiple frameworks (Arduino, ESP-IDF, MicroPython)
– Extensive documentation and examples
– Large community support
– More complex pin setup
– Runs a full OS, offering high-level programming (Python, C++, etc.)
– Tons of documentation and tutorials
– May feel complex for simpler tasks
Number of pins – 54 digital pins, 16 analog inputs
– SPI, I2C, and UART available
– More than enough for multiple peripherals
– ~36 GPIOs (specific numbers depend on variant)
– Multiple SPI/I2C/UART interfaces
– Limited by multiplexing certain functions
– GPIO pins available (26)
– Plenty of USB and peripheral options through the OS
– Requires GPIO expansion for many dedicated connections
USB with UART – Built-in USB for programming and serial communication
– USB-UART bridge ready to go out of the box
– Onboard USB-to-serial converter
– Simple UART communication via USB port
– Several USB ports available
– Multiple UARTs possible via GPIO or USB serial adapters
– Requires additional configuration for UART over GPIO
Enough power for all devices – Provides 5V power via onboard regulator
– Can power LEDs, drivers, and basic peripherals
– May require external power for high-current motors
– 3.3V logic
– Capable of driving multiple devices
– Proper external power supply needed for motors and heavy loads
– Powered via a 5V USB-C port
– More than enough current for onboard peripherals
– May need dedicated motor controllers for high-power motors
Price ~$45 ~$10 ~$40

I will finalize my decision this week, but given the speed of development, number of pins, and power capabilities, I am strongly leaning towards the Arduino as a worthy investment.

Other tasks I did this week included peer reviewing presentations, and starting to research how to control the chessboard UI LEDs. I have not made a formal decision on this but rather than connecting each row and column to the board, I may export this labor to a LED matrix chip like the MAX7219 which is typically used to control 7 segment displays. This way, only three connections to the board, instead of 16, are necessary.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is on schedule.

What deliverables do you hope to complete in the next week?

I will make a decision as to which microcontroller to use early next week, as well as picking an LED matrix control chip, and making a circuit schematic to go with it. After that, I will spend the rest of the week researching backup libraries in case we cannot do on-board gaze detection and have to have the user face a screen with a virtual chessboard instead. I will also start preparing to give the design presentation.

Trey Wagner’s Status Report for 2/8/25

PERSONAL Accomplishments
  1. Gantry system research and meetings (6hr): This week, I focused on finding viable solutions for our proposed gantry system. Many other previous capstone groups have implemented similar systems, so I took time to evaluate each group to see different approaches. One particular group (A1:AutoChargerX from F24) agreed to meet with me to discuss their gantry solution. From the research and meetings, I found the TwoTrees NEMA 17 stepper motor and corresponding motor drivers. These motors are cheap but have specifications that match our project needs. They have also been used successfully by two other capstone groups, which gives me confidence that they will work for our design. I am awaiting an update about an existing gantry solution to see if we can use its motors or if I should order our own. In the meantime, I have begun research on the pickup mechanism for our gantry.

2. Mandatory Lab Meetings (4hr): During our lab sessions this week, Liam presented our proposal presentation and we heard the ideas of other capstone students. We received great questions and feedback about our design following our presentation. It was encouraging to see that many of our peers understood the idea and use case easily. I plan to review the design for some aspects of our gantry system based on some feedback received from other students.

3. Proposal Presentation (3hr): I spent time writing out some testing plans for each subunit and the integrated design. This plan was shortened and placed into our proposal presentation. This was also a rewarding time working with Tarek and Liam to lay out our Gantt chart and define some MVP requirements that we desire by April.

Progress

My progress is currently on schedule, except for the potential ordering of our step motors. The guidance listed above will help to determine if an order will need to be placed. This could push back our initial testing slightly, but I do not expect it to delay our overall project.

Next Week Tasks & Goals
  1. Settle on a mechanism to pick up the chess pieces with our gantry system. This should come from my research and have some considerations of cost, functionality, and potential need for a z-axis step motor.
  2. Work with Tarek to decide on board dimensions and start designing our chess board and pieces to fabricate.