diff --git a/website/versioned_docs/version-fils_en/project/2026/playstationnetwork987456-commits/images/pico_gamepad.svg b/website/versioned_docs/version-fils_en/project/2026/playstationnetwork987456-commits/images/pico_gamepad.svg new file mode 100644 index 00000000000..bf1b0515436 --- /dev/null +++ b/website/versioned_docs/version-fils_en/project/2026/playstationnetwork987456-commits/images/pico_gamepad.svg @@ -0,0 +1,15621 @@ + + + +SVG Image created as Pico_Gamepad.svg date 2026-05-09T17:20:24 + Image generated by Eeschema-SVG + + + + + + + + + + + +1 +1 + + + + + +2 +2 + + + + + + + + + + +3 +3 + + + + + + + + + + + + + +4 +4 + + + +5 +5 + + + + + + + + + + + + + + + +6 +6 + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1 + + + + + +2 +2 + + + + + + + + + + +3 +3 + + + + + + + + + + + + + +4 +4 + + + +5 +5 + + + + + + + + + + + + + + + +6 +6 + + + + + + + + + + + + + + + + + + + + + + + + +A +A + + + +B +B + + + + + + + + + + + + + + + + + + +C +C + + + + + + + + + + + + + + + +D +D + + + + + + + + + + + + + + + +A +A + + + +B +B + + + + + + + + + + + + + + + + + + +C +C + + + + + + + + + + + + + + + +D +D + + + + + + + + + + + + +Date: +Date: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KiCad E.D.A. 10.0.1 +KiCad E.D.A. 10.0.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Rev: +Rev: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Size: A4 +Size: A4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Id: 1/1 +Id: 1/1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Title: +Title: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +File: Pico_Gamepad.kicad_sch +File: Pico_Gamepad.kicad_sch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Sheet: / +Sheet: / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +D1 +D1 + + + + + + + + + + + + + + + + + +LED +LED + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW4 +SW4 + + + + + + + + + + + + + + + + + + + + + + + + + + +SW_Push +SW_Push + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW3 +SW3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW_Push +SW_Push + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW2 +SW2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW_Push +SW_Push + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW1 +SW1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW_Push +SW_Push + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO0 +GPIO0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1 + + + + + + + + + + +GPIO1 +GPIO1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +2 +2 + + + + + + + + + + + + + + + + +GND + +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +3 + +3 + + + + + + + + + + + + + + + + + + +GPIO2 +GPIO2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 +4 + + + + + + + + +GPIO3 +GPIO3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5 +5 + + + + + + + + + + + + + + + + + + + + +GPIO4 +GPIO4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +6 +6 + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO5 +GPIO5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +7 +7 + + + + + + + +GPIO6 +GPIO6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +9 +9 + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO7 +GPIO7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10 +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO8 +GPIO8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +11 +11 + + + + + + + + + + + + + + + +GPIO9 +GPIO9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +12 +12 + + + + + + + + + + + + + + + + + + + + +GPIO10 +GPIO10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +14 +14 + + + + + + + + + + + + + +GPIO11 +GPIO11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +15 +15 + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO12 +GPIO12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +16 +16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO13 +GPIO13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +17 +17 + + + + + + + + + + + + +GPIO14 +GPIO14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +19 +19 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO15 +GPIO15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +20 +20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO16 +GPIO16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +21 +21 + + + + + + + + + + + + + + + + + + + + +GPIO17 +GPIO17 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +22 +22 + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO18 +GPIO18 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +24 +24 + + + + + + + + + + + + + + + + + + +GPIO19 +GPIO19 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +25 +25 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO20 +GPIO20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +26 +26 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO21 +GPIO21 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +27 +27 + + + + + + + + + + + + + + + + + +GPIO22 +GPIO22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +29 +29 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +RUN +RUN + + + + + + + + + + + + + + + + + + + + + + + + + +30 +30 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO26_ADC0 +GPIO26_ADC0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +31 +31 + + + + + + + + + + + + + + + + + + + + + + + +GPIO27_ADC1 +GPIO27_ADC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +32 +32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +AGND +AGND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +33 +33 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GPIO28_ADC2 +GPIO28_ADC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +34 +34 + + + + + + + + + + + + + + + + + + + + + +ADC_VREF +ADC_VREF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +35 +35 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +3V3 + +3V3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +36 + +36 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +3V3_EN +3V3_EN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +37 +37 + + + + + + + + + + + + + + + + + + + + + +VSYS + +VSYS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +39 + +39 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VBUS + +VBUS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +40 + +40 + + + + + + + + + + + + + + + + + + + + + + + + + +A1 +A1 + + + + + + + + +RaspberryPi_Pico_W +RaspberryPi_Pico_W + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW8 +SW8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW_Push +SW_Push + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +R1 +R1 + + + + + + + + + + + + + + + + +R +R + + + + + + + + + + + + + + + + + + + + + +SW6 +SW6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW_Push +SW_Push + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW5 +SW5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW_Push +SW_Push + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW7 +SW7 + + + + + + + + + + + + + + + + + + + + + + + + + +SW_Push +SW_Push + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/versioned_docs/version-fils_en/project/2026/playstationnetwork987456-commits/index.md b/website/versioned_docs/version-fils_en/project/2026/playstationnetwork987456-commits/index.md new file mode 100644 index 00000000000..0256e61ba40 --- /dev/null +++ b/website/versioned_docs/version-fils_en/project/2026/playstationnetwork987456-commits/index.md @@ -0,0 +1,140 @@ +# Pico Reaction Gamepad + +A reaction-based gamepad using Raspberry Pi Pico 2 W, buttons, LEDs, and Rust. + +:::info + +**Author**: Furkan Korkmaz \ +**GitHub Project Link**: GitHub Project Link: https://github.com/playstationnetwork987456-commits/Pico-Gamepad + +::: + + + +## Description + +Pico Reaction Gamepad is a small embedded hardware project based on Raspberry Pi Pico 2 W. The project is designed as a simple gamepad-like reaction game. The device uses push buttons as user inputs and LEDs as visual feedback. + +The main idea is simple: one LED turns on randomly, and the player must press the matching button as quickly as possible. The microcontroller measures the reaction time and calculates a score. The project will run software written in Rust on the Raspberry Pi Pico 2 W. + +## Motivation + +I chose this project because it is simple to understand but still includes important microcontroller concepts. It uses GPIO input, GPIO output, timing, button handling, and embedded Rust programming. + +The project is also flexible. It can start with a basic version using buttons and LEDs, and later it can be improved with a buzzer, OLED display, score memory, or more game modes. + +## Architecture + +The Raspberry Pi Pico 2 W is the central controller of the system. The buttons are connected to GPIO input pins, and the LEDs are connected to GPIO output pins. The software reads the button states and controls the LEDs according to the game logic. + +Main architecture components: + +* Input module: push buttons connected to GPIO pins +* Output module: LEDs connected to GPIO pins through resistors +* Game logic module: selects a random LED and checks the pressed button +* Timing module: measures the reaction time of the player +* Score module: calculates and updates the score + +Functional architecture: + +`text ++------------------------+ +| Raspberry Pi Pico 2 W | +| | +| Rust Game Logic | +| Timing + Score | ++-----------+------------+ + | + +------+------+ + | | + GPIO Inputs GPIO Outputs + | | + Buttons LEDs + | | + Player input Visual feedback + + Log +Week 5 - 11 May + +The project idea was selected. I decided to build a reaction-based gamepad using Raspberry Pi Pico 2 W. The first version of the project will use buttons and LEDs. + +Week 12 - 18 May + +The hardware architecture was planned. The buttons will be used as GPIO inputs, and the LEDs will be used as GPIO outputs. The main software logic was also planned. + +Week 19 - 25 May + +The documentation page was created. The project description, motivation, architecture, hardware plan, and software plan were written. + +Hardware + +The project will use Raspberry Pi Pico 2 W as the main microcontroller. The prototype will be built on a breadboard using buttons, LEDs, resistors, and jumper wires. + +Planned hardware components: + +Hardware components: + +- Raspberry Pi Pico 2 W: 1 piece, main microcontroller. +- Breadboard: 1 piece, used for building the prototype circuit. +- Push buttons: 3 or 4 pieces, used as player input. +- LEDs: 3 or 4 pieces, used as visual feedback. +- Resistors: 3 or 4 pieces, used for LED current protection. +- Jumper wires: several pieces, used for making connections. +- Buzzer: 1 optional piece, used for sound feedback. +- OLED display: 1 optional piece, used for showing the score. + +Schematics + +The first prototype will connect each button to a GPIO input pin and each LED to a GPIO output pin. Each LED will use a resistor for current protection. + +A more detailed schematic will be added after the physical circuit is built and tested. + +Software + +The software will be written in Rust and will run directly on the Raspberry Pi Pico 2 W. + +The program will follow these steps: + +Initialize the GPIO pins. +Configure buttons as inputs. +Configure LEDs as outputs. +Turn off all LEDs. +Select one LED for the current round. +Turn on the selected LED. +Start measuring time. +Wait for the player to press a button. +Check if the correct button was pressed. +Calculate reaction time. +Update the score. +Start a new round. + +Start + | +Initialize GPIO + | +Turn off LEDs + | +Select random LED + | +Turn on LED and start timer + | +Wait for button press + | +Check button + | +Calculate reaction time + | +Update score + | +Repeat + +Current Status + +The project topic, motivation, initial architecture, hardware plan, and software plan are defined. The next step is to build the first breadboard prototype and test GPIO input and output using Rust. + + +![image](./images/pico_gamepad.svg) + + + +