Shize’s Status Report for April 29

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I wrote and tested a new firmware that supports the receiving of large data packet in data mode. The new firmware enables whole-matrix update as well as Fram-defined moving pattern. I also added the password functionality into the firmware where user needs to send password first to program the matrix. The firmware will be further updated to support push button triggered interrupt to receive ble data. In doing so, the microcontroller doesn’t have to poll for ble data and therefore has less power consumption. I also participated in the team discussion of new hardware design.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is on schedule.

What deliverables do you hope to complete in the next week?

The firmware needs to be updated to accommodate software and I will also add support for push button and GATT for customization and battery measurement.

Team Status Report for April 29

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?

We are pushing toward a much more refined design in both software and hardware than the current MVP. There’s still plenty of work to be done integrating the user app and hardware. The user app is unfinished and the build of new hardware design is contingent on the arrival of new components, which we expect to arrive by May 4. These risks are managed by having the team working together more often than before and choosing shipping options that can arrive on time. Contingency plan is the current MVP.

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.

Lots of changes are made to the design of the system as we try to integrate the hardware with the soon to be finished user app. The ble firmware now uses data mode to receive about 750 bytes defining the display state of the LED matrix. The firmware now also requires user to send password to unlock the earring. On the hardware side, we are reducing the thickness of the earring by placing the battery and matrix both on top of the feather board and we plan to add a switch for turning on and off the system as well as a push button for receiving ble data packet so that the microcontroller doesn’t have to poll for data. (The push button is for power saving purpose). The software is under development to allow frame-defined moving pattern and ble data transfer between hardware and user app.

Please enumerate how you have adjusted your team work assignments to fill in gaps related to either new design challenges or team shortfalls.

Madi is working on the software and Shize keeps firmware updated to accommodate for software. The firmware now prioritizes software as it takes more work to develop the software and it’s easy to rework the firmware. The team discussed and agreed on the changes on hardware design and Saniya will assemble the new design once the parts are arrived.

Shize’s Status Report for April 22

The version built with feather m0 board is done. I’m now finalizing the code to make moving patterns.

The current design of the earring have the LED matrix and the feather m0 board soldered closely together and the whole thing plus battery weights 20g. The battery (350mAh) is rechargeable by just plugging in to USB and it lasts more than 2hrs.

The current settings for user including choosing pixel color on their phone and typing letters in Bluetooth uart to define how they want the pattern to move. The types of moving and their corresponding ascii letters are: up (^), down (_), left (<), right(>), rotate left (l), rotate right (r), expand (e), shrink (s), and stop (.). Stop (.) is used to make the moving pattern stop. By using this current setting, users should be able to design interesting patterns for different moving styles.

We will make our attempt on using our customized PCB that fits the LED matrix better, but to account for the possibility that we couldn’t get the PCB working, our final project will just be the feather m0 version.

Shize’s Status Report Mar 25th

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I discussed ethics related issues with the team and participated the in class activities for ethics. I also continued to work on the PCB and firmware and couldn’t make significant progress. I’m now looking into alternative solution that uses a less complicated hardware that involves using Adafruit Arduino feather board. Saniya and I are also seeking help from the professors in embedded systems. I will order a feather board next week and hope it reduces the difficulty of firmware development significantly.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is behind. I will order a feather board next week and hope it reduces the difficulty of firmware development significantly.

What deliverables do you hope to complete in the next week?

Get started on developing the hardware using Arduino feather.

Shize’s Status Report for March 11

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I worked on driving the LED matrix using the nucleo but couldn’t get the GPIOs to work correctly. I think this might be due to the incorrect HAL library files I downloaded from GitHub. Right now I’m debugging the problem and checking the compatibility of GitHub code. Because of the trouble I encountered working with nucleo, I also made alternative plan. I watched the BLE demonstration on Arduino feather and found that very simple. I think in the worst case scenario we can switch to using an Arduino feather and use that to drive the LED matrix.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is behind. I’m contacting ST to ask for help using their library.

What deliverables do you hope to complete in the next week?

I hope to finish the PCB design by next week.

Shize’s Status Report for Feb 25

What did you personally accomplish this week on the project?

I prepared and presented the design presentation this week. By preparing the design slides, I made schematics that demonstrate port connections between key circuit components. After receiving the STM32WB55 nucleo board, I downloaded the HAL library and successfully compiled them Using GCC-arm and I’m currently putting together an UART driver to get started on the developing process. To program the board, I’m also working on the linker script for stm32w, and to simplify the process, I’m working on a makefile that does everything for you. I expect to get all of these done by tomorrow and start looking into SPI peripheral and test its functionality using Saleae.Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is on schedule if I can get the toolchain up and running and start developing for SPI peripheral tomorrow. If I end up being behind, I will dedicate more time next week to make sure the SPI peripheral works.

What deliverables do you hope to complete in the next week?

A well organized HAL library that helps everyone in the team to work with the microcontroller and a functional SPI peripheral.

Shize’s Status Report for Feb 18

This past week I started designing the PCB, read STM32WB55 reference manual, and prepared for the upcoming design presentation.

I started the PCB design using fusion360 on the ANSYS computers. I exported a PCB schematic of STM32WB55 from the internet and read the reference manual about how to drive the SPI peripheral. Because we haven’t get the screen to prototype the circuit, how the microcontroller is connected to the screen (such as which GPIO ports to use) is still contingent. I plan to use diagrams to demonstrate the circuit. For MVP, I reviewed the electrical behavior of diodes and plan to finish the circuit design by tomorrow.

The current progress is on schedule, I think I can get hardware development fully going once receiving the parts.

For next week, I’m delivering the design presentation for my group and I plan to start prototyping the circuit and make progress on both firmware and PCB design. For firmware, I target the goal of a successful programming of the screen using the SPI peripheral on nucleo board.

Shize’s status report for Feb 11

This week, I contributed to the slides for our proposal presentation. I contributed mostly to the technical challenges and solution approach: hardware sections. By finishing these slides, I identified 5 technical challenges and proposed a hardware solution to our project that can potentially address the technical challenges. I did research on different microcontrollers we can use for our project and pinpointed the STM32W series as the processor we will use. I also suggested ordering two nucleo boards for firmware development, one for each of the team members who are responsible for hardware development.

The progress is on schedule.

In the next week, I hope to get the nucleo board and setup the toolchain. I will also start on getting the BLE working with a python script. My goal for the next week are getting the toolchain up and running and getting myself familiarize with the BLE peripheral on STM32WB55.