Project Risks and Mitigation
As the system scales from partial to wider keyboard coverage, a key risk is increased complexity in both hardware wiring and software mapping. Expanding to 36 keys introduces more points of failure, including incorrect key-to-LED mappings, inconsistent physical placement, and greater sensitivity to configuration errors. This risk is being mitigated by introducing a configurable key-to-strip mapping system, allowing the software to adapt to arbitrary LED strip placement rather than assuming a fixed layout.
Another risk is usability degradation as more features are added. As the system matured, earlier developer-oriented UI elements and controls became confusing or overwhelming for end users. This risk is being actively addressed through a UI redesign that removes developer-only information, consolidates controls, and replaces abstract visual elements with more intuitive representations (e.g., piano keys instead of generic bars).
A further risk lies in musical correctness and user trust. Features such as metronome behavior, rhythm handling (e.g., waltz timing), and score evaluation must align with musical expectations. Incorrect rhythm or inclusion of out-of-range notes could confuse users. This is being mitigated by refining rhythm-aware metronome logic and explicitly filtering notes outside the supported three-octave range.
On the hardware side, physical durability and wiring organization pose a risk as the system becomes more complex. To address this, the team co-designed a 3D-printed casing to safely house wiring and improve reliability during repeated setup and demonstrations.
Design Changes
This week included several significant design refinements focused on scalability, usability, and system polish.
The system was expanded to support 36 keys, along with software support for shifting note ranges so that music fits within the available three-octave span. A flexible key-to-LED-strip mapping mechanism was added, allowing LED strips to be attached in arbitrary positions and configured through software.
The user interface was substantially redesigned to improve clarity and usability. Playback controls were consolidated into clear mode-specific buttons (Playback, No-Beat, Beat), replacing earlier toggles and developer-oriented states. Preparation and internal-state indicators were removed, developer-only data was hidden behind a development mode, and the piano roll and keyboard visuals were updated to resemble actual piano keys. Users can now click directly on piano roll bars to trigger sound, improving interactivity and learnability.
Several functional improvements and bug fixes were also completed, including session saving for uploaded sheets, a tutorial system for first-time users, metronome improvements (countdown start and rhythm-aware beats), playback slider reset fixes, visual polish on piano key illustrations, and fixes for issues such as duplicate piano roll creation and incorrect score evaluation.
Schedule Update
The project remains on schedule. While this week involved a high volume of refinements and fixes, these changes represent planned convergence work as the system transitions from integration toward final usability and validation. No major schedule adjustments are required.
Validation Plan
Validation this week focused on confirming that recent expansions and refinements work cohesively as a system. The team tested the full 36-key setup with physical hardware, verified that configurable key mappings behave correctly, and ensured that note shifting produces musically sensible output within the supported range.
UI validation included testing all playback modes, verifying correct metronome behavior across different rhythms, confirming that session saving and reloading behaves correctly, and ensuring that interactive elements (piano roll clicking, playback slider, mode buttons) work consistently.
Hardware validation included checking that the new casing supports stable wiring and that expanded key coverage remains reliable during extended playback and testing sessions.
Demonstrated Progress
This week marked a major step toward a polished, user-ready system. LumiKey now supports a substantially expanded key range, a cleaner and more intuitive user interface, flexible hardware configuration, and improved musical correctness. The addition of a 3D-printed casing further demonstrates readiness for real-world use and repeated demonstrations.
Overall, the project has moved beyond core functionality into refinement, scalability, and usability, positioning LumiKey well for final validation and presentation as a cohesive guided piano learning system.
Unit and System Testing
At the unit level, we carried out targeted tests on individual subsystems to verify correctness and performance:
Scan pipeline tests: Compared generated note events against labeled reference outputs to verify full event correctness and pitch-level accuracy.
MusicXML validation tests: Ensured generated outputs were structurally valid and could be parsed reliably after cleanup.
UI responsiveness tests: Verified timing using the application refresh interval (100 ms) and visualizer scheduler (50 ms), confirming compliance with the ≤200 ms requirement.
Pipeline consistency tests: Repeated runs on the same inputs to confirm deterministic and stable outputs.
At the system level, we conducted end-to-end tests to evaluate the integrated system:
End-to-end pipeline testing: Verified the full flow from sheet music input through scan, OMR, event generation, and playback produced correct and usable outputs.
Expanded keyboard testing (36 keys): Confirmed correct key-to-LED mapping and reliable behavior across the full range.
UI interaction testing: Tested playback modes, tempo adjustments, and user interactions to ensure consistent and responsive behavior.
Hardware integration testing: Verified stable FSR sensing, LED actuation, and communication during continuous operation.
Findings and Design Changes
Analysis of test results led to several key findings and corresponding design improvements:
Scan reliability issues: Complex or high-resolution inputs caused failures or inconsistent outputs. This led to restructuring the preprocessing pipeline to normalize and resize inputs before OMR.
Incorrect pitch ranges: OMR occasionally produced unrealistic note octaves. A correction step was added to constrain notes to a valid piano range.
Scalability challenges (36 keys): Fixed mappings did not generalize to larger setups. A configurable key-to-LED mapping system was introduced.
UI usability issues: Developer-oriented controls reduced clarity for users. The interface was redesigned with simplified controls and more intuitive visuals.
Hardware noise and wiring complexity: Increased sensor count introduced instability. Sensor strips were moved onto a PCB and a protective casing was added to improve reliability.

