{"id":20979298,"url":"https://github.com/zheoni/pico-simon","last_synced_at":"2025-07-13T15:35:19.966Z","repository":{"id":129116168,"uuid":"338481535","full_name":"Zheoni/pico-simon","owner":"Zheoni","description":"A Simon game implementation for the Raspberry Pi Pico.","archived":false,"fork":false,"pushed_at":"2021-02-18T12:36:24.000Z","size":367,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T19:46:59.510Z","etag":null,"topics":["raspberry-pi","raspberry-pi-pico","simon-game","simongame"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zheoni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-13T02:34:01.000Z","updated_at":"2023-10-13T18:38:51.000Z","dependencies_parsed_at":"2023-03-30T17:20:38.659Z","dependency_job_id":null,"html_url":"https://github.com/Zheoni/pico-simon","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zheoni%2Fpico-simon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zheoni%2Fpico-simon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zheoni%2Fpico-simon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zheoni%2Fpico-simon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zheoni","download_url":"https://codeload.github.com/Zheoni/pico-simon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160648,"owners_count":22024574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["raspberry-pi","raspberry-pi-pico","simon-game","simongame"],"created_at":"2024-11-19T05:13:04.699Z","updated_at":"2025-05-14T14:33:06.297Z","avatar_url":"https://github.com/Zheoni.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pico Simon\n\nA [Simon Game](https://en.wikipedia.org/wiki/Simon_(game)) implementation\nfor the [Raspberry Pi Pico](https://www.raspberrypi.org/products/raspberry-pi-pico/).\n\n## Features\n\n- Includes 3 games:\n  - The classic simon game.\n  - *Catch me!*, where lights start blinking and the player need to follow\n    them without falling behind (with a margin).\n  - *Quick draw*, multiplayer, when the lights turn on, the first one to hit\n    the button wins.\n- Settings for the games where you can choose:\n  - from 3 leves of difficulty,\n  - playing only with lights, only with sound or with both.\n\n## How does the menu works\n\n- Red button: Simon\n- Blue button: *Catch me!*\n- Yellow button: *Quick draw*\n- Green button: Settings\n  - Red: Difficulty\n    - Red: easy\n    - Blue: medium\n    - Yellow: hard\n    - Green: back\n  - Blue: Sound/Leds\n    - Red: both\n    - Blue: only Leds\n    - Yellow: only sound\n    - Green: back\n  - Yellow/Green: back\n\n## To compile\n\nThere is a `CMakeLists.txt` file to build the project. You should also have [set up the pico C SDK](https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf) and CMake installed.\n\n```sh\nmkdir build\ncd build\ncmake ..\nmake\n```\n\n## Circuit\n\n![Image of the breadboard](breadboard.png)\n\nI use 220 Ohm resistors, but you can switch those according to your LEDs.\n\nThe piezo speaker goes to a different ground pin because if I used the same, it\ncaught some noise when using PWM to control the LEDs.\n\nThe buttons are pulled down by the pico.\n\nThis project is licensed under the terms of the MIT license.\n\n## Links\n\n- `pioasm` code for the button debounce. This project had a great idea on how to do this. [https://github.com/GitJer/Button-debouncer](https://github.com/GitJer/Button-debouncer)\n- The Pico SDK [https://github.com/raspberrypi/pico-sdk](https://github.com/raspberrypi/pico-sdk)\n- Micropython implementation for the pico. I used this to understand how the SDK works in a real environment. [https://github.com/raspberrypi/micropython](https://github.com/raspberrypi/micropython)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzheoni%2Fpico-simon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzheoni%2Fpico-simon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzheoni%2Fpico-simon/lists"}