Gene Chang’s Status Report for Feb 21

This week I focused on implementing the wireless communication layer between the software system and the hardware system. Specifically, I transitioned from isolated hardware testing into full Bluetooth Low Energy (BLE) integration, enabling the Python processing layer to transmit parsed musical event data directly to the ESP32 for real-time LED control.

Hardware–Software Integration Progress

  • Implemented BLE communication between the Python program and the
  • ESP32 using the Bleak library.
  • Established a reliable connection protocol to transmit structured string data from Python to the ESP32.
  • Successfully sent parsed musical event data (JSON format) over Bluetooth when running the Python program.
  • Mapped received note data on the ESP32 to individual NeoPixel LEDs for per-key illumination.
  • Verified that individual LEDs can be controlled with correct musical timing.
  • Confirmed bidirectional communication capability for future expansion (sensor data return path).

This establishes a functional wireless pipeline from the software layer to the hardware layer, allowing musical events processed in Python to directly drive LED feedback on the keyboard prototype.

Bill of Materials (BOM) Development

  • Developed the first draft of the Bill of Materials based on current hardware requirements and projected scaling needs.
  • Analyzed budget constraints and identified required components, including sensing hardware, multiplexers, LEDs, power regulation components, and supporting circuitry.
  • Documented detailed component names, quantities, and estimated costs to ensure financial feasibility as the system expands.

System Testing and Validation

  • Tested BLE transmission stability under repeated LED updates.
  • Verified that note-triggered LED activation works reliably across mapped keys.
  • Confirmed that the ESP32 correctly parses incoming Bluetooth payloads and updates LEDs accordingly.

Schedule

I am currently on schedule. Wireless data transmission from Python to ESP32 is operational, and individual LED mapping is functioning correctly. The next phase involves stress testing simultaneous LED activations to evaluate performance under chord conditions and high event density.

Deliverables for Next Week

  • Integrate FSR strips with the analog multiplexer to begin key-press detection testing.
  • Validate whether FSR sensor data can be transmitted back through Bluetooth to the software layer.
  • Evaluate latency and signal stability during simultaneous LED control and sensor feedback.
  • Begin preliminary testing of full duplex communication (LED output + sensor input).

Leave a Reply

Your email address will not be published. Required fields are marked *