Madi’s Status Report for March 11

What did you personally accomplish this week on the project?

In the week leading up to break I focused on completing the design report. Specifically I worked on the scheduling/task division and fleshing out the architecture, system implementation and design trade studies for the mobile interface application. This involved doing further research into Apple’s CoreBluetooth Framework and determining a generalised system architecture for the application. In addition to this, I completed the design trade study and system implementation for the device enclosure. I also started drafting some initial designs.

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

I did not have much opportunity to make progress on the project over the past couple of weeks due to midterms and commitments over spring break. However, I had accounted for having less time in the first couple of weeks of March earlier in the semester and plan to set aside a large amount of time to make progress in the coming weeks.

 

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

This week I hope to have more sketches of the device enclosure completed, as well as the model classes for the application finalised. If I have additional time I plan on working on creating customised views for the application

 

Saniya’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).

In the week preceding spring break, I spent some time working with my team on our Design Report. During break, I spent a significant amount of time working on the library for LED matrix. I attempted to integrate my work with the HAL library Shize compiled on our Github and was unsuccessful.

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 a bit behind schedule due to the inability to coordinate efficiently and work collaboratively over break on the code for the device. This coming week, I will spend time working with Shize in person to see if we can hopefully debug our issues, and if that fails, we will create an alternative plan to implement our device using Adafruit extension boards.

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

In the next week, I hope to debug the interface we’ve created with the STM HAL library and help Shize in completing the PCB design.

Team Status Report for Feb 25

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?

The primary concern (which we mentioned in the previous report) is still the PCB design. To address this concern further, we have multiple people on the team now working with Fusion 360 to create schematics and board layouts, as well as writing preliminary circuit plans. Another concern is the BLE connection to the device: since our microcontrollers arrived at the beginning of the week, we were able to start working with them and familiarize ourselves with how the device I/O works with BLE. Due to this, the concern around connectivity is generally less but we will see how the iOS development end of the process will go.

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?

There are a few small changes made to the design of our system, mostly in the approach we were taking to the hardware design. Upon starting this project, we conceptualized our hardware design process in a way that would require a lot more time to create our own low-level functions to interact with the matrix, in the way we have learned to interact with peripherals in our classwork. However, this would be a lot more time-intensive than is necessary, and would make it more difficult for us to move much beyond our MVP.  Going forward, we want to spend more hardware design time rese arching and utilizing the multitude of resources to interact with our parts and create a better device for the user. After understanding better how to the STM microelectronics libraries with the Adafruit libraries, we will create an updated block diagram.

Provide an updated schedule if changes have occurred.

Our initial Gantt chart had us starting hardware design for the LCD immediately after the LED matrix; we have modified that to ensure that we complete our MVP fully first, with working wireless communication and designs, before moving on to the more complicated LCD implementation.

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

Our team work assignments have not changed drastically from the roles we initially defined. Due to midterms, we all had less time this week to work on our tasks, but have rearranged the approach to hardware designing by splitting up the process in a slightly different way. We initially were planning to collaboratively work through the design and coding, but have now split it so that Shize will focus on the base set up of STM32 and I will focus on the peripherals, currently interacting with the LED matrix. Going forward, we will continue to make adjustments to more effectively take on the design of our system.

Saniya’s Status Report for Feb 25

What did you personally accomplish this week on the project?

I spent time earlier in the week working on the design report with my team members and since our parts arrived, I started familiarizing myself with the DotStar Matrix interface. I first tested basic functionality with simple Arduino tutorial scripts and then began connecting the device to the STM32 with a breadboard to start testing basic I/O connection. Finally, I began practicing with PCB design to able to better work with Shize on developing our schematic in the coming weeks. I acquired Fusion 360 and created a few simple circuits from tutorials, schematic and board and ran the ERC/DRC checks successfully.

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

While I was able to get a solid start on writing the connection interface, I would have liked to get further with the matrix functions. I anticipated that I would have significantly less time this past week due to my exam/lab schedule in other courses, but I factored the time to catch up into the coming week and my break since I won’t be traveling.

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

In the next week, I hope to (1) complete the design report with my teammates and (2) have a more complete interface for the STM32 to control the DotStar matrix in some basic functions such as color-changes and simple shape designs via buttons or stdin commands.

Madi’s Status Report for Feb 25

What did you personally accomplish this week on the project?

Task 1 – Working on Design Presentation & Report

This week, along with my teammates I worked on content for the design presentation and supplemental documentation for the design report. I finalised the IOS app schematics/user flow diagram I was working on last week and mapped out the core data classes we plan on using in our application.

Task 2 – Starting Front-End Development 

In addition to this, I started working on the implementation of our user application in Swift UI/XCode. This involved creating a repository for my team and organising into modules to store the files for our data models, scenes, assets and views.

My first goal beyond this was to create structures to store all visual values (colours, padding, margins, text sizes etc.) we wish to keep standard across the application. Based on research I conducted last week into best practices for iOS development, I decided to utilise the design token system as a method of abstracting  raw values.

 

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

Whilst I was able to get a start on the application, I would have liked to be able to make some progress on writing code for the models and UI view components.  Due to other commitments, I had anticipated at the start of the semester that late Feb/ Early March I would have less time to work on the project, so I don’t think I am too far behind. I have planned to have ample time from Mid to late March to make up for any lost progress in the coming weeks.\

 

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

I hope to have class definitions for the data models defined by the end of the week. Additionally I plan on setting aside time to work on the design report

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.

Team Status Report for Feb 18

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 anticipate that we may run into issues during the integration process, specifically in regards to the BLE communication between the software and hardware sides. At the moment we are managing this by ensuring we are using compatible libraries, hardware etc. to minimise potential challenges. On the hardware side, we may run into issues regarding PCB design, because none of our group members have PCB experiences, the PCB design process may take longer than our expectation. We manage this by starting the PCB design early. In particular, we already started the PCB file in fusion360 and should have a baseline circuit design by the design presentation to demonstrate our baseline circuit connection.

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?

At this point in time we have not made any significantly large changes to our project. As we are still in the early stages of the design process, we have not yet run into significant bottlenecks that would require a re-evaluation of our proposed solution. We are currently conducting as much research as possible to construct holistic plans with a range of backup solutions. We hope that if we encounter issues during testing and development, this will allow us to make minor adaptations to our design without a large lapse in productivity. On the hardware side, we made more detailed circuit diagram and started the PCB file in fusion360. This change is necessary because we on in the process of refining the circuit design and plans to get PCB working as soon as possible.

Provide an updated schedule if changes have occurred.

There are no updates to our schedule as of now.

Please enumerate one or more principles of engineering, science and mathematics that your team used to develop the the design solution for your project.

In the past week, we thought more about user experience and how that affects our design choices. Specifically, while it’s easier to connect a battery pack to the earrings, we still want to incorporate a battery socket in our PCB to maximize user comfort.

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.

Madi’s Status Report for Feb 18

What did you personally accomplish this week on the project?

This week I worked on completing the bulk of the preparation, research and planning required for the iOS app and UI. My goal was not only to provide a sufficient amount of documentation for the design presentation, but to also create a through set of clear and specific guidelines to optimise collaboration efficiency during app development.

Task 1 – Finalising the UI Design System

After conducting research on existing mobile interfaces and accessibility guidelines I finalised the team’s colour palette and typography choices. I then created a collaborative document for our team’s UI development on Figma and inputted the design system as a set of local styles.

Task 2 – Low Fidelity Wireframing

I then worked on drafting guidelines for all the potential screens, views and modals that would be required for our application. This involved determining all the components and widgets that the user would require to navigate our application. Additionally, I used guidelines from Apple’s developer documentation to determine the minimum size, padding, margin etc. constraints required for all components (i.e. sliders, buttons, cards) to be user-friendly.

As these wireframes are low fidelity and our first draft for the application, they only contain exact specifications for component/view size and layout (currently in “px” units and designed for iPhone 14, but will be implemented as a responsive design). We are planning to finalise the colour scheme and render components early next week.

Task 3 – Finalising Userflow

Utilising feedback from the proposal presentation, I updated our initial to increase the salience/readability of our  MVP goals. I also added the LF wireframes to the flow chart to provide an extensive overview of user actions. Labels and icons specifying user gestures such as “touch” and “vertical swipe” were integrated to demonstrate the user actions required to traverse different views.

Task 4 – iOS Research

To prepare for app development, I started taking notes on the documentation on the apple developer website. Specifically, I looked at the specific classes available for different UI Views and started mapping these back to the components specified in the wireframes. Additionally, I looked into recommended architectures for iOS design and discovered that Apple’s developer tools primarily support using  an MVVM (model, view, view-model) architecture, as opposed to the MVC architecture we had initially planned on using.

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

I am slightly behind at this point in time as I had planned on having the UML diagram completed by today. As swift seems to require an MVVM architecture, I have had to spend some time doing additional research to ensure I can accurately draft plans for our proposed models and views. As these plans are required for the design presentation, I will have to put in additional time to finish before the slides are due.

I was also hoping to have drafted some plans for the physical design, however I had to de-prioritise this task due to commitments outside of the class.

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

Next Week, I plan to finalise the colour scheme and UI design with my teammates and start working on the front-end development of the application in swiftui.

Please list the particular ECE courses (if any) that covered the engineering science and mathematics principles your team used to develop your design ? If there are no courses please tells us how you learned those principles over the last week ?

As I have worked mostly on the software development part of our project, I have found 17-437 (Web Application Development) to provide the most relevant  information. However, whilst this gave me a good understanding of basic design principles and application development, I have some gaps in my knowledge in regards to app design. I have some experience from internships with Android development, but I have had to do additional research to learn iOS development. This has mostly involved looking at documentation on the apple developer site, watching tutorials on youtube and looking at existing projects on gitHub.

On the broader spectrum of our project, I believe knowledge from 18-349 (Embedded Systems), 18-220 (Analog Circuit Design) and 18-213 (Computer Systems) will be beneficial.

Saniya’s Status Report for Feb 18

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). 

During this week, I began working on our design report and continued planning out the structure of our sysem. Since our W series STM32WB55s had not arrived yet, I did some practice with an STM32 board I had access to and set up a few simple peripherals: LEDs,  buttons (assuming we will need to incorporate at least one into our earring design. Since the device we are using is from Adafruit, it works with the CircuitPython library and is designed to be easily configurable with Arduino devices and other hobbyist microcontrollers. To connect with the DotStar matrix from an STM32 device, the most efficient way is to image the device with CircuitPython, which I tested with my personal STM32 to start getting a feel for the interface.

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

According to the plan set out in our Gantt chart, I am currently on schedule.

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

Since our parts have begun arriving, I plan to start getting our basic peripherals working with our STM32 and creating a preliminary interface and writing any baseline library functions necessary for communicating with the DotPixel LED matrix

Please list the particular ECE courses (if any) that covered the engineering science and mathematics principles your team used to develop your design? If there are no courses please tells us how you learned those principles over the last week ?

The course that I have found most relevant to the work I did this past week is probably 18349 Embedded Systems and 18240.  As I began working through the preliminary setup, I found myself applying my skills from 18349 to  properly understand the datasheets independently. Going forward, we will need to design our own PCB, which will also involve skills from 18349.