diff --git a/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/hardware1.webp b/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/hardware1.webp new file mode 100644 index 00000000000..17b76a62060 Binary files /dev/null and b/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/hardware1.webp differ diff --git a/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/hardware2.webp b/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/hardware2.webp new file mode 100644 index 00000000000..271140951a8 Binary files /dev/null and b/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/hardware2.webp differ diff --git a/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/index.md b/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/index.md new file mode 100644 index 00000000000..f3764e9dbde --- /dev/null +++ b/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/index.md @@ -0,0 +1,87 @@ +# Steady-Hand Maze Challenge +A challenge of skill: navigate a metal loop through a wire maze without touching the wire with high-score tracking and profile management. + + + +**Author**: Zackhary Lei Juanes De Vega \ +**GitHub Project Link**: [(https://github.com/UPB-PMRust-Students/fils-project-2026-ZackharyLei)] + +## Description + +The project is an interactive,"Steady-Hand Maze" game. A metal loop must travel along a bent copper wire track without touching it. If the loop touches the wire, an active buzzer sounds. The project features an OLED display for menu navigation and to show remaining lives and a timer, a rotary encoder for profile selection/game control, and an SD card module to save high scores and player profiles. The firmware is written in Rust, utilizing the Embassy framework for efficient multitasking and handling of game logic, timing, and collision detection. + + +## Motivation + +I chose this project to gain hands-on experience with embedded systems development in Rust. It provides a perfect balance between hardware interaction (interrupts, GPIO, SPI/I2C protocols) and software logic (state machines, file system management on SD cards, and graphics rendering). It serves as a practical application of real-time sensor processing and user interface design. + +## Architecture + +The system relies on the STM32 Nucleo as the central processor. + - **Input System**: A Rotary Encoder captures user navigation (for menus) and a touch-sensor (the copper wire) captures game events via GPIO interrupts. + - **Control Logic**: The main loop manages the game state (Menu, Playing, GameOver, ScoreBoard). + - **Output System**: The OLED display provides visual feedback (UI/Graphics), and the Active Buzzer provides auditory feedback. + - **Storage System**: The SD Card module stores user profiles and persistent high-score data via SPI. + +## Log + +### Week 5 - 11 May +- Project planning, component sourcing, and setting up the Rust toolchain for STM32. + +### Week 12 - 18 May +- Bent the thick copper wire for the maze. It was actually harder than I thought to make it hold its shape. +- Put all the components on the breadboard and connected the pins to the Nucleo board. +- Wrote some basic Rust code to test the I2C LCD screen and make the buzzer beep. + +### Week 19 - 25 May + +- Finished the game logic and state machine using the Embassy framework. +- Programmed the rotary encoder so players can scroll and type their names on the screen. +- Got the SPI SD card working. +- Tested the game with my university friends to see if the wire loop was too small or too hard. Everything works good now! + +## Hardware + +The project uses an STM32 Nucleo board as the microcontroller. User interaction is handled by a KY-040 rotary encoder and a custom-bent copper wire track. Feedback is provided via a 0.96" OLED display and an active 5V buzzer. All data is saved on a microSD card via an SPI module. + +Here are the photos of the physical breadboard setup, the STM32U545 board, and the copper wire loop: + +![Hardware 1](./hardware1.webp) + +![Hardware 2](./hardware2.webp) + + +### Schematics + +![Schematic](./schematic.svg) + +### Bill of Materials + +| Device | Usage | Price | +|--------|--------|-------| +| [STM32 Nucleo](https://www.st.com/en/evaluation-tools/stm32-nucleo-64.html) | The microcontroller | 0 RON (Borrowed) | +| [OLED Display 128x64 I2C](https://www.optimusdigital.ro/) | UI and game feedback | 19 RON | +| [MicroSD Card Module SPI](https://www.optimusdigital.ro/) | SPI interface board | 10 RON | +| [MicroSD Card](https://www.optimusdigital.ro/) | Data storage | 18 RON | +| [KY-040 Rotary Encoder](https://www.optimusdigital.ro/) | Menu navigation | 8 RON | +| [Active Buzzer 5V](https://www.optimusdigital.ro/) | Game fail alarm | 2 RON | +| [Breadboard](https://www.optimusdigital.ro/) | Prototyping circuit connections | 20 RON | +| [Jumper Wires](https://www.optimusdigital.ro/) | Connecting components to Nucleo | 5 RON | +| [220-ohm Resistors](https://www.optimusdigital.ro/) | Current limiting for buzzer | 2 RON | +| [Copper Wire (Unifilar)](https://www.dedeman.ro/) | The maze track | 15 RON | + + +## Software + +| Library | Description | Usage | +|---------|-------------|-------| +| [stm32f4xx-hal](https://github.com/stm32-rs/stm32f4xx-hal) | Hardware Abstraction Layer | Pin/Clock/Bus management | +| [ssd1306](https://github.com/jamwaffles/ssd1306) | OLED Display driver | Drawing the UI and game text | +| [embedded-graphics](https://github.com/embedded-graphics/embedded-graphics) | 2D graphics library | Shapes and fonts for the screen | +| [embedded-sdmmc](https://github.com/rust-embedded-community/embedded-sdmmc-rs) | SD Card FAT32 driver | Saving and loading scores | + +## Links + +1. [The Embedded Rust Book](https://docs.rust-embedded.org/book/) +2. [STM32 Nucleo Documentation](https://www.st.com/en/evaluation-tools/stm32-nucleo-64.html) +3. [SSD1306 Display Crate Docs](https://docs.rs/ssd1306/latest/ssd1306/) \ No newline at end of file diff --git a/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/schematic.svg b/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/schematic.svg new file mode 100644 index 00000000000..de271bc8213 --- /dev/null +++ b/website/versioned_docs/version-fils_en/project/2026/zackhary_lei.de/schematic.svg @@ -0,0 +1,27059 @@ + + + +SVG Image created as schematic.svg date 2026-08-23T18:49:01 + 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.5 +KiCad E.D.A. 10.0.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Rev: +Rev: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Size: A4 +Size: A4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Id: 1/1 +Id: 1/1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Title: +Title: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +File: schematic.kicad_sch +File: schematic.kicad_sch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Sheet: / +Sheet: / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1 + + + + + + + + + + +2 +2 + + + + + + + + + + + + +J4 +J4 + + + + + + + + +WAND_LOOP +WAND_LOOP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1 + + + + + + + + + + +2 +2 + + + + + + + + + + + + + + + +3 +3 + + + + + + + + + + + + + + + + + + +4 +4 + + + + + +J1 +J1 + + + + + + + + + + +I2C_OLED +I2C_OLED + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1 + + + + + + + + + + +2 +2 + + + + + + + + + + + + + + + +3 +3 + + + + + + + + + + + + + + + + + + +4 +4 + + + + + +J3 +J3 + + + + + + + + + + + + + + + + + + +ENCODER +ENCODER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3V3 ++3V3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1 + + + + + + + + + + +2 +2 + + + + + + + + + + + + + + + +3 +3 + + + + + + + + + + + + + + + + + + +4 +4 + + + + + + + + +5 +5 + + + + + + + + + + + + + + + + + + + + +6 +6 + + + + + + + + + + + + + + + + + + + + + + + +J2 +J2 + + + + + + + + + + + + + + + +SD_SPI +SD_SPI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VBAT + +VBAT + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +1 + + + + + + + + + + +PC13 +PC13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +2 +2 + + + + + + + + + + + + + + + +PC14 +PC14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +3 +3 + + + + + + + + + + + + + + + + + + +PC15 +PC15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 +4 + + + + + + + + +PH0 +PH0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5 +5 + + + + + + + + + + + + + + + + + + + + +PH1 +PH1 + + + + + + + + + + + + + + + + + + + + +6 +6 + + + + + + + + + + + + + + + + + + + + + + + + + + +NRST +NRST + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +7 +7 + + + + + + + +PC0 +PC0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +8 +8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PC1 +PC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +9 +9 + + + + + + + + + + + + + + + + + + + + + + + + + + +PC2 +PC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10 +10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PC3 +PC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +11 +11 + + + + + + + + + + + + + + + + +VSSA + +VSSA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +12 + +12 + + + + + + + + + + + + + + + + + + + + + +VDDA + +VDDA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +13 + +13 + + + + + + + + + + + + + + + + + + + + + + + +PA0 +PA0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +14 +14 + + + + + + + + + + + + + +PA1 +PA1 + + + + + + + + + + + + + + + + + + + + +15 +15 + + + + + + + + + + + + + + + + + + + + + + + + + +PA2 +PA2 + + + + + + + + + + + + + + + + + + + + + + + + + +16 +16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PA3 +PA3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +17 +17 + + + + + + + + + + + + + +VSS + +VSS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +18 + +18 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VDD + +VDD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +19 + +19 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PA4 +PA4 + + + + + + + + + + + + + + + + + + +20 +20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PA5 +PA5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +21 +21 + + + + + + + + + + + + + + + + + + + + +PA6 +PA6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +22 +22 + + + + + + + + + + + + + + + + + + + + + + + + + +PA7 +PA7 + + + + + + + + + + + + + + + + + +23 +23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB0 +PB0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +24 +24 + + + + + + + + + + + + + + + + + + +PB1 +PB1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +25 +25 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB2 +PB2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +26 +26 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB10 +PB10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +27 +27 + + + + + + + + + + + + + + + + + +VLXSMPS +VLXSMPS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +28 +28 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VDDSMPS + +VDDSMPS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +29 + +29 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VSSSMPS + +VSSSMPS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +30 + +30 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VDD11 + +VDD11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +31 + +31 + + + + + + + + + + + + + + + + + + + + + + + + +VDD + +VDD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +33 + +33 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB13 +PB13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +34 +34 + + + + + + + + + + + + + + + + + + + + + +PB14 +PB14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +35 +35 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB15 +PB15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +36 +36 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PC6 +PC6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +37 +37 + + + + + + + + + + + + + + + + + + + + +PC7 +PC7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +38 +38 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PC8 +PC8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +39 +39 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PC9 +PC9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +40 +40 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PA8 +PA8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +41 +41 + + + + + + + + + + + + + +PA9 +PA9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +42 +42 + + + + + + + + + + + + + + + + + + +PA10 +PA10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +43 +43 + + + + + + + + + + + + + + + + + + + + + +PA11 +PA11 + + + + + + + + + + + + + + + + + + + + + + + + + +44 +44 + + + + + + + + + + + +PA12 +PA12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +45 +45 + + + + + + + + + + + + + + + + + + + + + + + +PA13 +PA13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +46 +46 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VDDUSB + +VDDUSB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +48 + +48 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PA14 +PA14 + + + + + + + + + + + + + + + + + + + + + + + +49 +49 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PA15 +PA15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +50 +50 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PC10 +PC10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +51 +51 + + + + + + + + + + + + + + + + + + + + + + + + + +PC11 +PC11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +52 +52 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PC12 +PC12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +53 +53 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PD2 +PD2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +54 +54 + + + + + + + + + + + + + + + + + + + + + + + +PB3 +PB3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +55 +55 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB4 +PB4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +56 +56 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB5 +PB5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +57 +57 + + + + + + + + + + + + + + + + + + + + + + +PB6 +PB6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +58 +58 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB7 +PB7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +59 +59 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PH3 +PH3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +60 +60 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PB8 +PB8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +61 +61 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VDD11 + +VDD11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +62 + +62 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VDD + +VDD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +64 + +64 + + + + + + + + + + + + + + + + + + + + + + + + + + +U1 +U1 + + + + + + + + + + + + + + +STM32U545RETxQ +STM32U545RETxQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1 + + + + + + + + + + +2 +2 + + + + + + + + + + + + +BZ1 +BZ1 + + + + + + + + + + + + + + + + + + + + + + + + + + +ACTIVE_BUZ +ACTIVE_BUZ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3V3 ++3V3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 +1 + + + + + + + + + + +2 +2 + + + + + + + + + + + + +D1 +D1 + + + + + + + + + + + + + + + + + +LED_RED +LED_RED + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ENC_DT +ENC_DT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPI_CS +SPI_CS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPI_SCK +SPI_SCK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ENC_CLK +ENC_CLK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPI_MISO +SPI_MISO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPI_MOSI +SPI_MOSI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPI_SCK +SPI_SCK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Zackhary Lei J. De Vega 1221EB +Zackhary Lei J. De Vega 1221EB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +STEADY-HAND SCHEMATIC +STEADY-HAND SCHEMATIC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPI_MISO +SPI_MISO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPI_MOSI +SPI_MOSI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +I2C_SDA +I2C_SDA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +I2C_SCL +I2C_SCL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +WAND_SENSE +WAND_SENSE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +LED_CTRL +LED_CTRL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SENSE +SENSE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +MOSI +MOSI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VCC +VCC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +CS +CS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SCK +SCK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +MISO +MISO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +LED_CTRL +LED_CTRL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +IN +IN + + + + + + +ENC_CLK +ENC_CLK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ENC_DT +ENC_DT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +DT +DT + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SW +SW + + + + + + + + + + + + + + + + + + + + + + + + + +CLK +CLK + + + + + + + + + + + + + + + + + + + + + + +WAND_SENSE +WAND_SENSE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ENC_SW +ENC_SW + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +I2C_SDA +I2C_SDA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +BUZZER_PWM +BUZZER_PWM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +IN +IN + + + + + + +VCC +VCC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SDA +SDA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND +GND + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SCL +SCL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +I2C_SCL +I2C_SCL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ENC_SW +ENC_SW + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SPI_CS +SPI_CS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +BUZZER_PWM +BUZZER_PWM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +2026-08-22 +2026-08-22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +