Team Status Report for 02/08

Over this past week, our team has made progress in researching what we need for our Sudoku solver, finalizing our hardware and software choices. We also changed our developmental approach after receiving feedback from our proposal presentation. Initially, we planned to put everything together at the end for our final product, but if this fails, then we don’t have anything. Now, our goal is to develop a minimum viable product as soon as possible and iterate from there. Once we order our parts and they come in, we will work together to get the hardware setup and then start testing the image processing.

On the hardware side, we researched potential display and processing options. The Vankyo Burger 101 is a compact and flexible projector for displaying the Sudoku board. For the Raspberry Pi, the Raspberry Pi 5 or Raspberry Pi 4 Model B are our likely choices for their HDMI output, processing power, and compatibility with OpenCV and Tesseract. We have begun initial setup and configuration for these boards, including writing pseudocode for pin initialization and display setup.

For software, we have started implementing the Sudoku solver using a backtracking algorithm with JSON input. The system tracks user moves with a history stack, allowing for undo functionality and input validation. A CLI interface is currently in place, with plans to integrate GPIO buttons for user interaction. Additionally, we researched image processing and digit recognition using OpenCV and Tesseract.

Moving forward, we plan to integrate the hardware components and test image recognition with real-world inputs.

Michael’s Status Report for 02/08

I have been researching projectors on Amazon and identified the Vankyo Burger 101 as a compact and flexible display option.

Also, I was working on the actual Software – my idea of the Sudoku solver is one which takes JSON input, solves puzzles via backtracking, and enables user interaction through GPIO buttons or a CLI. The core algorithm employs backtracking to recursively fill in missing values while ensuring valid placements according to Sudoku rules. The software maintains a move history stack to track user inputs, allowing for easy undo functionality. A keyboard or potentially for sake of testing, CLI interface enables direct input. In theory, the software also logs each move to prevent invalid inputs and help users navigate back to previous moves. I believe that the basic skeleton of the program should work in this way, and I will potentially be adding features as needed going forward.

Winstone’s Status Report for 02/08

This week was proposal presentation week, so we did some more research on what hardware and software we would use and finalized our idea. We prepared our presentation and decided I would present, so I spent a lot of time practicing. During class, we listened to other groups’ presentations and provided feedback. We also received some feedback and decided to shift our priorities and scheduling a bit to have a minimum viable product as soon as possible and continue developing iteratively.

Since I am in charge of the image processing and digit recognition, I looked some more into how OpenCV and Tesseract works. I do not have any computer vision experience, so these tools were new to me. Fortunately, Sudoku boards are fairly simple, so the processing seems straightforward. I would like to be able to test some code once we have our hardware.

Moises Status Report for 02/08

This past week, I have been exploring various Raspberry Pi models that feature HDMI output capabilities and support multiple input options. I have identified two potential candidates: the Raspberry Pi 5 (4GB/8GB) and the Raspberry Pi 4 Model B. These models stand out due to their dual micro-HDMI output, sufficient processing power for handling multiple inputs, and strong community support, which makes development and troubleshooting easier. Additionally, both support OpenCV and other computer vision libraries, making them ideal for tasks involving image processing and real-time video analysis. I have also been learning how to set up these boards and have written some pseudocode for initializing pins and configuring the HDMI port for output.

Team F3: 9×9 – Introduction and Project Summary

9×9 is an interactive device that assists users in solving Sudoku puzzles by providing real-time hints and feedback, guiding them through the process to enhance learning and improve. The system features an overhead camera that scans a physical Sudoku board with computer vision, and then a Sudoku-solving algorithm will then determine possible solutions. From then on, users can request hints for specific cells or check their completed board for correctness. All information is displayed through both a projector, which overlays hints onto the physical board, and an LCD screen displaying the puzzle. Our system utilizes a Raspberry Pi to manage the algorithm and user interactions, and FPGA to handle hardware acceleration and preprocessing. Users interact with the system with buttons in order to navigate the game and request assistance along the way. Overall, 9×9 merges physical gameplay with digitally assisted aid, making Sudoku more interactive and accessible.