Skip to content

Commit fff58bb

Browse files
Add PicoReflex project page with schematic (#1129)
* Add PicoReflex project page with schematic * Add schematic SVG file * Replace SVG with PNG schematic, add weekly log * Use WebP schematic image to pass CI check * Resize schematic WebP to fit resolution limit
1 parent ef5ea6b commit fff58bb

2 files changed

Lines changed: 45 additions & 11 deletions

File tree

website/versioned_docs/version-fils_en/project/2026/taher.sahnoun/index.md

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,58 @@ The Raspberry Pi Pico 2W acts as the central controller, coordinating all periph
2727
- **Async Embassy** — concurrent task handling for timers, input, display, and WiFi
2828
- **WiFi** — score reporting and remote leaderboard access
2929

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
34+
- Selected main hardware: Pico 2W, OLED, MPU sensor, LEDs, buttons, buzzer, potentiometer, SD card module
35+
- 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
3974

4075
## Hardware
4176

4277
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.
4378

4479
### Schematics
4580

46-
Schematics in SVG format.
47-
81+
![PicoReflex Schematic](./picoflex.webp)
4882
### Bill of Materials
4983

5084
| Device | Usage | Price |
48.1 KB
Loading

0 commit comments

Comments
 (0)