This week focused on acquiring, testing, and integrating the core hardware components for the LumiKeys system, while continuing to define the technical direction of the hardware architecture. Specifically, I focused on testing NeoPixel LEDs, force-sensitive resistors (FSRs), and their integration with the ESP32 microcontroller, as well as researching UDP-based communication between the server and ESP32 for user-input verification.
Hardware Design and Component Work
- Researched and evaluated hardware components required for key-press detection and visual feedback, including NeoPixel LED strips and force-sensitive resistors.
- Developed simple test programs to read analog values from FSR strips and characterize resistance changes under applied force.
- Defined threshold values to distinguish between pressed and unpressed states for reliable key detection.
- Investigated communication methods between the ESP32 and the server, focusing on UDP as a lightweight protocol for transmitting note and verification data.
- Planned the next stage of LED control using the Adafruit NeoPixel library and preparation for soldering and breadboard integration.
Initial Technical Prototyping
- Prototyped force-sensing resistor input using the ESP32 ADC to measure resistance changes and convert them into usable analog values.
- Validated that force input can be reliably detected and distinguished through thresholding.
- Evaluated power requirements and identified the need for a stable power supply and voltage regulation for driving LEDs alongside the ESP32.

Schedule
I am currently on schedule, as core hardware components have been obtained, basic sensing functionality has been validated, and integration planning is underway.
Deliverables for Next Week
- Integrate the NeoPixel LED strip with the ESP32 and implement basic LED control.
- Set up a stable power system, including an appropriate supply and a 3.3 V step-down converter where needed.
- Begin combining FSR input detection with LED feedback to demonstrate a basic end-to-end hardware loop.


