- Week 2 Status Report Requirements: Part A was written by Simon, B was written by Gene, and C was written by Chris.
One of the most significant software-side risks is system latency, particularly in Beat Mode where LED updates must remain synchronized with user-defined BPM. Excessive processing time during conversion, JSON transmission delays, or timing jitter on the microcontroller could result in visibly inaccurate or unstable LED guidance. To manage this risk, the architecture separates preprocessing (image conversion and quantization) from real-time playback, ensuring all heavy computation occurs before transmission. The system also uses fixed 1/16-note quantization to simplify timing logic.
This week, the software architecture was updated to explicitly support two operating modes (Beat and No-Beat) and to integrate a Streamlit-based UI into the Core Layer. The change was necessary to better align the implementation with the defined use-case requirements—specifically, supporting both note-learning and tempo-synchronized practice. Additionally, the conversion layer was refined to include a Raw Event Intermediate Representation to improve modularity and testability. The primary cost of this change is increased architectural complexity and additional development time for mode handling and UI integration. To mitigate these costs, the system has been organized into modular components with clearly defined data interfaces, enabling incremental implementation and reducing integration risk going forward.
There have been no updates to the schedule. Work is progressing as planned, with no new visual milestones to report at this time. The Gantt chart (Gantt) outlines the team’s current timeline.


