Author: hsuanjul

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.