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.

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.

Saniya’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 met with Madi and Shize to work through putting our parts together. I worked with the Feather code that Shize put together and added various movement and animation functions. I have also been researching and running tests for using UART with iOS Core Bluetooth in order to help Madi with the app. I worked up a new circuit design for adding an external switch and battery to the earring and received preliminary CAD designs from Madi, which I hope to elaborate on soon.

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?

I hope to finish working with Madi to integrate the BLE functionality with the UI of the app she has already built and complete the design report.

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.

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.