Jordan’s Status Report for 4/20

During my work on this project, I learned soldering a PCB, working with Arduino IDE in a working environment (before it was just messing around), especially on how to implement interrupts on an Arduino.

For soldering, I learned from my friends who I know had soldering experience. My friend was able to solder a few spots on my PCB while showing me how I should do it, and through that I was able to solder the rest of the components with no issue. For Arduino IDE, I learned by looking up information online, and experimenting with existing code to see what I can take from them and apply to my own.

Normal Report Portion:

This week, we advanced further into integration. We have finalised the communication protocols between our systems, and the communications are all up and working now. Specifically for me, I changed my code such that it accounts for keys that are not pressed but the sensors are activated. For example, when pressing certain right hand keys, a valve that is connected to a left hand key also gets triggered, even if the left hand key is not pressed. I changed it such that the left hand key would be excluded in the webapp. I experimented with all 22 keys and their combinations, and finalised the rules on that. Now when I press one key, only one digit in the data packet is changed.

I have also assisted my teammates in their integration efforts. For example, I added an interrupt that starts and ends data sending only when requested from the web app.

In terms of testing, my individual components pass all testing requirements. The delay from the Arduino serial monitor is negligible, but determining the specific timing would be extremely difficult. I would need to collect the exact that the key is pressed and the output shows up, which I am not sure how to do. However, the small delay is not noticeable to the end user, and all standard saxophone keys are confirmed to provide timely updates to the data packets when they are pressed.

In terms of deliverables next week, the focus is integration testing, to ensure that not only each component works, but the system works as a whole, and the user experience is smooth.

Jordan’s Status Report for 4/6

This week, I finished the assembly of the fingering collection system. All sensors are installed and tested, and now all that is left is software. Testing is also completed, and performance is within the use case requirements.

For next week, I will start working on the integration with the rest of the system. I will need to map all sensor data to actual fingering data for the web server, as well as developing a way to coordinate the recording of both fingering and audio together for the system to analyse. The biggest issue is synchronisation, as the audio and fingering are collected on different devices, and the timing will be important. All of this is based on the discussion I had with my team earlier this week, and we finalised on the specific format of the outputs.

I am still on track, according to last week’s schedule. My individual part is mostly complete, now it is just integration.

Jordan’s Status Report for 3/30

This week, I mainly focused on a change of design. I changed the cable used to connect the sensor to the mainboard from normal wires to DuPont-style connectors, which are easier to work with, as well as easier disassembly. I measured the distances between the keys and the board, as well as estimated the magnet location to ensure proper detection. Assembly onto the saxophone will begin once the new wires arrive, and this will be my task for next week.

The software is also coming along, and as a team we will also decide the format of transmission by next week. Right now, the plan is to send both the raw fingering data and the note information to the web app, but this will be finalized next week.

Schedule changes are reflected in the team report.

Jordan’s status report for 3/23

This week, I completed more soldering work for the saxophone fingering system. The soldering of the sensors took a longer than expected due to the small size of the sensor, and getting the PCB for the sensor into its small shape also took longer with a minor injury as well. Due to this, the completion of the system will be pushed back one week to two weeks from now. However, I have also completed testing of all work done, which contributed to the delay, but it means less testing down the line. Specifically, I made sure that each sensor worked, and that the response time was within spec. The response time is not noticeable for typical use case, and whatever delay there is will not impact user experience.

For next week, I aim to finish installing the magnets and sensors onto the saxophone.

Jordan’s Status Report for 3/16

This week, I rebuilt and confirmed my proof of concept works and that the Arduino is able to detect the magnet approaching hall effect sensors. I built the system with 8 sensors, and all eight of them were able to send the signal to the Arduino, and I could see the correct output on the serial monitor. I also finished soldering the mainboard of the system.

Next week, my plan is to finish soldering the sensors, finish testing the soldering, and the installation of magnets onto the saxophone. I am currently still behind the schedule, but I have caught up compared to last week’s progress. I will put more time this week to push the construction progress as far as possible.

Jordan’s Status Report for 3/9

I was sick during the week of 2/26, and since most of my work at this stage involved going to the ECE labs and assembling components, I could not get meaningful progress this week. I was also away during the spring break week. Despite this, I shifted some work from later schedules, by writing up some thoughts about the feedback portion of the web app for later use. I wrote the following by playtesting the saxophone myself.

Here are the gist of the work this week:

Fingering correct, sound correct: no feedback, good job!

Fingering correct, no sound: check embouchure to make sure the wind blowing into the saxophone is consistent.

Fingering correct, sound pitch slightly higher than expected (below one note difference): loosen up the embouchure.

Fingering correct, sound pitch slightly lower than expected: tighten embouchure.

Fingering correct, sound pitch more than one note higher: likely biting, please stop biting on the mouthpiece and play looser

Group feedback after a playing session, if sound pitch consistently higher or lower than expected: higher -> pull out mouthpiece, lower -> push in mouthpiuece

My schedule is behind by about a week now due to the sickness, but I do have failsafes built into the schedule that allows me to be late for up to one week. I will try to finish the assembly of the saxophone fingering collection system in three weeks, allowing three weeks for integration.

Specifically for next week, I will put together a 8-note fingering collection system on a breadboard to ensure that the system is able to record the fingering.

Jordan’s Status Report 2/24

This week, I started testing components for the saxophone fingering collector build, as well as starting some initial assemblies. I have tested all hall effect sensors, and confirm that they all work. However, the output voltage doesn’t get detected by the ESP32 controller just yet, so I need to do further testing next week to find working conditions.

The biggest delay is the slow speed in the production of the PCBs. Due to unfamiliarity with the process, there were several delays in placing the order to the vendor, delaying the timeline by 5 days. This means that I am slipping behind schedule, and it may push the completion time of the assembly by 1-2 weeks.

Since I cannot speed up the PCB process, I will divert some of my attention to the software side of things when I am finished with the voltage issue of the hall effect sensors.

Jordan’s Status Report for 2/17

This week, the main progress I made was to finalise the design of the saxophone attachments, as well as ordering parts. I also secured a saxophone for use during the projects from Kiltie Bands.

I based my design off this project: Jazz Hands: Hybrid Saxophone : 28 Steps (with Pictures) – Instructables.

I chose to use this design, because it is already a functional system for detecting fingerings, given that it is originally designed as a MIDI controller add-on. This seems to be a better system that using pressure sensors, as I will use his hardware design for fingering collection, but use software written by me to analyse the data collected from the sensors.

I am currently slightly behind schedule, as PCB orders did not go in last week. I will order the PCB in time for next Tuesday’s order batch, but other than that, I am on time.

I hope to finish the software component of the saxophone transcriber by next week, or at least have a buggy implementation. I am currently debating between two paths: one is to use MIDI controls, which uses the Sparkfun ESP32 to process the sensor data into MIDI data to feed to computer, or to just upload raw fingering data to the computer.

Jordan’s Status Report for 2/10

This week, I mainly spent time preparing my proposal presentation on Wednesday. After the report, I explored ways I could acquire a saxophone, including from various organisations on campus, and buying a new one. I am still in communications with Kiltie regarding borrowing one of theirs. My goal for next week is to get the saxophone and place all orders for the hardware part by Tuesday, and spend the rest of the time on finalising the features and feedback that will be included in the web app. As the saxophone player in the team, this is naturally my job, and while I am still waiting on parts, this is the best way to spend my time. Overall, I am still on schedule.