This week, I focused on adding additional details to the software so that users would be able to have a more smooth and understandable gameplay. One of the key features I worked on this week was the sidebar that was the key part of turning this system into a ‘learner’ beyond just a sudoku game. This was also a pivotal part of the ‘hint system’ that we were trying to go for, as hint button would trigger a blue highlight of all the numbers on that row, column, and 3×3 box in that order along with an explanation on sidebar of the numbers already here and numbers that could potentially be in the selected cell. One of the things that we discussed was how extensive we wanted users to know specific values were wrong. We definitely settled on a system where the game wouldn’t mark users wrong they played a sequence of numbers that weren’t on the current version of the board, since we didn’t want users trying everything from 1-9 for the hint system. Maybe we could think about the possibility of dividing between objective answers and the current, immediate answers.
Team Status Report 04/19
This past week, our team focused on finalizing the capacitive touch design, building the physical construction, and working on software features.
With the capacitive touch sensor, the original grid approach was fundamentally flawed due to how the MPR121 sensor operates. Each time the sensor initializes, it sets a default baseline capacitance, which is significantly influenced by materials in contact with the copper foil tape. To address this, we shifted the design by offsetting the row and column layers and introduced rubber bands for the top layer. However, the rubber bands proved to be too insulating for a finger to trigger a reliable capacitance change. We solved this by wrapping each of the 81 intersection points with small patches of copper foil tape, which made a significant difference and enabled consistent touch registration.
On the physical construction of our project, we needed a container to hold all our electronics, including the Raspberry Pi and MPR121s, and encompass the capacitive touch sensor and numpad. We decided to use a 1/4″ MDF sheet as the base and 1/8″ MDF sheets for the sides and top projection surface. We used a CAD program and a laser cutter at TechSpark to cut out the box joints. We ran into some difficulty because the 1/4″ MDF sheet did not cut easily and caught fire. We put it all together in the woodshop and it is mostly complete. We will have to laser cut holes on the top projection surface for the keypad and the capacitive touch sensor once we test all the components together.
With our software, we created the screen that will display text and give users more information on the game state. We also updated our hints algorithm so that instead of giving the number for a cell, it will first highlight the row, column, and 3×3 box with notes in our side screen telling the user what numbers can potentially go into the requested cell.
Winstone’s Status Report 04/19
After the weekly meeting with our advisor, I put my efforts into the physical construction of our project. We would need a container to hold all our electronics, including the Raspberry Pi and MPR121s, and encompass the capacitive touch sensor and numpad. This container would also be the surface that the projector would display on. I decided to use a 1/4″ MDF sheet as the base and 1/8″ MDF sheets for the sides and top projection surface. These MDF sheets can be laser cut, is very resistant to warping, and sturdy enough to hold its shape and contain all our components. I spent time drawing out the cuts using a CAD program and used the laser cutter at TechSpark to cut out the box joints. I ran into some difficulty because the 1/4″ MDF sheet did not cut easily and caught fire. I had to use a box cutter to finish the rest of the cut. I put it all together in the woodshop and it is mostly complete. I will have to laser cut holes on the top projection surface for the keypad and the capacitive touch sensor once we test all the components together.
Moises Status Report 4/19
This past week, I focused on finalizing the capacitive touch design and getting a reliable system in place. Through testing, I realized that the original grid approach was fundamentally flawed due to how the MPR121 sensor operates. Each time the sensor initializes, it sets a default baseline capacitance, which is significantly influenced by any materials in contact with the copper foil tape. Because of this, stacking multiple layers caused major inconsistencies in readings, especially on the bottom layer.
To address this, I shifted the design by offsetting the row and column layers and introduced rubber bands for the top layer. The idea was that the flexibility of the rubber bands would allow touch pressure to bridge the gap between rows and columns without keeping them in constant contact. However, the rubber bands proved to be too insulating for a finger to trigger a reliable capacitance change.
To solve this, I wrapped each of the 81 intersection points with small patches of copper foil tape. This modification made a significant difference and resolved the detection issue, enabling consistent touch registration.
At this stage, the system only needs some threshold tuning and full integration. My upcoming goals include finalizing the enclosure to house all components cleanly and completing integration with the software side. While there is still work to be done to ensure the system is fully functional, accurate, and cohesive, I’m confident that we are on track to finish before the final demo.
Team Status Report 04/12
This week, our team made progress on multiple fronts despite facing some initial setbacks. We successfully developed a 9×9 capacitive touch grid with an extended border to improve wiring separation and structural rigidity. Though we tested 1/16-inch acrylic as a top layer, it required too much pressure for consistent readings, so we plan to revert to a thinner material. Unfortunately, one MPR121 IC was shorted during testing, and we’re waiting for replacements. On the software side, we implemented an enhanced hint system that highlights existing numbers in the selected cell’s row, column, and 3×3 grid, added footnote functionality for tracking potential candidates, and created real-time explanations of hint logic in the terminal. We also developed a side UI panel with placeholder sections that will improve the user experience and fits within projection width constraints. Moving forward, we plan to rebuild the touch grid, expand the UI with a zoomed-in cell view, add on-screen explanations for Sudoku constraints, create an introductory guide, and determine how to implement different functionalities in the side panel.
Winstone’s Status Report 04/12
This week I spent time working on a side UI that we could use for different purposes such as displaying a home screen, displaying options, or showing more details for hints on specific cells. I was sick most of the week, so I was unable to progress as much as I had hoped to, but I was able to create a side panel next to the Sudoku board with a few displays that are non-functional.
The side panel I created has a simple layout with placeholder sections that can be customized based on what we decide to show there. I added some basic styling to make sure it matches the overall look of our Sudoku game. I made sure the side screen doesn’t take up too much screen space and will fit into our projection width. I will have to discuss with the team about how we would want to implement the side UI for different purposes before I can progress further. Specifically, we need to decide if we want the panel to change dynamically based on game state or if we can use our numpad for different functions.
Moises Status Report 04/12
This week, I focused on developing a fully functional 9×9 capacitive touch grid. I laser-cut and assembled a new version of the grid, incorporating several design improvements for better usability and stability. While maintaining the 9-inch by 9-inch active area, I added extra border space to separate the wiring and relieve pressure on the connections, which had previously caused reliability issues. The extended edge also allows for clamping, making the overall structure more rigid.
For the top layer, I experimented with 1/16-inch acrylic instead of cardstock to take advantage of its rigidity. Although it initially showed some promise, the material ultimately required excessive pressure to register touches, resulting in inconsistent readings. I plan to revert to a thinner, more responsive material and iterate from there.
There was a minor setback this week: one of the MPR121 ICs was shorted during testing. I’ve ordered replacements and will rebuild the grid once they arrive, continuing to refine the material and construction for optimal performance.
Michael Status Report 04/12
This week, I focused on overhauling and enhancing the hint system to make it more educational and user-driven. The newly implemented hint functionality now highlights all existing numbers within the selected cell’s row, column, and 3×3 grid. This visual aid helps users apply the process of elimination, allowing them to see which numbers are already present and narrowing down what values are still valid. Instead of revealing the correct number directly, the system now supports players in thinking through possibilities on their own, aligning more closely with the goal of promoting learning and problem solving.
In addition to visual guidance, I introduced footnotes for number input, allowing users to jot down potential candidates for each cell. This mimics a common practice used in traditional Sudoku solving and encourages strategic thinking without automation. To further enhance the educational value, the terminal now displays an explanation of the hint logic in real-time. For example, it shows why a number is invalid in a given cell by referencing conflicts with the row, column, or 3×3 grid. This explanatory feedback supports users in understanding the rationale behind Sudoku constraints and builds their confidence in solving puzzles independently.
Looking ahead, I’m considering expanding the user interface to include a zoomed-in view of the selected cell and its 3×3 section for better visibility and focus. I also plan to introduce on-screen explanations that clarify the logic behind constraints – such as “Because 3 is in the same row, it can’t go here” to help users internalize Sudoku rules more intuitively. Finally, I want to make the game more user-friendly overall by adding an introductory guide that explains the basic rules and objectives, along with small UI improvements to make the system feel more polished and accessible.
Team Status Report 04/05
This past week, our team focused on preparing for and presenting at the interim demo, where we showcased a functional early version of our interactive Sudoku system. Although the design remains in a preliminary state, all major components – including the capacitive touch sensor, numpad, and projector – are working and successfully interfacing with our software. Moises ensured that the capacitive grids were responsive in time for the demo, and began planning the next iteration of the 9×9 touch grid, including material research and initial enclosure designs. Acrylic sheets were ordered for laser cutting, and early sketches for a housing prototype are in progress. Meanwhile, both Michael and Winstone focused on software features and integration. Winstone completed the connection between the capacitive touch grid and the Raspberry Pi using Pygame, eliminating the need for traditional input devices and allowing interaction through touch and the numpad.
On the software side, we implemented a rudimentary version of the hint system, which currently reveals the correct answer for a selected cell. While functional, we recognize that this approach is too revealing for a learning-focused application, and both Michael and Winstone are exploring more educational alternatives. Ideas include displaying candidate numbers based on Sudoku constraints or highlighting rows and cells to guide problem-solving without directly providing answers. Additionally, work has begun on a multi-functional side screen to display a home menu and options, and early discussions have started around implementing an undo feature via a stack-based approach. Our next goals are to finalize a consistent and accurate 9×9 touch grid, iterate on the enclosure design, and refine our software to enhance both interactivity and educational value.
Moises Status Report 04/05
This past week was primarily focused on preparing for and presenting at the interim demos. I made a few last-minute adjustments and ensured the capacitive touch grids were functioning as intended. Due to Carnival Week, I wasn’t able to make significant visual or hands-on progress, but I did spend time planning the next steps.
Specifically, I began evaluating materials for the next iteration of the 9×9 grid and started designing how all the components of the project will come together in a cohesive system. I also ordered acrylic sheets for laser cutting to begin prototyping an enclosure. Some initial design work has been completed for the enclosure, though it will require further iteration.
Goals for this upcoming week:
-
Finalize and test a properly functioning 9×9 capacitive touch grid with consistent and accurate touches.
-
Continue iterating on the overall cohesive design of the project.
-
Review and possibly incorporate feedback received during the interim demo into the next design phase.