Saumya’s Status Update 10/21

This week was our budgeted slack week. We largely used this time to enjoy our break since we’re mostly on track, but we did a small amount of work to keep progressing towards our Gantt chart goals. Specifically, I looked into sample projects using the ESP32 and Bluetooth and downloaded the required Bluetooth modules. To work with my M1, I determined that I wouldn’t be able to use the bleak package, but pybluez might be compatible. As per the Canvas question, I’m looking into learning the Bluetooth protocol (at the abstracted level of the ESP32 and Python modules) as well as programming for the ESP32 in particular.

Saumya’s Status Update 10/7

This week, I helped Sarah with sensor setup and debugging an issue with the board. Specifically, after some experimentation, we noticed that two of the pins seemed to be shorted on the ESP board we received. In addition, I did some research on how to implement BLE with our specific board as well as reading sample project code.As the presenter for the design presentation, I also went over my presentation a little bit. Based on my Gantt chart tasks, we’re on track for sensor and board setup, but a little behind with Bluetooth since it took a bit to get our board. I think I now have enough information to proceed, so I should have the Bluetooth transmitter set up by next week’s update. I also will be working on the design review report this week.

Team Status Update 10/7

This week, we received some of our parts and began testing our board and the sensors. We focused on thresholding our force sensitive resistors to determine good potential values for what would count as a button press. We also looked into BLE implementations for the specific board we selected. The most significant risks for our project now are that two of the pins on our board are shorted. We’re planning to order another board this week and experiment with the current one, but we’re hoping that this integrity issue only applies to the board we received. Besides that, our sensors seem to be working fine (except for one that was a little faulty, but we ordered one more than we needed so we should be alright). In addition to this, we also refined our slides for the design presentation, and we began working on the design review report.

When developing our solution we used the following engineering principles: economy of mechanism, top-down design, and design for contingency. For economy of mechanism, we wanted our design to be as simple as possible while still achieving our design requirements so that there would be as little room for error as possible. We also wanted our design to be simple and intuitive to use. When designing, we chose a top-down approach, focusing on the bigger parts of the design and our end goals and then backtracking all the way down to the low level code and hardware wiring that would help us achieve our ultimate goal. Finally, we designed a lot for contingencies, in case any of our tests failed. We came up with proactive risk mitigation strategies and backup plans so we’d be prepared.

Saumya’s Status Update 9/30

This week, I experimented with pyautogui to explore its capabilities and how we can potentially use it in our project. I also worked on the design presentation. As this week’s presenter, I also practiced presenting and worked on my script. In addition, I helped Sarah with hardware selection based on our software architecture requirements and power requirements. Based on my tasks on the Gantt chart, I’m on track with regards to key mapping research, but for Bluetooth, I was waiting on our finalization of the board to look into specific networking information. Now that we’ve selected our board, I can look into sample projects using Bluetooth connections to the microcontroller and figure out how I can get a similar connection established between our computer and mouse board in the first half of the week so the Bluetooth transmitter task can be completed by the end of the week. By next week’s update, I plan to make progress towards getting Bluetooth set up.

The classes that helped me the most with the design of our project were 18349 (Embedded Systems) and 18441 (Computer Networks). I hope to apply some knowledge from my internship, where I learned more about Bluetooth. I also took Physics C in high school, which will help me with the IMU math.

Saumya’s Status Update 9/23

This past week, I spent time creating our software architecture plan. I also researched the Bluetooth portion of our project, specifically looking into Python libraries that would be compatible with the various microcontrollers we were deciding between (Arduinos, STM boards, etc). I identified the pyautogui library as one that we could use to take control of both the mouse and keyboard actions. In addition, I collaborated with my group members to refine our final proposal presentation slides. We worked to finalize our design plan, making sure that the scope of our MVP was reasonable given the time constraints. When creating our Gantt chart, I delegated tasks related to networking and physics aspects of our project to myself, since I have a little bit of experience and a lot of interest in those areas. Finally, I started looking into the inertial measurement unit sensors and what physics calculations we might need to translate hand movements into mouse actions.