Charlie’s Report for 3/28

This week, I focused on improving the engine’s move generation performance by applying additional optimization techniques such as quiescence search (Q-search) and transposition table lookups (TTLookup). These changes significantly reduced the effective branching factor and improved overall search efficiency, especially when combined with move ordering strategies. In parallel, I continued developing the agent orchestration pipeline by incorporating retrieval-augmented generation (RAG) and experimenting with prompt designs for more accurate and coherent explanation generation.

I also integrated the full pipeline with the frontend, enabling end-to-end interaction between the UI, engine, and explanation system. Additional integration tests were added to validate system behavior and ensure consistency across components. Moving forward, I will continue refining prompt engineering to improve explanation quality and further optimize the interaction between the search engine outputs and the LLM-generated reasoning.

Team’s Status Report for 3/28

The most significant risks that could jeopardize the success of the project is still the integration of the subsystems. We are starting to integrate the LED system with the printed out boards, but the computer vision depends on this set up and the LED system will then also depend on the chess engine. We may have to make a replica of the board out of cardboard or paper in order to get started on the computer vision part since we think there could be potential obstacles with this subsystem.

No changes were made to the existing design of the system. One slight change we made was skipping some LEDs at the end of each strip in order to allow for better U shaped bends to the next row, which means we may have to buy more LEDs and LED connectors than intended.

Claire’s Status Report for 3/28

This week I attached the LED strips to the printed out board and altered the indexing of the LEDs to parallel how I taped the LEDs onto our wooden strips. Since I needed to use one or two extra LEDs at the ends of each strip in order for the connectors to be able to attach without touching the wood strips, I had to factor in this into the code. I then used this to check that I was lighting up the correct lights under the zones for things like the starting and ending sequence.

My progress is on schedule. Next week I hope to connect the rest of the board once the other half of the board and more wooden strips are printed. I also hope to test the move highlighting since at that point I would be able to see the LEDs light up under the entire board.

Yoyo’s Status Report for 3/28

This week on physical device side I cut out the second layer of the board to hold the leds in place. I worked with Claire to make sure the design does work. For more on this part I will need a piece of design to hold this layer in place in the box, hopefully a design that will enable us to take this layer out of the box easily for led replacing. Will do during the integrating part towards end of semester.

For cv, I took videos of pieces on different positions of the board and took out 40 frame for each set for yolox training. There are 11 sets of images that I labeled. Chariot, horse, and cannon have same characters for both sides, to they each make one set, 20 images for each color. The rest of the pieces have different chinese characters for each side so they each make two sets, 40 images for each different character.  

I made the ratio of training and validation set 8:2 so 32 for training and 8 for validation.

Setting up the environment for YOLOX somehow got extremely frustrating for me, couldn’t get it to work on my mac, had to set up a whole system on a pc. A little behind on schedule, should train all datasets this week, so I need to do more work this Sunday to make sure I don’t set my team back.

Yoyo’s Status Report for 3/21

This week I’m focusing on computer vision part, trying to make design decisions to maximize the accuracy of computer vision.

Claire and I put the board and the LEDs together and here’s what it looks like. LEDs line up with the grid intersections.

The led light is diffused by frosted acrylic and one design that needs to be changed or actually added is that since the led light makes a bright dot on the piece, it will affect the cv accuracy as it “covers” the characters on the pieces, or i will need to take a whole lot pictures for yolox learning. To tackle this, we will probably add a step of turning off the leds before cv part runs each time. This will make cv easier and more accurate.

I also drew CAD for the layer under the board, the one for attaching the leds. Since there a 9-10 led stripes, taping them to the back of the board has very low robustness and will require us to fix the position all the time. So i will laser cut a plywood stripes layer for the leds to be stuck on.

I will also need to design the whole board box, as we need to fix the place for all the hardware for transportation, and I will need the design to be some what modularized to make fixing things easy.

Next week I will be taking all the photos for yolox board state recognition, and designing the box. I am on schedule and the small designs added such as the turn led off thing shouldn’t add too much workload to affect schedule.

Team’s Status Report for 3/21

The most significant risks that could jeopardize the success of the project is the integration of the subsystems. We are still at the phase of building our subsystems separately so it is hard to tell how long or difficult it will be to integrate them together. We didn’t plan for the integration to take as long as the building of the subsystems, but if we do happen to need more time for integration we will make our testing plan shorter. Instead of 10 full games and 100 different board states, we could do 5 full games and 50 different board states instead.

No changes were made to the existing design of the system. We purchased more LED strips, but this is not a change a just a consequence of our previous choices to skip every 2 LEDs. One slight improvement we made was to cut acrylic circles to put into the cut outs from the wooden board so the light from the LEDs could diffuse up to be seen at the top of board so the player does not have to be directly above the board staring down into the cutouts to see which color, if at all, is being shown. These acrylic circles will incur small TechSpark costs.

Claire’s Status Report for 3/21

This week I successfully got the same logic that I was using an Arduino Uno 3 for to work on the Raspberry Pi 4. This includes the move suggestions and starting and ending sequences. Hopefully this makes it easier to write code that can communicate with the computer vision system and chess engine since I can write code in Python now. I also verified that the wiring of my LEDs would work under the board and that I would indeed have to use my LED connectors instead of bending the LED strips under the board with Yoyo’s printed prototype of the board. An image is attached below.

My progress is on schedule. Next week I hope to get the hardware complete. The board printing and engraving is set to be complete the start of this next week so I hope to have attached all the LEDs under the board by the end of this week. I also hope to use this new set up to verify that my move suggestions are correct since I can have an easier time seeing them light up under the grid now.

Charlie’s Report for 3/21

This week, I continued working on the LLM agent orchestration pipeline, focusing on structuring how game state, candidate moves, and contextual information are passed into the system for explanation generation. I explored approaches for maintaining consistent agent state and improving how retrieved context is incorporated into the reasoning process, with the goal of reducing hallucinations and ensuring alignment with the engine’s validated outputs.

I was not able to conduct user testing for the UI this week as originally planned. As a result, I am slightly behind on the evaluation of the interface and interaction design. Next week, I plan to prioritize user testing to gather feedback on usability and make necessary adjustments, while continuing to refine the agent orchestration pipeline.

Claire’s Status Report for 3/14

This week I completed the starting and ending sequences. The starting sequence highlights important parts of the board like the river, palace, player’s side, and the opponent’s side. The ending sequence flashes white on the winner’s side of the board for 10 seconds. I switched to using an Arduino Uno 3 to control the data in into the LEDs but I will have to figure out how I am receiving data from the computer vision and the chess engine and see if the fact that these pieces of information may be send over HTTP commands means that I need to switch back to the Raspberry Pi4.

My progress is on schedule . The next week I hope to potentially switch to the Raspberry Pi 4. I am also planning to helping create and capture some board states with the LEDs in order to help the computer vision component. If integration with the other subsystems is ready, I may start the integration and at the very least verify that my subsystem is as complete as possible before the integration if the not possible.

Team’s Status Report for 3/14

The most significant risk that could jeopardize the success of the project remains the board state detection accuracy, which has not changed since last week. Our goal is to achieve above 95% accuracy in detecting board states from the physical board. However, even at 95% accuracy, this would correspond to approximately one incorrect detection every 20 moves, and with typical games lasting around 40–60 moves, this could introduce multiple errors during gameplay. Such misreads could propagate incorrect game states to the engine and affect move recommendations. To mitigate this risk, we plan to develop more robust evaluation metrics to identify specific failure cases, such as misclassification of certain pieces or errors under particular lighting or board conditions. As we continue testing with the physical board and pieces, we will focus on improving detection reliability and identifying conditions that cause failures.

We do not have any changes to the existing design requirements and have no updates to the project schedule this week.

For individual status reports, see:

Charlie – http://course.ece.cmu.edu/~ece500/projects/s26-teamd3/2026/03/15/charlies-progress-report-for-3-14/

Yoyo – http://course.ece.cmu.edu/~ece500/projects/s26-teamd3/2026/03/14/yoyos-status-report-for-3-14/