Weekly Status Reports

Nadia’s Status Report for 2/8/2025

Since Sharon finished sourcing all of the hardware, we were able to begin setting up the codebase with some simple code using the HAL libraries with the STM32 Cube IDE. This included ensuring the chosen MCU had sufficient peripherals for all of the functionality we wanted to implement as well as allocating these peripherals. As of now, the codebase builds, but is still somewhat messy as we were trying to get a minimum working example up and running.

On the deliverables side, I began work on the slides for the design presentation to reflect the hardware choices we made.

Next steps include making architectural changes for quality-of-life to make integration easier, as well as ensuring that all of the functions will interface correctly with the hardware for easier integration. Additionally, the team will need to finalize our design slides for the presentation the following week.

Team Status Report for 2/8/2025

Risks and Contingency Plans

  • Firmware Stability & Compatibility Issues The transition from the STM32 standard library to the HAL library could introduce unexpected issues in peripheral functionality, particularly in SPI flash, I2C communication, etc. We will test each module incrementally and verify functionality before proceeding to new updates. We are also keeping backups of the standard library implementation in case of severe issues. If the HAL library causes critical instability, we will explore using a hybrid approach—keeping some standard library components for specific modules while migrating the rest to HAL.
  • Gesture Recognition Model Accuracy Data preprocessing steps (e.g., normalization, filtering) need to be refined. And we plan to do more research into CNN and other architectures.

Design Changes & Impact

  • Watchdog Timer Removal & Power Management Adjustments During firmware debugging, it was confirmed that all four MCU timers (TIM1-TIM4) are already allocated for other tasks, meaning the watchdog timer cannot be used for power optimization. this means that the system will need to rely more on hardware-based power management rather than software-based sleep modes. However, since the MCU is already low-power, this change should not significantly impact energy efficiency. We will still optimize the circuit design to minimize unnecessary power consumption.

Schedule Updates

No major changes were made and the schedule remains as is.


Progress / Photos

Please see the project GitHub.

Sharon’s Status Report for 2/8/2025

Accomplishments

  • Firmware update: updated firmware from stm32 standard library to hal library based. This will make it easier for us to add further features and make updates. Also, this will allow us to compile on both MacOS and Windows systems. Below is my update note:

STM32CubeMX ReconfigurationCleaned up the project structure, deleted unnecessary modules, and moved key configurations into main.h.

SPI & External Flash UpdatesUpdated external flash driver and verified SPI pin configurations in CubeMX.

I2C & MPU6050 IntegrationDownloaded and integrated the MPULib folder. Updated the I2C.c and I2C.h files, ensuring MPU6050 initializes after I2C initialization.

GPIO, LED, & Button HandlingEnsured LED initialization follows GPIO setup and tested LED toggling. Integrated button handling logic, though I still need to validate edge cases more thoroughly.

  • Project Proposal Presentation: delivered a project proposal presentation about the general idea and plans for the project

Please check the project GitHub for updated details.


Schedule Update

I remain on track. The firmware update was going smoothly. During code update, I confirmed that all 4 timers in the MCU (TIM1 to TIM4) are occupied for other usages, so we will not be able to run the watchdog function. In this case, energy considerations will rely more on circuit design. This won’t be too much of a worry because the MCU itself actually does not consume a lot of power given that it is a rather low-level chip.


Plans for Next Week

Firmware Debugging & Refinement

  • IR module integration
  • Update USART
  • Investigate and refine button handling logic for better reliability.
  • Test firmware under different power conditions and check for stability issues.
  • Identify and fix any remaining edge cases in sensor readings or communication protocols.

Ordering the PCB

  • Generate and verify Gerber files for manufacturing.
  • Place the PCB order and confirm lead times.

By the end of next week, I plan to have a HAL library-based firmware version that is able to sense IMU data and run CNN. Also, the PCB design should be submitted for manufacturing.

Olina’s Status Report for 2/8/2025

This week, I focused on data collection for the gesture recognition model in our wand project. Specifically, I collected data for six different gestures. Specifically,  I recorded 50 samples for each gesture. I manually recorded and labeled each set to ensure the data is consistent. In addition to data collection, I began preliminary data preprocessing, including normalizing the motion data inputs and organizing the dataset into a format compatible with our CNN training pipeline. I also spent time reviewing related research on gesture recognition to identify potential improvements for our model architecture.

My progress is on schedule.

Next week, I plan to work on

  1. Develop and implement the initial version of the CNN model for gesture recognition.
  2. Conduct initial training and testing of the model to evaluate baseline performance.

Hello world!

Due: every Saturday by 11:59 pm. One report per person, plus one for the team.Each team member must post an individual status report. The post title must be “<Name>’s Status Report for <due date>” (this helps the TAs and Faculty find and sort the reports).A combined post will update the status of the project as a whole. This post title must be “Team Status Report for <due date>”.All status report postings, individual and combined, should have a tag (i.e. tag inwordpress) of “status report.” Add whatever other tags you wish.In addition, each post should be assigned a category (i.e. a category in WordPress) with names “<Name>’s Status Reports” and “Team Status Reports”. These categories can then be displayed in a sidebar on your website, making it easy for you and others to find a specific set of reports.Each team member should be participating in the status update every week. Thecontent will help you reflect on your weeks work and how that progress fits into the semester long schedule, as well as help the course staff understand what you will be working on in a given week. We will be asking about the progress of any deliverables during the week, and expect to see them completed by the following status report; if they are not completed, discuss steps to get back on schedule going forward.
Below are some questions to prompt the content of your status reports. and each question should be addressed. Each team member should be answering all of the following questions. What did you personally accomplish this week on the project? Give files orphotos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours). Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule? What deliverables do you hope to complete in the next week? The whole team should answer the following questions in the Team Status Report: What are the most significant risks that could jeopardize the success of theproject? How are these risks being managed? What contingency plans are ready? Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward? Provide an updated schedule if changes have occurred. This is also the place to put some photos of your progress or to brag about component you got working.Additional Weekspecific status report questions will be Announced on Canvas.While most of these are individual, there are occasional questions that require the whole team to discuss and include in Team Status Report.