Nick’s Status Reports

Week 1:

Finished proposal slides at start of week. Spent most of week coming up with initial design ideas for the housing, and getting some visualizations down to discuss in lab next week. Spent some time discussing components with the group, and then spend last part of week finding and researching components for the pedal interface that would work with our microcontroller and would best fit the current design ideas. Currently on track, but I don’t think our schedule for the near future allocated enough time for both the design slides and document, so might need to modify plans slightly. Next week, I hope to finish up my slides for the design presentation early so that we can get feedback, as well as discussing design ideas with the group and working on the schematic design.

 

Week 2:

Worked on Design Presentation slides and met with my group to discuss our slides and help the presenter prepare for the presentation. On Monday, worked in class to establish a detailed design for the pedal, finalizing both the basic functionality and the overall design of the pedal, which we will use for both the presentation and as a basis for designing specific components later on. Met with group to discuss how we could add additional functionality later on, especially considering features that would need to be decided on before the housing and pcb design. Continued searching for parts, finalizing the specific types of parts we want and now just looking for quality parts to order. A bit behind, as one of our group members was sick for most of the week, and we had to focus on the design presentation and report with the time we had, but we included slack time to account for this and can also make it up during our individual work periods later on. Next week, will likely be slower at the start of the week as I have a midterm Thursday, but will still look to do my part of the design report as well as finalize the parts list so that we can order.

 

Week 3:

I had less time to work this week, as I had a midterm, lab, and essay due. Sunday, we finished up the slides for our design presentation as a group, and in class, I did peer reviews for the others. I continued searching for the remaining components that we haven’t ordered yet, but need to confirm with the group that they are what we envisioned and that they will work with the microcontroller. Also did some research on how to add some additional features we were considering on the hardware side. We are technically behind, but this was planned for in the slack time we allocated in our schedule. Next week, I have two midterms, but still hope to get the parts ordered, work on the schematic in lab with the group, and finish my part of the design report later in the week when I have more time. I also need to talk to discuss the feedback from the design presentation at our meeting Monday.

 

Week 4:

I wasn’t able to accomplish much this week as I got sick at the start of the week and it lasted for the entire week. With the energy I had, I prioritized finishing my part of the design report and preparing for two midterms I had for other classes. We are still behind for the same reasons we were before, as with midterms and my illness we didn’t have time to catch up on work, but we will in the next two weeks, so we will try to get back on schedule in that time. In the next week, I hope to get an initial version of the 3D model done to revise with my group, and work with Chaitanya to help with PCB work.

 

Week 5:

This week, I did the ethics assignment, worked multiple times with Chaitanya to help finalize our hardware design, made initial plans for the housing model, and discussed restrictions for the housing model with someone from the 3D printing lab. We needed to finish our hardware design before I could start work on the housing model, since the dimensions of the model will depend on the specifications of the design. I did rethink my original idea for the housing to reduce risk, now planning to split it into 3 parts, with the top faceplate being its own part. This is because the faceplate is the part that relies most on the hardware design, so making it its own smaller part that can be slotted in easily allows me to make multiple possible designs and quickly adapt and refabricate the design if we run into any issues with our PCB design. Our progress has caught up a bit from where it was last week, and we expect to be fully caught up by the end of next week. Next week I hope to finish the models for the lower housing and the functional pedal, make an initial version of the faceplate model, do the in class portion of the ethics assignment, prototype with my group in lab to test some components we ordered, and start helping with the software if I have enough time.

Week 6:

This week, we started by doing part 4 of the ethics assignment Monday. Then, I made the base of the 3D model for the pedal housing to confirm the initial design ideas with the group Wednesday. I can’t add the holes for the components yet, as the PCB layout isn’t complete yet, and will be mounted to the other side of the faceplate, but I discussed more with the 3D printing lab to ask about restrictions and design requirements so that I can add the I/O holes and send out the designs for printing once the PCB is finished. In lab Wednesday, we discussed the initial model and tested our audio input component to find if we needed to make any adjustments to our schematic. I also worked with Chaitanya further to fix some issues we had with the design, swapping out some parts and adding some components to deal with pin issues on our microcontroller. We are mostly on schedule, although we are having to shift some parts of the schedule around due to some work relying on other work to be completed. Next week, I will start on the implementation software, although one of my other classes has a major lab that will keep me busy early in the week.

 

Week 8:

The past two weeks, I have assisted with verifying the circuit for the PCB, made the interface code for the pedal, created test codes for debugging the pedal, met with Chaitanya to debug the interface code, modified the plans for the 3d model due to changes with the PCB, and made designs for the input circuit. The interface code is mostly working, with only the buttons and the rotary encoder still having issues, but this is likely due to some confusion with the Daisy library, as the classes for switches and encoders seemingly are in progress. I have already made some alternate files to test possible solutions and am working on making versions of the code that use the standard GPIO class, which we know works as I used it for the other components, but I am hoping that we can get the Daisy classes working as their debounce function would likely work better for our pedal. For the 3D model, after learning that the PCB size would be much larger than initially planned, I remade the models to fit the new PCB and sliced them, and it seems that the base at this new size would be too expensive to print, so I moved the holes for connections in the base to the faceplate, and will find a premade plastic box that we can use as the base. Overall, this shouldn’t affect the functionality. Our progress seems to be slightly behind, although not by much, as we should be able to catch up early in the week and hopefully start testing. Next week, I will fix the last few things with the interface code, add the holes to the faceplate model and send it for printing, finalize the breadboard version of the circuit for testing, start testing once the audio processing code is fully converted to C++, do my part of the presentation slides, and prepare for the presentation.

As for testing of my own subsystems, as of now, I made most of the circuit in tinkercad while we were designing to test functionality and have made and modified multiple test files for the interface code to debug the individual subsystems of the interface. For the tests I plan to do in addition to the tests we are doing on the whole system as discussed in the team report, I plan to test the system with the full code and compare it to a preset input with just the audio code to determine if there is any significant impact from the interface code on latency, and plan to test the overall noise impact of some of the changes in our design.

Week 9:

At the start of the week, I worked on fixing the last major issue the interface code was having, and tested it with Chaitanya. Then, I tested inputs to the microcontroller from a function generator with Josie. Later in the week, I made an updated version of the interface code with all the implemented fixes for the major issues we were having, worked on the slides for the final report, and met with my group to test the combined interface and audio processing code on a breadboard prototype of the full circuit to check is functionality and test the output of the code for latency and that the audio processing code was accurately applied. After testing, we found a few small issues in the code, but nothing that prevented it from being mostly functional and providing the expected output. We seem to be slightly behind because of the PCB delay, but we will have time to implement that, fix the last few issues and have the full system completed and ready to test very soon. Next week, I will prepare for my presentation, fix the last few issues with the interface code, and meet with my group to implement the finished version of the pedal and test it.

As for what I individually learned, I first learned that hardware implementations run into many more issues than I expected. I learned how to design a schematic for hardware without any premade sections or guidance, as all of my previous classes related to this had either premade schematics or guidance with preselected components. I also learned how to find good hardware components and understand datasheets from spending so long looking through DigiKey for components that fit our design. Finally, I learned how to better understand and find issues with a software library, as the Daisy library is not fully functional and I spend a while looking through online references and forums to get the interface code working.

Week 10:

This week, I had my presentation, so I prepared for that early in the week. Later, after Chaitanya tested the PCB and found that there was an issue, we decided to make a perf board implementation of the project for now to get something functional by Monday. We met a few times to solder the circuit and get a working implementation based on what we made for the breadboard prototype. I also fixed the last few issues the I/O code was having. We are almost done, just need to meet Sunday and early next week to finish putting the final version together and test everything, and then do the video, poster, and report. Next week, I have a final early in the week and at the end of the week, so I will have the least time to work, but will still meet with everyone to finish getting the perf board implementation completed and tested, and will do parts of the poster, video, and report.