This week I focused on advancing the hardware and interaction system of LumiKey in preparation for the upcoming demo. Building on the existing software pipeline, the goal this week was to improve real-time responsiveness and enable meaningful user interaction through key detection and visual feedback.
LED Timing and Visualization Improvements
A major focus this week was implementing LED fading behavior to better represent timing and note progression. Instead of simple on/off signals, LEDs now fade in a controlled manner to indicate when a note is approaching, improving the user’s ability to anticipate timing.
This enhancement makes the system more intuitive during playback and aligns the visual guidance more closely with musical rhythm. The fading behavior was tested alongside the existing event stream to ensure it remains synchronized with playback.
FSR Integration and Multiplexer Expansion
Another key area of progress was expanding key detection using FSR strips integrated through multiplexers. By incorporating the multiplexer, the system can now handle input from multiple keys while minimizing the number of required GPIO pins on the ESP32.
This setup allows for scalable input sensing across a larger range of keys. Initial testing confirmed that multiple FSR inputs can be read and processed, enabling the system to detect user interaction across different notes.
Some challenges remain with signal consistency, including occasional false positives or missed presses, likely due to noise or variability in pressure sensing. To address this, I began refining threshold detection and improving signal stability, which will continue to be optimized.
Interaction Modes Implementation
This week I also implemented multiple interaction modes to support different learning experiences:
Basic Mode: The system waits for the user to press the correct key before advancing, enabling step-by-step learning.
Beat Mode: Notes are aligned with a consistent tempo, allowing users to play along with timing guidance.
Score System: A scoring mechanism was introduced to track user performance based on accuracy.
These modes allow the system to move beyond passive visualization and support active learning through user input.
Integration with Event System
All hardware interactions, including LED output and FSR input detection, were integrated with the existing note event system. This ensures that both visualization and user input are driven by the same underlying data, maintaining synchronization between software and hardware components.
This unified approach reduces the risk of timing drift and simplifies debugging and further development.
Schedule
The project remains on schedule and is progressing toward a fully integrated demo. This week’s work focused on hardware functionality and interaction, aligning with the planned transition to a complete interactive system.
Deliverables for Next Week
Next week I will focus on final testing and supporting the live demo. This includes improving the reliability of FSR input detection, further tuning LED timing behavior, and resolving any integration issues between hardware and the software pipeline.
I will also continue refining interaction modes and ensuring that the system provides a smooth and intuitive user experience during demonstrations.
