Category: Sharon’s Status Reports

Sharon’s Status Report for 3/8/2025

Accomplishments

  • Last week was midterm week and everyone on the team were extremely busy. Therefore, we decided to take a break from the project.

Schedule Update

PCB verification part is a bit off track since we are still waiting for it to be manufactured. I will work on verification as soon as the board arrives after spring break.

Plans for Next Week

Assist Nadia with firmware testing. PCB verificationb

Sharon’s Status Report for 2/22/2025

Accomplishments

  • Wrapped up my part for a firmware update and handed it over to Nadia.
  • Made final adjustments on BOM and layout for PCB, and ordered through JLC. It is expected to ship next week. We are looking to receive it by the end of next week or at the start of the week after next.
  • Made adjustments on 3D-Model: put an additional hole for an LED signal on the wand body to align with the updated PCB for better usability.

Please check the project GitHub for updated details.

Schedule Update

PCB verification part is a bit off track since we are still waiting for it to be manufactured. As we wait for the PCB, we will focus more on the firmware side so that we will be able to have a working firmware once we get the customized PCB.

Plans for Next Week

Assist Nadia with firmware testing.

Sharon’s Status Report for 02/15/2025

Accomplishments

  • Continued update firmware, the updated firmware with HAL library is compilable right now:

IR Module Updates — checked the IR library for efficiency, and deleted redundant functions

Wand Module Adjustments — removed all modules except IR to discard the struct types that we no longer need. Noted that TIM2 configuration may be misaligned with the system frequency, potentially causing timing issues.

Deleted ADC & USART — Removed the ADC and USART modules entirelyand merged them into main.c.

Update memory allocation for CNN — Implemented a new weight_update mode to store constants in external flash rather than the microcontroller’s limited internal flash. Also wrote the corresponding script that updates weight.h. The static buffer in main.c was reduced from 1024 * 8 to 1024 * 7 to avoid a runtime overflow. Note that this change still needs verification through stress testing to confirm that the RAM usage is stabilized and no new overflow condition arises.

  • Updated PCB, connected with Professor Bain, and confirmed to use JLC for manufacturing. Still trying to connect with Quinn to get informed about the purchase procedure.

Please check the project GitHub for updated details.

Schedule Update

The firmware schedule remains on track. For the PCB manufacturing, I am slightly behind schedule. I’ll start going through the purchasing process as soon as I connect with Quinn next week.

Plans for Next Week

  • Confirm the RAM usage fix (reduced static buffer) is stable.
  • Test updated firmware on board and debug.
  • Get the first PCB version manufactured ASAP.

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.