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

This week I primarily focused on Bluetooth integration for our project. This initially involved familiarising myself with the Adafruit feather bluefruit library that enables the microprocessor to utilise BLE functions. I noticed that firmware code that had been developed utilising the bluefruit library was not equipped to handle large streams of data as it was requiring the feather board to operate in command mode as opposed to data mode. I worked with my team members to address this and develop a communication protocol that would allow large amounts of data sent from the mobile application to be parsed effectively and securely. I also looked into some alternate firmware libraries such as circuit python that would allow us to reduce unnecessary complexities and jargon our firmware code.

On the software side of things, this week I worked on developing the ble module using CoreBluetooth. I set up custom protocols for the manager,  peripheral and their respective delegates, as well as a central “Controller” class to control the relationships & communication between these modules.

Unit Tests for Bluetooth Integration:

This week I also started performing unit tests to evaluate the functionality of our bluetooth system. This first involved setting up my iphone in developer mode to enable me to run and test our application outside of the native xcode simulator. I am currently developing our BLE module in a separate project to the rest of the code to allow us to validate everything before it is integrated with the rest of our code. I have created a couple of quick mock views to initiate scanning for nearby peripheral devices, reading/displaying peripheral devices  & their services/characteristics, as well as connecting to and disconnecting from nearby peripherals. Thus far using these mock views within the BLE test module, I have been able to successfully recognise and connect to the Adafruit feather & read from its services. I am working with the rest of my team to develop custom services via GATT (Generic ATTribute Profile), to permit me to more effectively filter through all nearby peripherals during scans and to be able to efficiently extract relevant information from the feather such as battery life.

 

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 am behind from our initial Gantt Schedule, I have made a large amount of progress and adapted my goals for the remainder of the project to ensure we have sufficient work to present on demo day.

 

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

As I have been able to pass tests for BLE recognition & connection, and I have worked with my teammates to realise a communication standard, my next logical step is to work on adapting my existing BLE module to accomodate RX/TX via UART. After this I will work on integrating the BLE module in with my existing code and making some final modifications to the User Interface.

Team Status Report for April 22

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 risks for our project at this point in time are primarily related to integration. In particular, as we are behind with the development of the mobile application, we are concerned about having enough time to fully flesh out and test the iOS Bluetooth Code. Additionally we have had some delays in the production of our PCB board, so we are concerned about having enough time to test everything works.

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.

We have made some simplifications to our overall design by removing some of the more complicated features for pattern design and editing, to focus on getting our subsystems integrated

Madi’s Status Report for April 22

What did you personally accomplish this week on the project?

1 –  Working on Implementing Bluetooth Module

Although I had not fully finished creating the custom design control widgets for the application, this week I switched my focus to working on the code required for BLE communication to prepare for integration over the next couple of weeks. This involved running some tests with apple’s CoreBluetooth code to determine the best way to configure my code, what functions & classes I would need for our project etc. I also started writing the main code module that will contain all the core logic for the bluetooth functions.

2 – Working on outer enclosure

This week I also started making some progress on the design for the casing of our earring. I worked on developing a basic CAD model for a square shaped case with the following constraints -> button to allow the user to turn the device on/off, attachment for a CR2032 battery, compartment to fully enclose the PCB & prevent user access/tampering. As the user will need to replace / charge the coin battery, we have decided to also design an outer decorative casing, separate from the PCB compartment that will attach the device to the ear. This outer casing will contain a hinge and lock system that the user will be able to open to access the battery.

3 – Working on Final presentation

I was assigned to present for our group this week, so I also spent a lot of time preparing the slides.

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

As I was working on the slides this week, I did not make as much progress as possible. I am planning on simplifying the application so I can focus on testing and finalising the core functionalities

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

Next week I hope to have the Bluetooth code working so I can focus on testing and integration.

Madi’s Status Report for April 8

What did you personally accomplish this week on the project?

This week I continued to work on developing the mobile application for our project. Specifically I continued working on fleshing out the front end, focusing on mapping user interactions to data model updates and making custom components and views.

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

I had a couple of issues at the start of the week with getting my database migrations to work without corrupting my code. However I was able to make some good progress by putting in additional hours during the back end of the week. Whilst I am still slightly behind as mentioned in previous status reports, I believe I have been able to catch up over the past couple of weeks. Our group as  a whole has chosen to make some simplifications to our project by just focusing on achieving our MVP.

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

Over the next week I hope to start looking more closely at Core Bluetooth so I can make preparations for integration.

Now that you are entering into the verification and validation phase of your project, provide a comprehensive update on what tests you have you run or are planning to run.  In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements? 

  • Functionality Tests => Across the past couple of weeks I have tested the performance of the mobile application using XCode’s built in simulator. This has enabled me to test the mapping between my constructed view & view models, and the navigation/user flow of the application. As the simulator enables the application to be run on different phone screen sizes (iphone X, iphone 12, iphone 14 etc.), I have also tested the responsiveness of our application design to ensure our product is accessible to a broad demographic of users. Moreover I have created test functions and dummy models to ensure all database operations are working. Over the coming weeks I hope to simulate the application on my phone,.
  • UI/UX Tests => To test the usability of our applications at this point I plan to gain feedback from my teammates. As they have not been involved in the software side of the project, their insights will provide somewhat of an unbiased perspective in regards to the successful and disadvantageous aspects of the current design. Specifically to evaluate our Setup Time Use Case Requirement, I plan to ask them:
    • How easy it is to create a new design?
    • How legible the design/pattern editing controls are?
    • How intuitive are the bluetooth connection controls?
    • How informative is the information on the home-screen?
  • Bluetooth & Integration Tests => To evaluate our Setup time  and Update Speed  user requirements I plan to work with my teammates to test the how effectively we can send information to the LED Matrix.

Madi’s Status Report for April 1

What did you personally accomplish this week on the project?

After reviewing Swift and iOS Development last week, I was able to working on building a foundation for our mobile Application this week. Specifically I worked on defining the Data/Entity models for our CoreData database, as well as the  associated business logic and fetch/store functions. In addition to this I worked on setting up the screen and custom views for our application. This primarily involved blocking out the component/view layouts and sizes and working on navigation controls.

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

As mentioned last week I am slightly behind in term of the schedule initially defined on our Gantt Chart, however I feel as though I am starting to make better progress as I spend more time working with SwiftUI.

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

My plan is to finish getting the most simplified functional front end finished by early next week so I can have it integrated with the Data Layer before Friday. Then I hope to start working on developing the  UI/UX  –> i.e. customising widgets, integrating in the color/typography design system, adding in image & icon assets, refining gestures & user interaction etc.

 

Team Status Report for April 1

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?

As we are slightly behind schedule in terms of both the hardware and mobile application development, currently our primary concerning is having enough time for testing and integration.

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.

We have not made any major changes to our schedule or our design system this week.

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

Although we mentioned having issues with our Hardware design and PCB development in our last status report, we were able to make a breakthrough this week. Particularly we were able to meet with a Professor to work through a draft of our PCB board to fast-track manufacturing a prototype, and we able to successfully program our STMWB to communicate wth an iOS device via BLE. We are hoping this will reduce the time required for firmware development and allow Saniya to swap back over to assisting with iOS development

Team Status Report for March 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?

PCB Development:

Based on discussions with the Professor & TA after receiving our Design Review feedback, we realised there may be more challenges surrounding custom PCB development than we had previously planned for. We had originally planned on using the STMWB Nucleo board we are currently using for testing and development as a point of reference for our PCB design, however we have realised this is not sufficient to ensure seamless integration with our selected peripherals. To address this we have completed additional research on the specs of our STMWB processor and are currently prioritising drafting & manufacturing an initial design so we can start testing.

BLE Connectivity:

Whilst working on initial development & testing STMWB Nucleo board , we have discovered that the integrated BLE module is not always reliable / is more challenging to work with than we initially thought. To address this issue we are looking more in-depthly at documentation & integrating external crystals. As a last resort back-up option we have also looked at replacing our microcontroller with an Adafruit feather.

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 overall changes to the structure of our system, however as previously mentioned we have had to work on updating the schematics proposed in our design review .

Provide an updated schedule if changes have occurred.

As mentioned above, we have slightly moved around our proposed schedule to ensure we have ample time to refine our PCB design.  Our goal is to have a draft of our design as soon as possible to account for time and cost expenditures if several rounds of prototyping are required.

Additionally, during early March all of our group members were preoccupied with external commitments (phD visits, conference, other project due dates etc.) so we did not have much time to progress on our capstone work. Whilst we did initially plan for these shortcomings, we are still slightly more behind than projected and have had to adjust our workload to accomodate this.

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

Saniya has swapped from working in between the software / hardware tasks, to primarily focus on PCB design to assist Shize. As a key part of our project is effectively miniaturising our system whilst balancing other design constraints, our group believes it is vital to direct our time/resources to this aspect of the project.

Madi’s Status Report for March 25

What did you personally accomplish this week on the project?

1 – Focusing on Improving IOS dev skills

As I have started working more on the application I have come across gaps in my knowledge about IOS development, particularly my understanding of the  Swift language (I last used swift before college!!) and the mechanisms of the frameworks itself. At the start of the semester I had hoped that previous experience with Web application and Andriod dev would be enough to learn ios however I decided this week to quickly go through a Udemy Workshop to fill in the gaps in my knowledge. Whilst taking an in-depth course may be time consuming, my previous experience with learning new software/languages has revealed that I tend to save time in the long run by building a solid foundation of knowledge. Specifically, this week I focused on functionalities that will be central to our application like navigation control & communication between view controllers, working with CoreData, interfacing with a user’s camera & photo library (for LCD screen designs) and user gesture controls.

2 – Starting to look at Device Enclosure Design

In addition to my work on the application I have started to generate a few rough sketches of potential ideas for our physical jewellery component. Using exisiting products and conceptual jewellery designs as a reference I designed several potential earring cuffs (wearable would hook around the back/top cartilage of the ear) as well as drop earrings (hardware embedded in a pendant style fixture that would hand from the ear). I have included a couple of examples in the team report.

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

Unfortunately, I am quite behind in terms of my intended progress due to external commitments I had that did not finish until last week, and roadblocks during the application development process. Beginning this week I have been putting in extra hours to try and get back on schedule and will continue to prioritise capstone over the coming weeks. This weekend I am really focusing on  improving my IOS dev skills and believe based on my current progress that I will be in a position to continue working on our project by Monday. Moving forward I plan on setting small incremental goals for software application.

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

By the end of next week I hope to have a functional implementation of all the views planned for the application. I am planning to just focus on getting the layout and basic function of all the UI elements & screens completed before integrating the design system I worked on in previous weeks

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

 

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