Team Status Report for 4/30

This week, we spent most of our time working on obtaining testing values for our presentation. We felt that this went successfully since all of our tests passed. Since we have achieved our MVP, we are not too concerned about obstacles that we may face. Our focus is now to get multi-finger functionality working, which will begin with two finger zoom. Additionally, we may try to make a frame to improve the appearance of our project. All updates to our schedule were shown during the presentation.

Matthew Kuczynski’s Status Report 4/30

Since our MVP was achieved last week, I spent the beginning of the week testing our use case requirements and preparing for the final presentation where I was the speaker. Later in the week, I worked with Darwin on creating a threshold for distance for drags and averaging the position for consecutive data collections where the finger is down so that less update commands are sent and actions like drawing are smoother. Overall, I feel that I am on schedule since our MVP is working and we have completed testing. Next week, I plan to work on the algorithms for two finger gestures such as zoom.

Matthew Kuczynski’s Status Report for 4/23

This week we worked on integrating our subsystems, so much of my work involved testing the Arduino and Python serial code that I had finished last week and debugging it. Previously, I had not been able to test my code because the PCB wasn’t finished, so this week I was able to get it working properly. Then, I worked on getting the testing metrics for our requirements so that they could be reported in the final presentation. Since we have our MVP working, I am definitely on track. Next week, I will now work on adding additional features to our project like multi-finger functionality and improving the speed of the single touch function.

Matthew Kuczynski’s Status Report for 4/16

This week was difficult for me because I had COVID, so I was unable to meet with my group and did not feel good Monday – Wednesday. However, I was able to make significant progress on the software at the end of the week. My primary goal was to finish the Arduino script, which I accomplished, however it has not yet been tested due to some issues with PCB that existed until about an hour ago. Additionally, I wrote the new Python serial script, so the arrays of photodiode values can be communicated to the Python side. Previously, we had decided that the photodiode values should be communicated as a set of bit-encoded integers rather than a string to improve speed. Since the maximum integer size is a 32-bit long, three were needed since we have a 56 by 31 array (two with 28 for the top and one with 31 for the right). I also developed a protocol to know which values is being sent, which is to send either a -1, -2, or -3 before each value based on which of the three longs it represents. Since we never use all 32 bits for our longs, these negative values should never appear as the encoded photodiode values. Overall, I believe that I will be able to finish the testing in time, so I think that I am on schedule as long as I put enough work in this week and there are no more major hardware issues. Next week, I will debug my Arduino script, the Python serial code, and then work on multi-finger functionality.

Matthew Kuczynski’s Status Report for 4/10

This week I worked on preparing for our demo, so I worked with Darwin and finished writing some test scripts could should that our two subsystems could work together. Additionally, I worked with both Matt and Darwin to write a test that went through all three subsystems, which was demonstrated at our demo. These tests revealed flaws in my subsystem, so I also spent a significant amount of time debugging the code that I had already written. Once we had our demo working, I worked on the Arduino script for LED control and photodiode readings. Overall, I feel like I am on schedule since we made significant progress with the integration this week, however, we need the decoders to arrive or I will quickly fall behind. The biggest thing that I have left involves physical testing, which requires the hardware subsystem to be fully functioning. Next week, I plan to finish the Arduino script for LED control and photodiode readings. If the decoders come in, I will also begin physical testing, otherwise I will begin to work on multi-finger functionality.

Team Status Report for 4/2

This week the PCBs finally came in, and we performed a lot of team work since we worked together on soldering the components. However, one issue came up, which is that the wrong decoders had been ordered, so we are now waiting for the new ones to come in so that we can finish assembling the PCBs. The most significant risk right now is the arrival time of the decoders since we cannot move forward with physical testing until these arrive. One mitigation plan that was developed this week was to create more advanced software tests that can simulate physical data. This should help the debugging process once the physical testing begins, and this is important since the physical testing is probably the most time consuming component remaining. No changes were made to the design of the system this week. As far as the schedule, as long as the decoders come in soon, nothing should change. As long as they are delayed, everything else will be pushed back, and the new software testing will fill the gap.

Matthew Kuczynski’s Status Report for 4/2

With the PCBs finally coming in, I spent the beginning of the week with my team soldering the components onto the boards in TechSpark. This involved placing the stencil onto each board, spreading solder paste onto each stencil/board, manually placing each component, and placing the boards in the oven. Later, Darwin and I tested the communication from the Arduino, through my subsystem, to the VM that he is testing on, which worked successfully. Then, we began designing a series of tests that will allow us to test the detection algorithms and touch functionality. The idea of theses tests is that rather than getting physical data (since this is still not ready), we will randomly generate realistic data that can be detected, categorized, and sent to the touch functionality. I feel that I am on track, and although the delay on the decoders shipping has shifted the schedule back a bit, our slack time should allow me to still finish on time. Next week, I plan to finish these tests and debug the software with Darwin, and to work on the soldering once the decoders come in.

Matthew Kuczynski’s Status Report for 3/26

This week, my main focus was to continue the software integration. As I continued to combine my software with Darwin’s, I realized that some major decisions about the overall software design needed to be made. Therefore, much of the work that I did this week involved overall planning and design of the project’s software system. The biggest question was how exactly a touch event would be communicated to the screen control software. In the end, I chose to design a system where after subsystem B detects the touch type and position, both an event type and screen position are communicated to subsystem C. Most of the time, the event type will be “no touch”, in which case the position can be ignored. Overall, I think that I am on track to finish my parts with some slack time built in, and the fact that the PCB + components came in means that we can move forward as a team. Next week, my focus will shift to the soldering that needs to be done with the PCBs, and there may be a chance to do some physical testing near the end of the week depending on how the soldering goes.

Matthew Kuczynski’s Status Report for 3/19

This past week, I began working on the finger detection algorithms, which were explained in some depth in the design review report. This is somewhat difficult without being able to physically test, so this is mostly a framework for now. Additionally, I began integrating my portion of the software with Darwin’s, which is combining subsystems B & C from the report. Next week, I plan to work on the frame design and continue the integration of the two software systems. Additionally, I will work with the rest of the team on the PCB when it arrives, which should be soon. The majority of the work that I still need to contribute individually on this project involves tuning the detection algorithms through physical testing. So far, I feel that I am on schedule, but I will need the PCB to complete most of the work that still needs to be done.

Team Status Report for 2/26/22

Our biggest goal right now is to finish all of the PCB development and order the PCBs before spring break so that we can begin soldering and testing with the actual PCB once classes resume. If this is not completed before break, it is going to cost us about two weeks, so we are considering this the biggest risk to our project right now. We plan to have all three group members working on this task next week to ensure that it is completed.

Overall, no major changes have been made to the design. If anything, the biggest change is the choice to move away from the pyFirmata library for the Arduino-Python interface and to the serial library. This change was necessary due to the fact that each photodiode needed 10ms to be read, which will be far too slow for MVP goal. Moving forward, we will test different baud rates with the serial library to see how fast the system can perform.

Right now, the schedule remains the same since we are keeping up with the tasks on our Gantt chart. Overall, we feel that we have been making good progress and our project is on task to be completed successfully.