Skip to main content
Version: FILS English

Sudoku Game

Play sudoku using a Raspberry Pi Pico 2W and a keyboard module

info

Author: Laura Florentina Sandu
GitHub Project Link: https://github.com/UPB-PMRust-Students/project-laurasandu13

Description

My project makes it possible to play Sudoku by inputting the numbers and moving from one cell to another by using a keyboard module. The game is visible on a webpage on an older phone. Games are previously added and players can choose what difficulty to play. Players will be able to start a new game, input numbers, use the undo and redo operations and check if their answers are correct.

Sudoku is a logic-based, combinatorial number placement puzzle. The objective is to fill the 9x9 grid with numbers so that each column, each row, and each 3x3 subgrid contain the numbers from 1 to 9 without repetition.

The game helps with cognitive stimulation by improving memory, concentration and logic, and also provides a calming effect and a sense of accomplishment.

Motivation

I have been playing Sudoku on and off since I was a little child, and over time, it became one of my favorite comfort games to play. The game is pretty easy and straightforward, and I thought it would be perfect to make it the subject of my project.

Architecture

alt text

Log

Week 5 - 11 May

Week 12 - 18 May

Week 19 - 25 May

Hardware

  • Raspberry Pi Pico 2W - main microcontroller used for game logic
  • Raspberry Pi Pico - debugger
  • Keyboard module - number keyboard used for input and other controls

Schematics

alt text

Bill of Materials

DeviceUsagePrice
Raspberry Pi Pico 2WThe microcontroller39.66 RON
Raspberry Pi PicoThe debugger30 RON
Keyboard moduleInput and other functionalities18.44 RON

Total comes up to 88.1 RON.

Software

LibraryDescriptionUsage
embassy-timeused for timekeeping, delays and timeouts in embedded systemssyncronization
embassy-usbasync USB device stack for embedded devices in Rustconnectivity between pico and laptop
embassy-netno-std no-alloc async network stack, designed for embedded systemsnetworking
cyw43Rust driver for the CYW43439 wifi+bluetooth chipdisplay of sudoku game on website
  1. Datasheet of Raspberry Pi Pico 2W
  2. Datasheet of keyboard module
  3. Embassy documentation
  4. Mathematics of Sudoku