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.

Team Status Report for Feb 11

Our project considers the environmental, societal, and cultural values of our target consumer in the context of current economical and global trends.

Economic & Global Considerations

Breaking into the consumer electronics  market from a high fashion/ luxury standpoint not only capitalises on the increasing value ( Expected value of $USD 186.14 billion by 2030) of the wearable segment, but it also takes advantage of the movement in the fashion industry towards digitisation and virtual design [2].

The optimal target market demographic for this project is consumers of all demographics between the ages of 15 – 35, as they represent $350 million of spending power in the US as of 2020 [3]. Additionally, according to a 2023 forecast conducted by the business of fashion [4],  the younger generation prioritises spending money on fashion over traditional entertainment categories (e.g. dining, music media etc.)

Environmental, Societal and Cultural Considerations

We believe our product aptly considers the needs and values of our proposed user base.

The key differentiation factor of our product is that it enables users to purchase a single accessory that they can easily customise through an associated application. Unlike previous, generations younger consumers place a high value on fashion that reflects their values and self expression [3], with 82% of GenZ believing fashion is an important tool to establish identity [5]. We believe our product directly address this trend towards personalisation, by enabling users generate unique to articulate their individuality.

Moreover, we believe our product offers an environmentally sustainable option, by promoting reduced consumption. Adaptable fashion inherently has a larger number of use cases than traditional apparel. Cyber jewellery can be instantly adjusted for different events, trends or environments, reducing the need to buy multiple products for different situations. This is economically beneficial and reduces strain on the environment by limiting material, product and distribution wastes. Furthermore, emphasising the sustainability of our product appeals to the ethical values of our market. Specifically, younger consumers tend to spend more on sustainable products.

Sources:

  1. https://www.grandviewresearch.com/industry-analysis/wearable-technology-market#:~:text=How%20big%20is%20the%20wearable,the%20wearable%20technology%20market%20growth%3F
  2. https://www.mckinsey.com/industries/retail/our-insights/state-of-fashion
  3. \https://www.mckinsey.com/~/media/McKinsey/Industries/Retail/Our%20Insights/Renewed%20optimism%20for%20the%20fashion%20industry/The-state-of-fashion-2018-FINAL.ash
  4. https://www.businessoffashion.com/reports/news-analysis/the-state-of-fashion-2023-industry-report-bof-mckinsey/
  5. https://www.businessoffashion.com/reports/retail/gen-z-fashion-in-the-age-of-realism-bof-insights-social-media-report/

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 key issues we have identified that present the capacity to jeopardise our project center around two factors: user comfort and communication between our device and the application interface:

Size, Weight & Ergonomic Constraints

As our group is not addressing a particular existing need, but rather attempting to create product that offers a unique luxury experience for consumers, it is important for us to focus on delivering a comfortable and safe product to appeal to our end-user. Thus our largest design hurdle will be working around the small weight and size constraints.

To address this issue from a design standpoint we are looking at potentially adopting an ear cuff design to increase the available surface area we have to work with and to reduce strain on the ear lobe. Additionally, though we had originally considered casting our design in metal, we have researched alternative, more lightweight materials such as biopolymers and resins. Beyond research, throughout the design process we plan to periodically prototype, test (user trials, stress tests etc.) and refine our design to optimise user comfort. 

From a hardware perspective, we also believe that there will be a risk that the overall size of the PCB and battery will exceed our proposed constraints. We plan to  manage the PCB size risk by thinking about the PCB design as early as possible. We need to identify the additional circuit components besides the microcontroller and think about how we can use as least components as possible. Additionally, if the battery we need to use to fulfill the battery life requirement exceeds the required size, we plan to prioritize the size requirement and consider shortening the required battery life.

BLE Communication

Additionally, we anticipate that achieving reliable and fast communication between our application and peripherals will be a major obstacle across the course of our project.  We have planned to use BLE due to its high data transfer rate and high compatibility with smartphones, however there is a potential to have issues getting the BLE to work with a python script.

The BLE risk is managed through developing firmware on the nucleo boards. Nucleo boards are easier to work with than customized PCB. Making the peripheral driver work first on nucleo is an effective way to manage the BLE risk. Additionally, we found a GitHub repo that demonstrates the BLE functionality on STM32WB: https://github.com/vladimir-vakhter/stm32wb55_ble_p2p/blob/main/STM32_WPAN/App/app_ble.c. Consulting the code in this repo when get stuck is also a strategy on managing the BLE risk. Since STM32 firmware is generally finicky, a contingency plan is using another microcontroller that has BLE functionality such as ESP320.

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:

At this point in time, we have not made any significant updates or changes to the design or schedule presented in our proposal. As our project is highly dependent on physical design constraints, we are currently waiting to receive our parts and conduct initial testing before we present a fully fleshed out design.  We aim to finalise our development plans and preliminary designs across hardware, software and industrial design this week to ensure we are fully prepared and streamlined for when our parts arrive

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.