You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/versioned_docs/version-fils_en/project/2026/taher.sahnoun/index.md
+45-11Lines changed: 45 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,24 +27,58 @@ The Raspberry Pi Pico 2W acts as the central controller, coordinating all periph
27
27
-**Async Embassy** — concurrent task handling for timers, input, display, and WiFi
28
28
-**WiFi** — score reporting and remote leaderboard access
29
29
30
-
## Log
31
-
32
-
### Week 5 - 11 May
33
-
34
-
Decided on the project topic. Researched components needed for the Raspberry Pi Pico 2W reflex trainer. Planned the architecture and identified required libraries for Embassy-rs.
35
-
36
-
### Week 12 - 18 May
37
-
38
-
### Week 19 - 25 May
30
+
## Weekly Log
31
+
32
+
### Week 1 - Project Setup & Hardware Planning
33
+
- Defined project concept: PicoReflex GP, an F1-inspired reaction-time game console
- Planned game modes: Classic, Survival, Tilt, Sequence, Ghost, and Race
36
+
- Set up Rust project structure and initial embedded dependencies
37
+
38
+
### Week 2 - Basic Hardware Bring-up
39
+
- Tested LEDs, buttons, buzzer, and OLED separately
40
+
- Fixed OLED I2C timing issues using slower I2C and timing register tweaks
41
+
- Confirmed button wiring with internal pull-ups
42
+
- Added basic reaction-time display on OLED
43
+
44
+
### Week 3 - Core Game Modes
45
+
- Implemented Classic mode with random LED, button input, reaction time, lives, and rounds
46
+
- Added Survival mode with decreasing timeout
47
+
- Added Tilt mode using MPU accelerometer directions
48
+
- Added hearts, round display, win/lose screens, average reaction time, and buzzer feedback
49
+
50
+
### Week 4 - Difficulty & Extra Modes
51
+
- Added potentiometer-based difficulty with three levels: Easy, Medium, Hard
52
+
- Added Sequence mode with LED pattern memory gameplay
53
+
- Added Ghost mode with saved best scores per difficulty
54
+
- Added erase controls for Ghost records using mode button + game buttons
55
+
56
+
### Week 5 - SD Card & Persistence
57
+
- Tested SD card communication over SPI-style GPIO pins
58
+
- Switched to raw SD sector storage after FAT-style writing was unreliable
59
+
- Saved Race leaderboard, player names, run count, last score, and Ghost records
60
+
- Verified saved data survives unplug/replug when SD wiring is stable
61
+
62
+
### Week 6 - WiFi Dashboard & Race Mode
63
+
- Added Pico 2W WiFi dashboard hosted directly from the Pico
64
+
- Created Race mode with one fixed difficulty for fair public competition
65
+
- Added live leaderboard with editable player names
66
+
- Improved dashboard for phone use and reduced refresh rate to avoid overloading Pico WiFi
67
+
68
+
### Week 7 - Final Polish & 3D Enclosure
69
+
- Added 3-2-1 START countdown before games
70
+
- Improved OLED screens with hearts, difficulty bars, Ghost best display, and small visual accent
71
+
- Added final Ghost hard mode mixing button, tilt, and sequence challenges
72
+
- Designed and built the 3D enclosure for the console
73
+
- Adjusted wiring layout to fit inside the printed case and prepared final assembly for presentation
39
74
40
75
## Hardware
41
76
42
77
The project is built around the Raspberry Pi Pico 2W (RP2350) which provides GPIO pins, SPI/I2C peripherals, ADC inputs, and onboard WiFi. An OLED display shows reaction scores. LEDs serve as stimulus signals and buttons capture player input. A buzzer provides audio feedback. A potentiometer allows difficulty adjustment. A MicroSD card stores session scores. Everything is housed in a custom F1-inspired 3D-printed enclosure.
0 commit comments