Trey Wagner’s Status Report for 4/19/25

Personal Accomplishments

1. Gantry Piece Movement and Lid (12 hr): Since I was finally able to build the box last week, I spent a lot of time this week measuring the top and testing piece movement. There were some slight issues with the top, as the thin piece of plywood (5mm) tends to bow due to the lack of support in the middle. I believe I came up with a solution as we will use a small “table” design inside the box that supports the top and can be lifted out for maintenance. A picture of the top will be placed below. This also allowed us to test the magnet and piece movement. I found that the magnet was able to move the pieces in both the x- and y-direction. A video will be linked below. This was really cool to see, and great to see with the full box assembled. The next step will be fine tuning the movement and testing with a full gameboard.

Chess Movement Video

2. Small Box Adjustments (2hr): I also made some slight adjustments to the box to make the design easier to use. First, all the electronics are inside the box (which hides them from view and cuts down on distractions). I also made the wiring cleaner, rather than the old tangle of wires we had before. Another such improvement was drilling holes in the side of the box to access the wires and power devices. Each hole was also labeled. This will make it even easier to test in the future without having to remove the whole top each time!

3. Mandatory Lab Sessions (4hr): During our class sessions this week, we once again had uninterrupted time to discuss the final details of our project and how we wanted to approach the upcoming deadlines. The weekly meeting with Professor Kim and Alex showed us that we needed to stay motivated and continue working to make sure we have a good demo for the final week.

4. Work on Final Presentation (3hr): The last thing I worked on this week was the final presentation. I put effort into building the slides and making sure they met the requirements. I will also be presenting these slides, so I took some time to practice certain details as I wrote them.

Progress

Once again, I feel that the gantry is basically done. I have to iron out a few details with some spacing and measurements, but the core functionality is all there. I plan to continue to solve these small issues throughout the week to finish out my part of the project!

Next Week Tasks & Goals
  1. Test movement on a full board with all chess pieces included.
  2. Show knight piece moving between two other pieces.
  3. Get chessboard design engraved in top of box.
  4. Give a good presentation!
New Tools & Knowledge

Looking back on the details of my portion of capstone, I realize that many details were mechanical in nature. The entire gantry is a very physical design composed of precise measuring, woodworking, assembly with various tools, and an eye for structural issues. I worked with electronics every now and then, but my part involved lots of tinkering to design a physical system. As such, I felt that I needed to gain the following skills:

  1. Woodworking: Although building a box doesn’t sound overly difficult, there were certain issues I had to deal with as I planned and assembled it. First, the absolute size of our box (roughly 43″ x 48″ x 3″) amplified the entire process. I relearned how to use a table saw and belt sanders. I would continuously visit wood shops around campus to get help and hear ideas from the staff there. The thinness of the top board also proposed some issues as the wood would bow easily, so I had to learn how to fix and support a bowing piece of wood to keep things straight. This was actually a very fun part of the project and I hope to do more woodworking in the future.
  2. Basic tinkering/making: Because our project has so many intricate details, I found myself having to be very creative when looking for solutions to our issues. I would often look at YouTube videos and maker forums by people who made projects with similar features. These would serve as inspiration for how to improve certain details that I did not know how to approach. I would also go to TechSpark and ask the staff if they had any ideas, as I learned they were very knowledgeful in these mechanical systems.
  3. Various tools: Most of the assembly involved tools like power drills, sanders, saws, and wrenches. While I didn’t have to learn how to use many of these things, I did have to change my understanding of how to use them effectively. I found myself becoming very hands-on for most of this project and using tools in ways I never had before.
  4. CAD tools: I had to design some 3D-printed parts for our project, which allowed me to become more familiar with some of the programs available for CAD. I had to read many online guides and forums to learn how to use these tools well.
  5. Embedded Design and Component Selection: Although Tarek did the Arduino code, I had to select the components that we used for this design (including the step motors, drivers, roller switches, etc.). I also had to gain an understanding of how my physical system would interface with some sort of logic controller (i.e. our Arduino). This led to some research into step motor control and pulley system design to optimize our control and motion. Thankfully, there are many guides and home projects online which walk through these processes.

Team Status Report for 4/12/25

General update
  1. Gantry progress has been good, although it was slightly delayed by issues with wood shops on campus. We have the box assembled and will be doing more testing over the coming days to verify proper movement of the chess pieces. We believe this part of the project is almost done! Just putting the finishing touches on the design now.
  2. Liam has been making good progress with the gaze detection, and he now has a better way to test the results as a person sits in front of the camera. He will continue to make this better over the coming days as he carries out more testing. This will also allow him to calibrate the model for better results overall.
Potential risks and risk management
  1. No new risks this week. We created a speech-to-text model that would act as a backup to the gaze estimation, although we are still confident in our ability to finish the gaze detection as expected. We believe the speech element would still meet our use case requirements as it does not require any physical motion by the user. This model has proven to be quite accurate as we speak into a computer microphone.
Overall design changes
  1. The one new design change is a small one. We will be using an NMOS in a small circuit to handle powering on the electromagnet. This is because the Arduino does not have a 5V output pin that can switch from high to low. We will use one of the 3.3V output pins to power the gate of an NMOS, which will act as a type of switch (although imperfect) to power on the electromagnet with the necessary 5V.
Schedule
  1. Our schedule does not have any major changes. We are ready to buckle down and do whatever work is necessary to finish this project and have a great presentation and demo at the end of the semester!

Validation

There are a few ways that we, as a team, plan to validate our design. This will look a lot at whether our project is still meeting the user needs.

  1. Revisit Initial Use Case Requirements: This will be talked about throughout the following points, but we want to go back and ensure we are hitting the use case we originally thought about. The idea was most clear at the beginning, and we want to be sure we did not stray from that concept.
  2. Accessibility of Gaze Model: We plan to bring in some of our friends and classmates to get a wide audience of people to test our camera model on. This will allow us to test all sorts of eye sizes and shapes to build a design that is accessible to as many people as possible. After all, our design sets out to make chess accessible to as many people as possible.
  3. Non-Physical Gameplay: As we carry out our testing, we want to make sure that every aspect of the gameplay is non-physical. This is to make sure that our system can be played by people who are not able to physically move certain aspects themselves, which is our entire use case. This means that the camera should not have to be adjusted, the pieces should be placed properly, and the electronics should work without physical interaction.
  4. Hidden Devices: One of the important needs that we set forward was an unobtrusive design. As we continue to assemble the system and test, we will be sure that all computational circuitry (and gantry components) are hidden away so that they do not detract from the game. This will continue to guide our decisions during assembly and placement.
  5. Speed of System: One major user need that we recognize is the speed of our system. We do not want moves to take too long for users to become uninterested and discouraged. Therefore, we plan to iterate during testing to improve any unneeded latency and make the game flow continuously as much as possible.
  6. Accuracy: Although this is mostly testing in verification, accuracy is the most crucial part of our user needs. If our system is not accurate, it will not be used. Therefore, as we go through testing, we will be sure that accuracy is at the forefront of our validation and make changes when necessary to prioritize this metric.
  7. Remapping our Stakeholders: As we look toward a completed design, we think it may be interesting to look back at the ethics assignment for this class. Are we considering the stakeholders properly? Are we keeping bias and our own pride out of our design? We want to be sure that we are still aligned with the people most affected by our system.

Trey Wagner’s Status Report for 4/12/25

1. Buying, measuring, cutting, and assembling wood (10hr): This week, I spent a lot of time trying to make the box that will go around the gantry system. This involved going to Home Depot to buy the wood, measuring out the exact dimensions necessary for our box, looking for options to cut the wood, and then assembling it after the cut. Unfortunately, TechSpark’s wood shop was closed this week, which led me to 4 different places until I finally found someone to help us cut. The sides were put together and the bottom was attached. There is empty space on the right and left for our circuitry to be placed.  The top will be placed on later as we still plan to adjust elements of the gantry when needed.                                                                                                                                 2. Basic Magnet Testing (4hr): Due to the external delays for cutting the wood, we had to wait to fully test some of the electromagnet functionality. However, in the meantime, we did some basic tests by propping up a piece of wood above the electromagnet at the same height as the box lid. We placed a magnet on top of the wood and turned the magnet on, then moved the gantry using the step motors. We found that the magnet moved smoothly in each direction. I also used some chess pieces that Tarek 3D printed, placed them on top of the magnet, and tested again to determine that we could move these chess pieces around the wood with the electromagnet. That was exciting to see!

3. Gantry Odds and Ends (2hr): I spent some time adjusting parts of the gantry that were slightly off, including making sure the corners were square. I adjusted the 3D-printed corner brace to ensure the corners would stay in this correct angle. I also spent some time cleaning up the wiring and creating a circuit for the electromagnet. The new plan is to use an NMOS to help power the electromagnet since the Arduino does not have a 5V configurable output pin. All of these changes should help to complete the overall design of the gantry.

4. Mandatory Lab Sessions (4hr): During our class sessions this week, I had an opportunity to work closely with Tarek to talk about some of the details about the Arduino-gantry interface. We also had some great conversations about the gaze detection, along with some risk mitigation plans in these final weeks. Most importantly, we got to meet with Professor Kim and Alex, who pushed us to continue working hard toward the final demo and prioritize the gaze detection.

Progress

I feel that the gantry is almost entirely done, minus a few small details. My progress was definitely stunted by the difficulty finding a wood shop to help us cut the wood. However, I plan to go in tomorrow to place the top on the box and test out movement on a larger space using the 3D-printed chess pieces. This will give a great indication of the functionality of our piece movement. I feel that I am still on schedule, although this time of the semester feels more rushed.

Next Week Tasks & Goals
  1. Test movement on a full board with all chess pieces included.
  2. Show knight piece moving between two other pieces.
  3. Get chessboard design engraved in top of box.
  4. Finish circuitry for small components and make a clean wiring design for all electronics involved.
Gantry Verification

Here is an overview of the plan and completed tasks for the gantry verification:

  1. Dimension iteration: One of the first elements of “testing” was an iteration of the height and thickness of the board that we would use as our chessboard. We ran various tests to see what material we could use and how far above the electromagnet it could go. We settled on a 5mm thick plywood piece that sits approximately 1/8″ above the electromagnet.
  2. Basic testing: This week, we carried out some basic testing to ensure that the electromagnet could move a chess piece through a wooden slab as the stepper motors controlled the movement. This is crucial given that all chess movements will be controlled by the Arduino, step motors, pulley system, and electromagnet. We saw consistent, smooth movements, regardless of the direction.
  3. Chess Movement Testing: With each type of piece, we will test all possible types of moves. Vertical, horizontal, and L-shaped moves will be tested to ensure that we can accurately move a piece for short or long distances. We are looking for consistent accuracy, with 70% of the chess piece base placed in the intended square.
  4. Knight Movement Testing: One of the most difficult movements to mimic is early-game knight behavior, as it often jumps over a row of pawns. Our solution will instead move the pawn between the pieces in front of it, which could lead to magnetic interference on the adjacent pieces. To ensure that this interference is minimized, we will test various movements between two other pieces. This worst-case scenario will confirm that these moves are possible. We want to ensure that all pieces more than 0.75″ away are not picked up.
  5. Full-Game Scenario Testing: After all of the “unit testing” is finished, it will allow us to test continuous moves that would be seen in a real chess game. We will set up all pieces in a normal start state, then test basic moves based on real chess games that we find online. Each move should grab the correct piece and move it to the intended position without disrupting nearby pieces.

Team Status Report for 3/29/25

General update
  1. After completing the gantry assembly last week, we were able to complete the pulley system after receiving the belts this week. As some of our individual posts show, Tarek and I worked on testing this completed system to look at movement and gain an understanding of the motors with the Arduino code. The video can be found here: Gantry Testing Video. This was a super encouraging piece of progress and will be a great starting point for our demo next week.
Potential risks and risk management
  1. No new risks this week. Still exploring the gaze estimation, but the communication and data received from the camera are encouraging so far. There have also been more updates on the depth estimation side which should give us better ideas of the risk involved.
Overall design changes
  1. No new design changes this week.
Schedule
  1. Our schedule hasn’t really changed since last week. Our demo will be ready by Monday and we are excited to present this to the students and instructors in the class!

Trey Wagner’s Status Report for 3/29/25

PERSONAL Accomplishments
  1. Setting up and Testing Gantry Pulley System (12 hr): Once the second timing belt arrived, I placed both belts onto the gantry to complete the assembly.                                                                                           As the image shows, the entire gantry is now assembled. I went through and continued to touch up the angles and tightness of the rails so that the middle bar rolled easily. This took some time to ensure that everything was ready for testing. Then, I worked with Tarek to help him set up his configuration to test his Arduino code with my gantry system. We saw great results in being able to control the gantry with great detail. The entire system moved smoothly and we were able to move it vertically, horizontally, and diagonally. An example video is found here: Gantry Movement Video
  2. Created braces for our gantry (2hr): I also spent some time designing some braces to 3D print that would maintain right angles in our design. This would ensure that our rails do not shift and pinch the movement. 
  3. Mandatory Lab Sessions (4hr): During our class sessions this week, we had an opportunity to continue to work together as a team. This helped to maintain our schedule and understand where our entire project stood. In particular, a meeting with Professor Kim helped to emphasize the importance of going above and beyond for our demo. We gained some motivation to not just do the bare minimum, but to aim for more functionality in our demo.
Progress

This week, I once again felt that I made some big progress by proving that the gantry design works and can facilitate movement. I feel that I am back on track and will now change my focus to prove the feasibility of chess piece movement on a full board.

Next Week Tasks & Goals
  1. Continue working on the design for our chessboard and pieces
  2. Test the movement of chess pieces on a few pieces
  3. Test movement with a full board

Team Status Report for 3/22/25

General update
  1. This week, we finally got the gantry system assembled! This was an exciting step, and a picture will be attached below. The final step is attaching the timing belt to fully set up our pulley system, as well as wiring up the electrical systems that will control the gantry. Unfortunately, we have to wait for another timing belt to be delivered due to some size underestimates on our part. This should arrive on Monday, allowing us to finish up the entire system and begin testing early in the week. Trey and Tarek will work together to polish the final pieces of the design and then carry out testing on the basic movement mechanics of the system throughout the next week.                          
  2. Due to the nature of the gantry assembling, Tarek’s ability to test was limited. Therefore, he pivoted to finalize some of the details for our LED system, chess logic, and other peripherals. In particular, he was able to isolate and purchase some shift registers (74HC595) for the LED circuitry. The Arduino code is already written for the gantry movement, and it will be tested in more detail this week. There is also a new GitHub repository holding all of this code.
Potential risks and risk management
  1. No new risks this week. Still exploring the gaze estimation, but the communication and data received from the camera are encouraging so far. In the absolute worst-case scenario where we are left with little time to pivot, we would shift to an automated chess movement system where the user inputs their move and the piece is automatically moved.
Overall design changes
  1. The LED circuitry design for our project changed to use the 74HC595 shift register instead of the MAX7219 LED driver. Other than that, no other major design changes occurred this week.
Schedule
  1. We still expect to have a demo of the gantry system movement by our meeting with Professor Kim on Wednesday. The assembly of the gantry was an encouraging achievement that should enable various parts of our testing. As such, we did not have to make any major changes to our schedule. We plan to put in extra hours (when necessary) this week to stay on track for the upcoming demo deadline.

Trey Wagner’s Status Report for 3/22/25

PERSONAL Accomplishments
  1. Assembling Gantry System (15+ hr): The entirety of my time this week was set aside to assemble the gantry system.                                                                                    As the image shows, the bones of the gantry system are all assembled. This involved a lot of measurements, layout, precise angles, and assembly with screws, nuts, and sockets. The middle bar can move freely left and right due to the wheels on the 3D-printed assembly holding it up. The trolley system in the middle was also 3D printed and carries the electromagnet for our design. It can move freely up and down, allowing motion in both the X- and Y-directions. Lots of small adjustments had to be made throughout the assembly to ensure the bars were not pinched or angled in a way that limited movement. Due to some issues with the timing belt, we have to wait for another to be delivered before finishing the entire pulley system. Once that arrives (hopefully Monday), we can finish the entire system and begin testing with Tarek’s Arduino code. This was an exciting piece of progress! It was very fulfilling to see the design begin to come to life, and I am excited to watch it perform during our initial testing.

2. Mandatory Lab Sessions (4hr): During our class sessions this week, we had an opportunity to explore the ethical implications of our capstone project. This was a very helpful exercise to map out our stakeholders, determine risks, and manage the tensions that could form over time. I believe this was extremely valuable insight, especially during the red teaming exercise which identified some of the key user values that we may be ignoring.

Progress

This week, I felt that I made significant progress and met a major goal for our design. However, we just missed the goal of having a demo of the basic movements for the gantry system. As such, I still feel slightly behind. I plan to work more on Sunday and Monday to polish the design and test the movement with Tarek. This will put us back on track and allow us to present a basic demo to Professor Kim in our Wednesday meeting.

Next Week Tasks & Goals
  1. Test basic movements (from point A to point B) for consistent accuracy
  2. Determine circuit/logic for roller switches that calibrate the gantry system
  3. Continue working on the design for our chessboard and pieces

Trey Wagner’s Status Report for 3/15/2025

PERSONAL Accomplishments
  1. Ethics Assignment (4hr): The large assignment that occupied some time this week was the ethics assignment, which included professional articles and written reflections. First, I learned that technical systems/designs can carry political weight, which caused me to rethink how Check, Mate, Vision may be fitting users into a box rather than allowing freedom to express themselves through chess. The article about red teaming helped to evaluate whether our model will have any significant vulnerabilities that need to be reconsidered. Lastly, the stakeholder video helped to map out who has the most interest and influence in our design process. All of these resources came together to form an in-depth response discussing the readings for general technology, then focusing on Check, Mate, Vision to determine the ethical trade-offs for public health, safety, and welfare.

2. Designing and Printing 3D Parts (3hr): All components from external vendors have been purchased and received. However, I realized the need for some small, specific pieces in the gantry system. As such, I decided to 3D print parts to match our needs. Listed below are images of two such pieces.

The first part will sit on top of the center bar (which also holds the electromagnet). The main purpose comes from the two extrusions seen on top of the piece. This will allow one pulley (and belt) to sit higher than the other so that we can have both in close proximity without interference. The second part will hold the electromagnet. The belts will also attach to the holes in the left and right side to pull the electromagnet sideways along the X-axis.

3. Gantry System Initial Assembly (3hr): As I planned out the assembly of the gantry, my priority was to ensure that our “workable area” (or the space that our electromagnet could reach) was large enough for our needs. Once I determined that workable area size, I was able to determine the necessary lengths for our V-slot rails. I visited TechSpark to get the aluminum rails cut down to the right length. Then, I began laying out and assembling some of the initial pieces for the gantry system. This helped the entire team visualize the physical space needed for our design. I will continue to work on the assembly throughout this week to complete it by the weekend.

4. Mandatory Lab Sessions (4hr): During our class sessions this week, we had valuable time to meet together and with the course staff. One particular note from our meeting with Prof. Kim was to set a deadline to have an initial demo by next Saturday. This will help to push along the progress of our project, and it will put us ahead of the initial demo deadline listed on the course page. I was also able to plan out certain design specifications with Liam and Tarek, including the details of how Liam’s gaze detection will work for the demo.

Progress

For various reasons, I was unable to complete the gantry system assembly by this week. However, after our conversation with Prof. Kim, I feel that having the assembly done by this week will still keep me on schedule. In order to make that happen, I plan to set aside time on Tuesday and Thursday to assemble the parts of the gantry. I am currently waiting for my parts to finish 3D printing, which delays certain aspects of the assembly. I expect to receive these parts early in the week. Thus, I am still in a good position to finish by the weekend.

Next Week Tasks & Goals
  1. Assemble entire gantry system outside of the box (must finish by Saturday!)
  2. Test basic movements (from point A to point B) for consistent accuracy
  3. Continue working on the design for our chessboard and pieces.

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

PERSONAL Accomplishments
  1. Design Report (13hr): The design report was a large undertaking for this week, taking up most of our time in mandatory sessions and outside of class. Most of this time was spent writing a full description of the gantry system, discussing some design trade-offs evaluated for this subsystem, outlining test strategies, and writing various other sections. This took more time than expected due to the more professional language required for the report, as well as the need to develop some diagrams and tables to show our design. One of these diagrams will be shown in the next section.
  2. Pulley System Design (2hr): As I evaluated the plan for the gantry system, I settled on a design for the pulley setup. 

The design uses two step motors and two timing belts, which move the electromagnet along the X and Y axes. The pulley system design, while more complicated, avoids having a motor on the central beam. This increases the working range of the gantry system while also reducing the size of the horizontal bar.

3. Gathering Necessary Screws, Nuts, and Washers (3hr): In order to assemble the gantry system, a specific arrangement of screws, nuts, washers, and brackets were needed. I went through the process of gathering all of these components to ensure that all elements were ready to assemble. This will fully enable the building of the gantry system design.

Progress

As was expected, the design report took a lot of time. As such, I was unable to finish the assembly of the gantry system before spring break. I will work throughout this week to ensure that the gantry system gets assembled and testing can begin. This will put me back on schedule for the rest of the semester.

Next Week Tasks & Goals
  1. Assemble entire gantry system outside of the box.
  2. Test basic movements (from point A to point B) for consistent accuracy
  3. Start (and hopefully finish) the design for our chessboard

Team Status Report for 2/22/25

General update

This week, the team spent most of our time assembling, bringing up software and devices, and doing initial proof of concept tests. Liam has been working with the Jetson and the stereo camera. He is evaluating the output of the camera and determining how to interface with the Jetson and our included models. Trey tested out the electromagnet functionality and began working on the gantry system assembly. Some CAD designs seem necessary, so Trey will also be designing and printing these components to support the ordered components. He also worked with Tarek to get the step motors spinning. Tarek is working in more detail on the Arduino program that will give precise control to our pulley system in the gantry.

Potential risks and risk management

No new risks have been identified this week. The same two (3D Gaze Estimation and the Electromagnet) will be prevalent until further testing is done. A proof of concept for gaze detection will ease worries about that subsystem. Liam is working studiously on that.

Overall design changes

No large design changes this week. Preliminary testing identified that an external DC power supply may be needed for the motor drivers. However, the overall design has not changed in any way. Further testing will be used to verify entire subsystems and the interface between them.

Schedule

Our schedule remains unchanged and we are on track.