Project Journal for Areej Mirani
=============== Week 15: =================
Summary: -----------------------------------------------------------------
Hours this week: 37 hoursCumulative Semester Hours: 190 hours
Description of this week:
This week, I soldered on the Vpp circuit to the flywire board along with other components being soldered and desoldered as we experimented with the pcbs, created the simulated salt solutions, finalized packaging design in Fusion and prints at Bechtel, figured out the wristband situation at the Knowledge Lab, developed the user interface/experience for the HydraWise app, found multitudes of parts for the pcb boards, sat for hours trying to get the microcontroller to flash, with next steps focused on preparing everything for Spark Challenge after our demo went SO INCREDIBLY WELL I'M SO SO HAPPY!!!
Entry 3: -----------------------------------------------------------------
Date: April 25thStart Time: 8:30 am
Duration: 9 hours
- Figured out how to solder conductivity circuit with PCB
- Soldered on the switch and the heart rate sensor
- Spent a lot of time desoldering components as well for iterative testing and integration
- Nathan taught me how to desolder through holes
- Mainly applicable to heart rate sensor module
- Sat with team to figure out why flashing wasn't working
- Involved hitting reset and boot multiple times
- Lots of reading into output code in terminal of herb's laptop
- Eventually determined we needed to finalize whole circuit so connected PCB with flywire completely
- Somehow flashing issue was fixed with this change
- Headed to Bechtel to get the 0805 led needed to indicate charging
- Went back and forth from the ECE shop trying to find wires and parts needed for the integration
- Final task of project involved fitting everything into the packaging
- Found wires in ECE shop that would make do as bolts to hold the PCB in place
- Taped up the heart rate sensor to the bottom face of the packaging
- Taped up the conductivity sensor to the top face of the packaging
- Battery was flush with the heart rate sensor, and the flywire conductivity circuit fit under the PCB
- USB-C port was aligned correctly and appropriately
- Wristband was looped through the holes and velcro was attached to the wristband to make it attach.
- However, the packaging still wasn't closing because the header pins on the heart rate sensor were too big
- Gustavo helped me desolder the current headers and put on angled headers thirty minutes before our demo with the teaching staff
- The original wires were threaded and thus we needed to break everything off and reattach new headers
- After this, we headed back to our station and made sure we had everything prepped for final demo
- FINAL DEMO WAS SO HYPE EVERYTHING WORKED!!
- Managed to get all five psdrs checked off
- Also got 0.5% extra credit for stretch!!!
- Next steps involve fixing the UI for the app and making all presentation materials for spark and final project archive.
Relevant Media See Dr. Walter's camera roll!
Entry 2: -----------------------------------------------------------------
Date: April 24thStart Time: 10:00 am
Duration: 15 hours
- Printed Packaging at Bechtel
- Used new Bambu P1S printer - super fast only took like two hours to finish
- Meantime lasercut some logos for the team
- Headed to Knowledge lab to find wristband solution since fabrics lab at Bechtel was closed
- Found some velcro and a wristband that would work
- Used the velcro to attach the wristband to the packaging
- The velcro was temporary adhesive that would suit our prototyping purposes
- Other type of velcro was sewed on which would take more time than it would be worth and would be harder to undo to accomodate changes
- Created new salt solutions based on concentration measurements I determined.
- Based on papers I read and cross-checked with Herb
- Used same materials to create the solutions:
- Salt (Used Walmart Epson Salt)
- Distilled water
- Beakers
- Scale
- Aluminum Foil
- Paper Cups
- Methods:
- Measured out 1 L of distilled water
- Measured out 0.584 g, 1.753 g, and 3.506 g of salt using scale
- Mixed the salt into the water until dissolved
- 0.584 g/L - 1 L water; 0.584 g salt
- 1.753 g/L - 1 L water; 1.753 g salt
- 3.506 g/L - 1 L water; 3.506 g salt
- Placed the solution in a paper cup
- Created lookup table for the conductivity
- Used the freshly made salt solutions
- Measured the conductivity of each solution as it was placed on the conductivity sensor
- Gathered more data from the app after translation was done:
- 0.584 g/L - 1.165 V, 1.156 V, 1.166 V, 1.164 V
- 1.753 g/L - 1.326 V, 1.23 V, 1.21 V, 1.19 V
- 3.506 g/L - 1.395 V, 1.325 V, 1.266 V
- Made a line of best fit with desmos and averaging out the above data points.
- Wrote logic for app recommendations in if-else statements based on thresholds determined by line of best fit.
- Soldered on Vpp circuit to flywire conductivity circuit
- Headed to ECE shop to make sure with the TAs that everything that was soldered looked good and they improved some of the soldering
- Spent lots of time working with team to figure out why the microcontroller wasn't flashing properly.
- Asked Xiang to resolder the microcontroller chip multiple times in case the issue was with the hardware. >
- Still had flashing issues after Xiang helped out.
- Shivam came by and suggested it may be a common ground issue but that would require finding every little ground in the PCB and everything to fix the issue which would've taken more time than it was worth.
- Concluded with thinking it may be a floating pin issue. Will try again tomorrow to figure out which GPIO may be floating.
- Next steps involve continuing to debug the microcontroller flashing issue so we can test out the recommendation algorithm in real life and actually start fitting everything into the packaging.
- Updated Packaging:
- Changed height from 88 mm to 95 mm
- Changed wristband opening from 8 mm to 10 mm
- Repositioned clasps to open and close the package
- Repositioned USB-C opening to align with the pcb
- Began process to create lookup table for the conductivity
- Used the salt solutions we made last week
- Measured the conductivity of each solution as it was placed on the conductivity sensor
- Baseline: 1.1 V without ESP chip, 1.3940 V from AD2
- Started extensive research to determine where thresholds come from for the lookup table
- Based on current iteration of James's code that he sent me, I started cleaning up the user interface of the app
- Based on tutorials and stackoverflows that I lost the links of, I figured out the hex codes and syntax to mess with alignment and aesthetics of information
- Figured out how to add logo to the homeView, make the heart rate pulse and made it cute
- Made sure all these changes worked in the preview version of XCode
- Next steps involve figuring out how to use salt conductivity data to make our lookup table in the app correlate with hydration recommendations, and also print the packaging, and also integrate my UI changes with the actual XCode app.
- Hydration Status, Fluid Intake, Sweat Rate, and Sweat Sodium Concentration in Recreational Tropical Native Runners
- Sweating Rate and Sweat Sodium Concentration in Athletes: A Review of Methodology and Intra/Interindividual Variability
- Sodium ion concentration vs. sweat rate relationship in humans
- Went in to try to find protoboards for flywiring.
- Started new print at Bechtel.
- Jonathan came in and helped me figure out the conductivity circuit flywiring.
- Passed along drawing we made to team since I needed to host events for the rest of the weekend.
- Still need to figure out how to move the conductivity sensor to fit with the PCB.
- Next steps involve hopefully coming back to a soldered flywire circuit and testing with the conductivity sensor. I also need to recreate the salt solutions and fix the UI on the mobile app.
- Jonathan came in and helped me figure out the conductivity circuit flywiring.
- Still need to figure out how to move the conductivity sensor to fit with the PCB.
- Next steps involve figuring out how to do the flywire circuit and testing with the conductivity sensor. I also need to recreate the salt solutions and fix the UI on the mobile app.
- Headed to Mechanical Engineering building to pick up print.
- Had Matt clean out the print from the supports.
- Worked with team to determine if components would fit.
- Determined new changes to the packaging listed below.
- Learned we needed to conduct conductivity checks on PCB board, fix the BLE configuration on the software, and fix the I2C problem.
- Headed to Whetherill to make salt solutions with my Chemistry major friend.
- Started figuring out how to fix conductivity circuit with Jonathan's help.
- Next steps involve finalizing packaging CAD and testing the salt solutions on the conductivity sensor.
- Added heart rate sensor cutout
- Added more space for the battery
- Added more space for the PCB
- Added more space for the wires
- Added more space in the wristband hole cutouts, from 2 mm thickness to 4 mm thickness, for the wristband to fit in the packaging
- Changed length from 88 mm to 90 mm so antennae on ESP32 doesn't bulge up.
- Moved mounting holes towards the switch side.
- Moved the usb-c charging port to the conductivity sensor half of the packaging.
- We need to conduct continuity checks on the PCB board to ensure it is working properly.
- We need to fix the BLE configuration on the software side.
- We need to fix the I2C problem with the sensors. This involves figuring out the general GPIO in making it high and low, then going back and testing as the actual I2C.
- We need to make the conductivity circuit.
- Salt (Used Walmart Epson Salt)
- Distilled water
- Beakers
- Scale
- Aluminum Foil
- Plastic Cups
- 50 mL water; 0.25 g salt
- 50 mL water; 0.5 g salt
- 50 mL water; 0.75 g salt
- Headed to Bechtel to fix CAD model and print.
- Ran into issues with aligning mounting holes with PCB.
- Another staff member said the hinge isn't feasible to print in place.
- Had Johnny help me fix the mounting hole supports.
- Learned about different waterproofing alternatives.
- Headed downstairs to consult about wristband materials and learned about what the fabrics lab at Bechtel has.
- Started print for packaging at the ME 3d print lab with my friend.
- Next steps involve finishing fixes on CAD model and starting preparation for the senior design demo.
- Fixed conductivity sensor code with microcontroller and low pass / high pass filter system.
- 1.9 V offset in wavegen to account for ESP32 voltage.
- Flash microcontroller commands are similar to BLE process but must be in root directory.
- After meddling with filters, reset to .47 uF and 2.2 uF to get ideal wave.
- Generated baseline values with distilled water from lab.
- Next steps involve creating salt water to find dehydration threshold. Also need to consult with Jonathan about wave.
- source ~/esp/esp-idf/export.sh
- idf.py build
- idf.py flash monitor
- Continued to make the hinge feature.
- Went to Bechtel to get help in placing mounts in the opening part of the piece and schedule a print time.
- Added latches to the print and debugged why there were random mystery bodies with Johnny's help.
- Next steps involve starting my print on Monday and picking it up Tuesday hopefully.
- Began attempting to make the hinge feature.
- Consulted with Johnny about how to do this in the design and learned about print-in-place hinges.
- Followed YouTube video in creating hinge.
- Also went to lab and discovered we switched to a bigger battery so changed dimensions to accomodate for this change. New dimensions:
- Length: 88 mm
- Width: 56 mm
- Height: 25 mm
- Next steps involve continuing to iterate on packaging by making the hinge open and heading to Bechtel to start the print.
- Worked on A11 - Ethical and Environmental Concerns Report.
- Learned all the ways that HydraWise could harm the environment and how to mitigate these situations.
- Learned all the ways that HydraWise could be unethical to users and brainstormed ways to mitigate these items.
- Next steps involve verifying all ideas and thoughts with reputable sources and adding citations.
- Modified packaging based on team and teaching staff feedback.
- Learned that pcb won't be directly centered and we need mounting holes to ensure the pcb is stable in the packaging.
- Added mounting holes in middle of packaging after sketching out its dimensions.
- Team agrees to attach the pcb with bolts and washers as opposed to having grooves in the holes since the 3D print may not spit these out in the cleanest way (might be excess filament).
- Next steps involve continuing to iterate on packaging by fixing mounting situation and adding hinge feature so packaging can open and close to put the pcb and other components inside, then be able to latch closed.
- Visited Bechtel for consultation and editing design for final housing.
- Learned about fabrics lab to figure out wristband situation.
- Edited new housing design to match the requirements Matt and I talked about yesterday.
- New Dimensions:
- Length: 51 mm
- Width: 25 mm
- Height: 88 mm
- Next steps involve making the lid open and close and figure out where to put the wristband opening.
- Discussed placement of components with Matt.
- Learned where usb-c receptacle and power switch would be on housing.
- Added slots for power switch and usb-c receptacle to housing design.
- Next steps involve going to Bechtel to consult with people about where to put wristband straps and where to go to make the wristband attachment.
- Met at lab with Herb and James to finalize button implementation.
- Fixed button after debugging by changing the cb variable from read to write in the button characteristic.
- Fixed hydration readings by changing the UUIDs from custom to assigned numbers in BLE's database.
- Got readings from hydration dummy data of 1.23%.
- Fixed heart rate to continue reading alongside hydration measurements so the two can be simulataneously updated in the mobile app display.
- Learned to use resources to debug and implement changes.
- Next steps involve integrating this dummy implementation of bluetooth with our actual microcontroller code so it takes in readings from the actual sensor modules and displays them on app.
- Created new draft for HydraWise packaging.
- Learned we need new placement ideas for strap situation and to finalize materials.
- Need to figure out how to mount PCB on housing securely.
- Ran into issues placing everything in right spot relative to each other.
- Next steps involve going into lab to take measurements of different components heights from PCB board like the headers and pins along with MAX30101, battery, and conductivity sensor placements.
- Established button connection from the iOS mobile app to the ESPIDF microcontroller.
- Learned that the code had duplicate UUIDs.
- Cleaned up code from duplicate UUIDs and generated an alert state for the button characteristic and service.
- Ran into issues with button characteristic and service not being seen in iOS side. Hydration characteristic also not being seen.
- Next steps involve making sure the button GATT profile and hydration characteristic is actually seen in the nRF Connect app and the iOS terminal.
- PCB arrived today!! Grabbed currently printed mechanical prototypes and saw that the PCB's fit!!!.
- Learned that the shell thickness is a little too think in the TPU housing so that needs to be adjusted size-wise. The Elastic Resin works a lot better in fitting the PCB.
- Finally got James at the lab to work on fixing the XCode for our actual HydraWise app.
- Ran into issues in debugging trying to find HydraWise-BLE-Server on the scanner.
- Finally fixed issue after lots of research.
- Next steps involve fixing the button from the iOS app side to talk to the BLE Server code on my side.
- NordicSemiconductor IOS-nRF-Toolbox
- Best Practices for Interacting with a Remote Peripheral Device - Apple Developer
- Peripheral Example Code from Apple
- Run Your App on Your iPhone or Simulator
- Determined data types for conductivity sensor and heart rate sensor.
- Learned what would be transmitted from the conductivity and MAX30101 to the app.
- Began drafting code to accomodate for these insights with help from chatGPT.
- Next steps involve testing this code with James after he fixes our actual app on XCode.
- Debugged reason behind extra fields in nRFConnect output with the "No Contact Supported" and "27756 kJ" fields.
- Determined changes needed to housing component based on teaching staff feedback.
- Learned how nRFConnect data fields are configured and ways to configure my own heart rate data fields.
- Learned how to solder with Brandon's team.
- Next steps involve figuring out integration with the current BLE setup and the iOS app.
- Reddit debugging
- GitHub example of Heart Rate BLE
- ESP32 | BLE Client (Heart Rate Monitor with OLED and MQTT)
- GitHub with Heart Rate on OLED display to fix display configuration
- Cleaned up UUIDs for services and characteristics in BLE configuration.
- Sent data via BLE to app nrfConnect.
- Successfully returns "101 bpm, Contact Not Supported, 27756 kJ" as data in nRFConnect app, but this data is wrong since I sent 75 bpm.
- Attempted to set up a random heartbeat generator with esp_random but I learned that the data read still spits out garbage values.
- Next steps involve figuring out what the extra information is.
- Created characteristics for heart rate, conductivity, and battery management modules.
- Learned about how the characteristics interact with services and the different UUID profiles.
- Generated UUIDs for all the new characteristics.
- Next steps involve figuring out how to connect this initial BLE setup with the iOS mobile app.
- Custom UUID generator
- ESP32 BLE Data Exchange Tutorial with ESP-IDF: Menuconfig and Code Implementation Explained
- UUID and characteristics rundown by Nordic
- Began directly prototyping bluetooth with Espressif and the ESP32 by rewriting code and flashing with ESP32.
- Learned about the menuconfig to switch to the Nimble Bluetooth framework and debug all dependency/library errors.
- Successfully flashed the ESP32 microcontroller with rough skeleton code and verified connectivity with nRF connect bluetooth scanner app.
- Next steps involve creating characteristic profiles for heart rate, conductivity, and battery management modules.
- source ~/esp/esp-idf/export.sh
- idf.py build
- idf.py flash monitor
- Install esp-idf for ESP32
- ESP32 BLE Data Exchange Tutorial with ESP-IDF: Menuconfig and Code Implementation Explained
- Began preliminary research for directly prototyping bluetooth with Espressif and the ESP32.
- Learned about the modules and programs I need to install to get the connections established.
- Determined the different parts that go into characteristics and services.
- Next steps involve taking the initial code I started and working to flash it onto the ESP32 chip in lab.
- Started prototyping with Arduino and ESP32 using the YouTube.
- Learned how to set up Arduino IDE with phone and ESP32.
- Ran into some trouble getting the software to recognize ESP32 and Arduino as Bluetooth devices.
- Researched how to work through the connectivity issues and solved them.
- Next steps involve working on completing the tutorial by MoThunderz.
- Began looking into the Bluetooth Interface Component of HydraWise.
- Learned about how to begin setting up the BLE connection from ESP32 and the phone from YouTube videos.
- Decided to go one level down and start prototyping with Arduino instead.
- Next steps involve flashing code to the microcontrollers to test connectivity and the interface.
- ESP32 BLE Data Exchange Tutorial with ESP-IDF: MenuConfig and Code
- BLE with ESP32 tutorial part 1: The Server
- Shifted gears to the Midterm Design Review Template that Dr. Walter provided in the Brightspace assignment module.
- Looked into and added the rest of the major component modules.
- Learned about all the different alternatives that could go into the microcontroller, sensors, battery, buck-boost converter.
- Figured out we needed to color code and rework the block diagram so spent time with Herb to figure that out.
- Looked up datasheets to ensure I was getting the right specifications for each of the parts and the alternative components.
- Next steps involve researching other alternatives for the next couple components tomorrow.
- tps63001
- bq21040
- ESP32-WROOM-32 for Bus Widths
- Understanding I2C Bus Widths
- BLE Interface Bus Widths
- A5 - Component Analysis
- Updated Slide Deck
- Continued working on the slide deck.
- Looked into and added Battery Selection modules.
- Learned that the battery we are actually using wasn't the one that I had originally documented so I switched gears to the DTP502535.
- Looked up datasheets to ensure I was getting the right specifications for each of the parts and the alternative components.
- Next steps involve researching alternatives for the next couple components tomorrow and enhancing the tables with current specifications.
- Also need to refine the functional block diagram for our project by adding a color code key and the power module.
- Created slide deck template for Midterm Senior Design Review.
- Referenced previous documents to find major components and their listed alternatives.
- Learned that a few components were missing alternatives.
- Added everything already present in the component analysis document.
- Next steps involve researching other alternatives for the next couple components tomorrow.
- Visited Bechtel to pick up my TPU print from the X7 printer.
- Brainstormed with Johnny about how to improve the design through thoughts like concavity, power button design, and a hinge for the bottom.
- Learned how to make the design concave and fix the power button.
- At lab, discussed mechanical properties with team and learned how Elastic50A may not be great for apple watch band attachement.
- Shifted gears to prototyping the battery charger by looking up the datasheet and communication protocols.
- Learned that GPIO is used for the battery IC along with status pins to determine charge levels.
- Set up initial configuration and pushed code to GitHub.
- Next steps involve shifting gears from mechanical design to prototyping the battery charger by testing code.
- Visited Bechtel to Form Cure my Elastic50A resin print from the Form3B+ machine series.
- Learned the proper settings for curing Elastic50A from timings to material handling.
- Learned there was another printing error for the TPU version so the staff restarted the print for me.
- Next steps involve heading to Bechtel tomorrow to pick up my prints.
- Visited Bechtel to remove my Elastic50A resin print from the Form3B+ printer.
- Learned the process of maintaining the form of the print and why we need to cure the Elastic50A material before it is ready to use.
- Scheduled Form Cure to cure the material for Tuesday.
- Scheduled TPU print.
- Next steps involve heading to Bechtel tomorrow to start to cure the printed model.
- At Bechtel, showed up for my Form Cure appointment.
- Found Johnny!! Unfortunately my print still had 3 hours 43 minutes remaining.
- Discussed materials with Johnny some more.
- Advised to return tomorrow at noon for the Form Cure appointment.
- Next steps involve heading to Bechtel tomorrow to start to cure the printed model and continuing work on A8.
- At Bechtel, showed up for my Form Cure appointment.
- Distraught to find my model was never printed! :((
- Learned that there was an error in printing and staff had to cancel.
- Since they didn't have my model, they couldn't restart it yesterday.
- Lily generously offered to start my model again after she took hers out at 8:30 pm that night.
- Meanwhile, I developed flowcharts for A8 by understanding Herb and James's code.
- Next steps involve heading to Bechtel tomorrow to start to cure the printed model and continuing work on A8.
- At Bechtel, sliced second iteration of HydraWise for Form3B+ printer with Elastic 50 using PreForm software.
- Set up Form3B+ by taking out old filament and adding Elastic50.
- Started the printing process on the printer.
- Next steps involve heading to Bechtel tomorrow to start the cure of the printed model.
- Reiterated HydraWise housing component on Fusion.
- Added place for e-ink display.
- Moved around sensor openings based on feedback from James and Matt.
- James added a USB-C port for charging but it didn't translate to my version so I recreated it.
- Went into Bechtel to try to print it. Told to return tomorrow when printer is free.
- Created new proposal with Lily and set up a time for printing.
- Next steps involve heading to Bechtel tomorrow to start printing.
- Length: 50 mm
- Width: 26.09 mm
- Height: 80 mm
- Thickness: 3 mm
- Reiterated HydraWise housing component on Fusion.
- Continued discussion with E-Ink team about parts and their circuit setup.
- Received a couple links and pointers of how to integrate a display for HydraWise.
- Results of discussion in links below.
- Next steps involve printing iteration 2 at Bechtel and beginning to set up the display module.
- Length: 50 mm
- Width: 26.01 mm
- Height: 80 mm
- Visited Bechtel to pick up printed prototype from TPU machine.
- Removed supports from printed prototype at Bechtel using pliers.
- Received feedback from Bechtel expert about how to improve design.
- Received feedback on project from Johnathan and Professor Walter.
- Went back and forth with teaching staff about the possibility of an LCD display .
- Continued discussion with team about adding an LCD display and how it would affect our project.
- Reached out to E-Ink team members about how their LCD display works.
- Results of discussion in image below, where Matt and I brainstormed what would go into the LCD display.
- Next steps involve iterating on my prototype to reflect Bechtel expert's and team discussion insights.
- Continued relearning Autodesk Fusion.
- Visited lab to get exact measurements of esp-32 dev board, sensors and parts.
- Enhanced prototype on CAD software to suit the measurements of our parts.
- Visit Bechtel to make final changes to CAD file with experts at printing station.
- Filed a proposal and began the 13-hour print for the first iteration of my design.
- Results in orbital view below.
- Next steps involve returning to lab to pick up my design from the TPU machine.
- Software for slicing Fusion prototype
- Material Used for Prototype Printing: thermoplastic-polyurethanes-tpu
- Continued relearning Autodesk Fusion.
- Enhanced prototype on CAD software through following apple watch tutorial.
- Visit Bechtel to see Johnny at TPU printing center.
- Results in orbital view below.
- Next steps involve developing a new model with the dimensions chatgpt has given me.
- Develop only the compartment that will hold our sensors, pcb, and other various devices.
- Order a whole bunch of apple watch wristbands - $12 for 16 pack, link in relevant media.
- Use extrusion and shell and similar tools in Fusion to make the model fit our things.
- Come back at 2:30 pm tomorrow to get it printed for Show Me a Thing on Wednesday's lab!
- Continued relearning Autodesk Fusion.
- Continued development of wristband design based on initial sketch using tools in Autodesk Fusion and tutorial from YouTube.
- Used chatgpt to get total dimensions of packaging of hardware components.
- Results in orbital view below.
- Next steps involve iterating on this model by adding HydraWise-specific dimensions.
- Began relearning Autodesk Fusion.
- Created initial wristband design based on sketch using tools in Autodesk Fusion.
- Results in image below.
- Next steps involve iterating on this model.
- Visited Knowledge Lab and Bechtel Innovation Center.
- Browsed materials and parts with help from experts.
- Discussed prototyping HydraWise.
- Determined that TPU/flexible resin from Bechtel is ideal.
- Next steps are creating CAD prototype in Fusion.
- Continued researching microcontrollers via internet.
- Added findings to A5.
- Chose ESP32-WROOM-32E for our project.
- Next steps involve ordering ESP32-WROOM-32E.
- Received feedback: func. desc. & hardware PSDRs.
- Battery management system ideation w/ IC and a coulumb counter algorithm.
- Mechanical Design: detailed sketch w/ James on my iPad.
- Jonathan advice: materials for mechanical implementation.
- Next steps involve finalizing the mechanical design and exploring waterproofing materials.
- Microcontroller research for A5: Component Analysis
- Roadtrip: finalized flowchart and state machine diagram sketches.
- Discussed functionality with team members to reduce overall flow to three concise diagrams
- Next steps involve implementing the logic from the final flowcharts we create.
- Contributes to Software Overview.
- Espressif ESP32 Bluetooth Architecture
- An Intelligent Sensor Based System for Real Time Heart Rate Monitoring (HRM)
- ManLab: created initial state machine diagram sketch.
- I talked to groups who had created their state diagrams and learned they had one for each specific functionality (bluetooth, light sensing, motion sensing, APIs, etc.)
- Began exploring Bluetooth flow charts.
- Revised initial state diagram sketch on the whiteboard to the intermediate version attached in the image.
- Next steps involve developing the final state diagram and flow charts for the app and microcontroller including Bluetooth research I developed.
- Contributes to Software Overview.
- Met at the lab before lecture to make progress on the Software Development Report.
- Split tasks up into researching data types, determining app user interfaces, determining Microcontroller user interfaces, and determining state diagram logic flow.
- I began researching methods of developing state diagrams for our project using ChatGPT to brainstorm sources to learn state machine diagrams and software flow charts.
- I devised three main categories: the microcontroller's data flow process, the app flow process, and a mini flow diagram for the bluetooth functionality. I also considered adding in an LED aspect to our band.
- I visited WALC's knowledge lab to gather a sense of what materials we could use to develop our wearable hydration sensor. I met with a few people and discussed the parts available that could fit electronic parts.
- Next steps involve relearning all the aspects of flow charts and state machine diagrams.
- Lucidchart: UML State Machine Diagram
- GeeksforGeeks: UML State Diagrams
- Visual Paradigm: Flowchart Tutorial
- GeeksforGeeks: Introduction to Flowcharts
- Received feedback from the teaching assistant, Professor Walter, and Shivam during week two ManLab.
- Advised to make the PSDRs more concise.
- Explored methods of flowchart and state machine diagram development for the Software Doc
- Brainstormed user inputs for optimizing hardware such as low power mode and high power mode.
- Next Steps: Refine PSDRs, explore low-power and high-power system modes, create flowcharts and diagrams for Software Overview
- Met on a call to work on and finalize A2, focusing on section four as a team.
- Researched sports science and sweat analysis to build a user story for the HydraWise device.
- Investigated the physiological significance of electrolytes (sodium, potassium, chloride) in hydration and athletic performance.
- Explored the Nernst equation to understand how ion-selective electrodes measure electrolyte concentrations in sweat.
- Bridged the gap between sweat science and practical applications, focusing on real-time hydration monitoring for athletes.
- Conceptualized how to present scientific insights to users through intuitive feedback, such as hydration scores and recommendations.
- Generated ideas for integrating hydration awareness and actionable science into the device's user story.
- Met at the lab before lecture four to work on A2 as a team.
- Completed the user needs section and began researching the sports science aspects of the project.
- Added bullet points summarizing the group's discussions as we reviewed the document for the first time.
- Searched for parts collaboratively, with a focus on finding a suitable electrolyte sensor.
- Explored iOS application development by consulting a friend and reviewing basic documentation.
- Conducted competitor analysis to understand their approaches, noting that hDrop uses reverse engineering to detect a lack of electrolytes rather than capturing their levels.
- Updated the software PSDRs with additional details based on feedback received during ManLab.
- Received feedback from the teaching assistant, Professor Walter, and Shivam during week two ManLab.
- Advised to make the PSDRs more technical and measurable, focusing on the HOW's of the project.
- Improved the PSDRs by mapping out ideas for hardware and software PSDRs on the whiteboard.
- Created a To-Do list in bullet points for the lab session and weekly deliverables.
- Brainstormed functional aspects of the project, identifying research needs for power, sensors, and the microcontroller.
- Set a meeting time for the following day to continue researching and working on weekly deliverables.
- Created a shared OneDrive storage space for project documents on January 17th and shared access with team members.
- Developed a detailed software document outlining the tech stack for both basic and advanced system setups.
- Included frameworks, libraries, and cloud solutions for frontend, backend, sensor integration, and analytics in the document.
- Designed wireframes and mockups for the iOS app, highlighting features such as a dashboard, insights, notifications, and device pairing.
- Created a cohesive design document with potential logos, color schemes, and gradient suggestions for the HydraWise branding.
- Finalized ideas for the app’s core functionality and user interface to ensure an intuitive and user-friendly experience.
- Met as a team to work on A1: Final Project Proposal.
- Completed sections of A1, including the functional description and initial Project Specific Design Requirements (PSDRs).
- Assigned team roles, responsibilities, and homework tasks for the project.
- Brainstormed parts required for the project budget and discussed their feasibility.
- Collaborated on each section of the document, adding input as a team to ensure completeness.
- Finished A1 and wrapped up the session with additional brainstorming for next steps.
- Met at BHEE 007 for the first lab session and started at station 13.
- Attended a briefing with Professor Walter on course logistics and lab procedures.
- Participated in lab tours and TA introductions, learning about available resources such as ESP32 microcontrollers and heart rate monitors.
- Took team photos after completing the lab tour and materials overview.
- Introduced the project to teaching assistants and signed FERPA waivers.
- Set up the project website by mapping the drive and adding initial team and project information to .html files.
- Concluded the session by brainstorming project specifications as a team.
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: April 23stStart Time: 10 am
Duration: 13 hours
Relevant Media
=============== Week 14: =================
Summary: -----------------------------------------------------------------
Hours this week: 18 hoursCumulative Semester Hours: 153 hours
Description of this week:
This week, I tuned the conductivity sensor filters to attempt to achieve a cleaner waveform, practiced soldering, finalized fly-wire design, updated packaging design, and learned filtering principles, with next steps focused on testing conductivity data, finalizing packaging, and preparing the final presentation materials.
Entry 6: -----------------------------------------------------------------
Date: April 18thStart Time: 10 am - 11:30 am, 2:30 pm - 4:00 pm
Duration: 3 hours
Relevant Media
Entry 5: -----------------------------------------------------------------
Date: April 17thStart Time: 5:30 pm
Duration: 2 hours
Relevant Media
Entry 3: -----------------------------------------------------------------
Date: April 16thStart Time: 12:30 pm
Duration: 5 hours
In ManLab, we learned as a team how to approach a few things. These are listed below:
The last-ish thing I worked on today was making salt solutions with my chemistry major friend. I headed to Whetherill and she helped me find all the materials. In total, we needed:
Relevant Media
Entry 2: -----------------------------------------------------------------
Date: April 15thStart Time: 3:30 pm
Duration: 4 hours
Before leaving Bechtel, I went down to the fabrics lab to explore what they have. Turns out they had velcro and waterproof tent-like material that we could use. The materials are pictured below. I will return when we reach the point of final product assembly.
Later on, I ended up having my mechanical engineering friend review my design. He verified the print in place would work and had me tweak a few things in the model. We began the print around 7 pm at the mechanical engineering place. Next steps involve picking up the design tomorrow and preparing for the senior design demo.
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: April 13thStart Time: 3:30 pm
Duration: 4 hours
Relevant Media
=============== Week 13: =================
Summary: -----------------------------------------------------------------
Hours this week: 21 hoursCumulative Semester Hours: 135 hours
Description of this week:
This week, I finished the Bluetooth implementation with ESP32 microcontroller's ESPIDF and the iOS mobile app, followed by intensive work on the final housing design which involved learning how to create a print-in-place hinge and next steps involve integration with the actual pcb along with printing the housing component at Bechtel.
Entry 9: -----------------------------------------------------------------
Date: April 11thStart Time: 9:00 pm
Duration: 3 hours
Relevant Media
Entry 8: -----------------------------------------------------------------
Date: April 10thStart Time: 9:00 pm
Duration: 2 hours
Relevant Media
Entry 7: -----------------------------------------------------------------
Date: April 9thStart Time: 10:00 pm
Duration: 3 hours
Relevant Media
Entry 6: -----------------------------------------------------------------
Date: April 9thStart Time: 12:30 pm
Duration: 4 hours
Relevant Media
Entry 5: -----------------------------------------------------------------
Date: April 8thStart Time: 2:30 pm
Duration: 2 hours
Relevant Media
Entry 4: -----------------------------------------------------------------
Date: April 7thStart Time: 4:00 pm
Duration: 1 hour
Relevant Media
-
-->
Entry 3: -----------------------------------------------------------------
Date: April 6thStart Time: 1:30 pm
Duration: 2 hours
Relevant Media
Entry 2: -----------------------------------------------------------------
Date: April 5thStart Time: 7:00 pm
Duration: 1 hour
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: April 5thStart Time: 1:30 pm
Duration: 3 hours
After cleaning up the code, I restructured the BLE profile to include a clearly defined button characteristic within its own service, and I programmed the ESP32 to trigger an alert state upon receiving a write command to this characteristic. However, I encountered a new issue where neither the button characteristic nor the hydration characteristic appeared on the iOS app or in the nRF Connect app. This suggested that either the services were not being properly advertised or the characteristics were not being registered correctly within the BLE stack. To resolve this, the next steps involve carefully verifying the registration and advertising of both characteristics in the ESP-IDF GATT profile and ensuring that the iOS app is configured to scan for and subscribe to these UUIDs. I'll use both nRF Connect and the XCode Bluetooth terminal logs to confirm visibility and debug characteristic recognition from the mobile side. I think the issues lie in making sure that the UUID's are the same on both the app side and the ESP microcontroller side. Next steps involve debugging this aspect of the BLE integration.
Relevant Media
=============== Week 12: =================
Summary: -----------------------------------------------------------------
Hours this week: 10 hoursCumulative Semester Hours: 114 hours
Description of this week:
This week, I continued coding the actual implementation of BLE with Espressif IDE and ESP32, which involved learning about the different data types in the BLE data structures for heart rate and conductivity whilst transmitting these data structures to Bluetooth scanner apps, and next steps involve working more with James to finish the XCode app and BLE Server integration to accommodate for user input and the actual data being received from the sensor components.
Entry 4: -----------------------------------------------------------------
Date: April 4thStart Time: 2:00 pm
Duration: 3 hours
The next task of the day was to work on the software with James to finally begin fixing our actual iOS app in XCode. We aimed to integrate BLE communication, specifically ensuring the app could detect and connect to the ESP32's BLE. I had the device name be broadcasted as "HydraWise-BLE-Server". Initially, we faced issues getting the app to scan and detect the BLE server. After significant troubleshooting with Apple CoreBluetooth documentation, installing LightBlue, and help from ChatGPT, we resolved the scanning issue and the app could connect to the ESP32 in its scanner in XCode. To fix this I also researched BLE communication patterns using sources like the Nordic iOS nRF Toolbox GitHub repository, which helped me understand how to configure CoreBluetooth scanning and make it work to satisfy the iOS requirements for bluetooth. It was a huge win when the device finally connected basically instantly after flashing to the XCode HydraWise mobile app.
Another aspect of the software work was working on the transfer from XCode preview to actually putting the app on James's or my iPhone. We found a video to help us with this process. After troubleshooting with Developer permissions and password things, we finally got the app to be hosted on our iPhone. This gives us a great headstart for the actual demo that will be coming up in like two weeks.
The next steps are to link the BLE connection to a user-triggered button in the app. Currently nRF Connect and LightBlue have buttons that send the notifications so nRF Connect can read data received from the client to the ESP32 server. We need to figure out how to implement this in code for our HydraWise app on XCode.
Relevant Media
Entry 3: -----------------------------------------------------------------
Date: April 3rdStart Time: 4:30 pm
Duration: 1 hour
Relevant Media
Entry 2: -----------------------------------------------------------------
Date: April 2ndStart Time: 12:00 pm
Duration: 3 hours
Beyond the BLE debugging, I learned from the teaching staff how to improve the housing component and mechanical design. I need to get the actual measurements of the PCB. James was saying it would be like four inches long, which is basically three quarters of my forearm. Shivam was proposing multiple straps to attach the component to the wrist. Dr. Walter talked about the glove design again and using fabric to make the design more comfortable for users. I'll need to do a lot of brainstorming and back and forth with Bechtel to accomodate these new changes.
The last fun item of the day was learning how to solder. I ran into Brandon and he was learning how to solder. I joined him at the desk and we learned from the TA how to apply flux, the tiniest bit of solder, and the process of cleaning the hot part before applying it to the chip that we solder. I practiced on a random chip and motherboard to figure out what bridging was and how to align the pins and stuff. Gustavo helped me a little in learning what bridges are and stuff. This knowledge will directly support future assembly of our heart rate and hydration sensor modules.
The next steps involve reworking the BLE heart rate packet structure to strip out unintentional data fields and begin testing integration with the iOS app for real-time display of heart rate values. I need to meet with James to get the XCode working so that app works with the BLE instead of spending time trying to configure the fields in the nRF Connect.
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: March 30thStart Time: 7:30 pm
Duration: 3 hours
Next, I figured out how to send the 75 bpm reading. The line of code that corresponds to setting values is
uint8_t hr_data[2] = { 0x00, 75 }; // Heart rate measurement (75 bpm)
and can be modified by changing the length and everything. I also learned that the esp_random function is not working as expected. I was trying to set up a random heartbeat generator with esp_random but I learned that the data read still spits out garbage values. I also learned that the data read is not in the correct format. I was able to send the data via BLE to the app nrfConnect. I successfully returned "101 bpm, Contact Not Supported, 27756 kJ" as data in the nRFConnect app, but this data is wrong since I sent 75 bpm. I don't know where the extra information like the Contact Not Supported and the kJ stuff is coming from.
Then I attempted to see if the value would change as readings got sent. I attempted this by asking chat, and it told me to start using the esp_random library and a command like
uint8_t random_bpm = (esp_random() % 40) + 60; // random between 60 and 99 uint8_t hr_data[] = { 0x00, random_bpm }; // 0x00 = simple 8-bit HR format
But this didn't work. I think the issue is that the esp_random function is not working as expected. I also learned that the data read is not in the correct format. I need to figure out what the extra information is. The next steps involve figuring out what the extra information is and how to get the esp_random function to work correctly, potentially.
Relevant Media
=============== Week 11: =================
Summary: -----------------------------------------------------------------
Hours this week: 10 hoursCumulative Semester Hours: 104 hours
Description of this week:
This week, I began coding the actual implementation of BLE with Espressif IDE and ESP32, which involved learning about how to set up the ESP32 and Espressif IDE along with UUID's, characteristics and services, and next steps involve completing the characteristics and merging the BLE connectivity by sending data from the phone to the microcontroller.
Entry 3: -----------------------------------------------------------------
Date: March 27thStart Time: 2:30 pm
Duration: 2 hours
Relevant Media
Entry 2: -----------------------------------------------------------------
Date: March 26thStart Time: 8:30 am
Duration: 6 hours
idf.py menuconfig
to get into the menu. Then I went to component config -> bluetooth -> bluetooth -> host, and switched the bluetooth from blueDroid - Dual mode to nimBLE so that it would work with the code structure I was creating. Now when I ran the idf.py commands, everything worked! Flashing the initial code skeleton from the video returned favorable results after finding the device with my nRF connect app that found all bluetooth devices and ensured they were working. HydraWise-BLE-Server was found and connected to, and the characteristics were present. Next steps involve further developing the bluetooth module by adding the specific sensor characteristics and connecting with the iOS mobile app.
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: March 25thStart Time: 3:00 pm
Duration: 2 hours
Relevant Media
=============== Week 10: =================
Summary: -----------------------------------------------------------------
Hours this week: 0 hoursCumulative Semester Hours: 94 hours
Description of this week:
Spring Break :)
=============== Week 9: =================
Summary: -----------------------------------------------------------------
Hours this week: 8 hoursCumulative Semester Hours: 94 hours
Description of this week:
This week, I focused on continuing the Bluetooth tutorial by MoThunderz, which involved learning about how to set up the ESP32 and Arduino IDE and next steps involve completing the tutorial with Arduino before moving on to the actual Bluetooth and phone connection with HydraWise.
Entry 2: -----------------------------------------------------------------
Date: March 13thStart Time: 5:00 pm
Duration: 5 hours
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: March 12thStart Time: 12:30 pm
Duration: 3 hours
Relevant Media
=============== Week 8: =================
Summary: -----------------------------------------------------------------
Hours this week: 8 hoursCumulative Semester Hours: 86 hours
Description of this week:
This week, I focused on preparing the Midterm Design Review Presentation and refining the functional block diagram by using various sources on the internet to confirm my numbers and ensuring the block diagram was visually appealing and easy to understand.
Entry 3: -----------------------------------------------------------------
Date: March 5thStart Time: 1:00 pm
Duration: 5 hours
I headed to lab and decided to work on updating the functional block diagram. I color coded all the specific modules: power, sensors, microcontroller, and the app module. In lab, I consulted with my teammates about the layout of the block diagram and how to ensure that the modules were all up to date with out current project specification. In the end, Herb helped me route all the wires to the specific components to make the block diagram visually appealing. I also researched all the different interfaces to ensure I had the correct bus sizes and the correct communication interfeces between everything.it more visually appealing and easier to understand. Adding in all the different components to the block diagram was crucial in ensuring that our design is robust and flexible enough to accommodate any changes in components, and easy to communicate to everyone who reviews our presentation on. The next steps involve adding these updates to the presentation and locking everything in before tomorrow. March 6th is our huge presentation date.
Relevant Media
Entry 2: -----------------------------------------------------------------
Date: March 4thStart Time: 10:00 am
Duration: 2 hours
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: March 2ndStart Time: 4:00 pm
Duration: 1 hours
Relevant Media
=============== Week 7: =================
Summary: -----------------------------------------------------------------
Hours this week: 10 hoursCumulative Semester Hours: 78 hours
Description of this week:
This week, I focused on refining the HydraWise housing component, iterating between TPU and Elastic50A materials at Bechtel, and advancing the battery charger prototype. At Bechtel, I learned the curing process for Elastic50A to maintain material integrity. The TPU iteration needed to be reprinted. After successfully retrieving the TPU model, I brainstormed design improvements with Johnny, discussing concavity, power button design, and hinge integration to ensure enhanced comfort and responsiveness. At ManLab, discussions with the team highlighted Elastic50A's limitations for Apple Watch band attachment, leading to TPU being favored for the housing. With the mechanical design stabilized, I transitioned to prototyping the battery charger, researching GPIO-based power state monitoring, and pushing the initial charging module code to GitHub. Additionally, I started preparing the Senior Design Midterm Presentation, drafting slides and gathering information from Matt and Herb for the PCB design overview. Next steps involve testing the battery charger prototype, finalizing the mechanical design, and completing the midterm presentation.
Entry 3: -----------------------------------------------------------------
Date: February 26thStart Time: 12:30 pm
Duration: 5 hours
At ManLab, I met with my team to evaluate the mechanical properties of the prints where I realized that Elastic50A may not be ideal for attaching Apple Watch bands due to its flexibility, leading us to hold TPU in higher regard as our potential housing component. With the mechanical component reaching a stable iteration, I shifted focus to prototyping the battery charger, starting with an in-depth review of the datasheet and communication protocols. I learned that the battery IC uses GPIO and status pins to determine charge levels and power state, allowing for precise monitoring and control of charging behavior. Using this knowledge, I set up an initial configuration for the battery charging system. I wrote and pushed the first version of the code to GitHub.
Next steps involve fully shifting gears toward testing and refining the battery charger code, verifying its functionality through hardware tests and ensuring seamless integration into HydraWise's power management system.
Additionally, I began looking into the senior design midterm presentation. I found a template and began filling it out. I learned that the presentation is 70 something slides and I will need to reach out the Matt and Herb for most of the PCB information. Next steps involve continuing to put together this presentation for next week.
Relevant Media
Entry 2: -----------------------------------------------------------------
Date: February 25thStart Time: 3:30 pm
Duration: 2 hours
After the initial curing was done, the Bechtel staff helped me move my print from the cure machine to the drying machine. Drying would take around thirty minutes since it had to air dry and solidify. I had to wear gloves for the moving part again and set the temperature and timer correctly. By this time, lecture was about to start so I left my print to continue drying and headed to BHEE.
While at Bechtel, I also checked on the TPU version of my print, only to discover that there had been another printing error, which caused the print to fail. Will helped troubleshoot the issue and generously cleaned out the X7 from the Onyx material, added the TPU, and helped to restart the TPU print. This delay in the TPU print reinforced the importance of iterating with multiple materials to determine the most effective option for our final design.
After lecture was over, I headed back to Bechtel to pick up my Elastic50A print. The staff was a little surprised at how sticky the material still was after the drying process and advised me to rinse it off with cold water to get the stickiness to go away. I worked with the staff to remove all the supports within the model. There was so much that they taught me how to use wire cutters and the tiny knifes to chop away at the supports without tearing the model. At some points, the staff assisted in ripping out the parts that were had to reach or really firmly attached to the model. Unfortunately this did result in a little bit of tear but not too much that the design would be changed a ton. We spent fourty minutes doing this but then my next lecture was coming up so I left Bechtel and continued to smooth out the model in lecture.
The next steps involve returning to Bechtel tomorrow to pick up the TPU print, assess the dual qualities and determine with material best meets the HydraWise design requirements for comfort, durability, and functionality.
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: February 24thStart Time: 12:00 pm
Duration: 3 hours
After I removed my model, I talked to the Bechtel staff some more to learn about the ins-and-outs of form curing. The Form Cure machine uses UV light and controlled heat to further polymerize the material, solidifying its properties and acheiving the intended durability, flexibility, and elasticity required for HydraWise's wearable design. Without proper curing, the material may not exhibit its full mechanical properties such as tear resistance and rebound elasticity with contribute to the comfort and longevity of the design.
After discussing the curing requirements, I scheduled a Form Cure session for Tuesday, setting up a time to complete this final stage of post-processing. The next steps involve returning to Bechtel tomorrow to begin the curing process, ensuring the material reaches its optimal mechanic performance.
Additionally, I wanted to see how my new design would fare with TPU. I created a reservation in the OS1 system to get my model printed with X7 machine. I sliced my model with Eiger and will return tomorrow to pick up my print hopefully.
After Bechtel, I headed to lab to see the team's progress. After talking with my team the resolution was that I would work on the battery IC charging module along with the presentation for next week. Next steps involve setting up the slides and getting the datasheet for the charging component from Matt.
Relevant Media
=============== Week 6: =================
Summary: -----------------------------------------------------------------
Hours this week: 8 hoursCumulative Semester Hours: 68 hours
Description of this week:
This week, I focused on refining and printing the HydraWise housing component, integrating feedback on sensor placement, adding an E-Ink display slot, and switching to Elastic 50A resin for improved flexibility. Despite unexpected delays in the printing process due to errors and printer unavailability, I worked with Lily, Johnny, and Bechtel staff to resolve these issues, ensuring that the model was successfully restarted. Meanwhile, I developed flowcharts for A8, analyzing Herb and James's code, and verifying the software logic using Draw.io. Next steps involve curing the printed model, testing flexibility and sensor fit, and refining the mechanical and software components based on prototype feedback.
Entry 4: -----------------------------------------------------------------
Date: February 21stStart Time: 3:00 pm
Duration: 1 hours
Relevant Media
Entry 3: -----------------------------------------------------------------
Date: February 20thStart Time: 10:30 am
Duration: 4 hours
In the morning, I made progress on A8 by filling out all the software components and starting on the flowchart diagrams. I used draw.io to generate these diagrams and confirmed with James that what I had was correct. Results are below. Next steps involve working on the Battery IC flowchart for embedded and perhaps a flowchart for the pages of the iOS app. I also plan to start XCode tutorial videos so I can contribute to the software and processing software of HydraWise.
Relevant Media
Entry 2: -----------------------------------------------------------------
Date: February 19thStart Time: 11:30 am
Duration: 1 hour
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: February 18thStart Time: 2:00 pm
Duration: 2 hours
Relevant Media
=============== Week 5: =================
Summary: -----------------------------------------------------------------
Hours this week:15 hoursCumulative Semester Hours: 60 hours
Description of this week:
This week, I focused on refining the HydraWise housing component in Fusion 360, incorporating changes like adjusting sensor placement, adding a display slot, and modifying thickness for improved functionality. I collaborated with the E-Ink team, gaining insights into their display module and gathering resources on potential LCD integration, power requirements, and circuit complexity. Next steps include printing iteration 2 at Bechtel, finalizing the display module setup, and discussing feasibility with team before integrating it into the design.
Entry 4: -----------------------------------------------------------------
Date: February 14thStart Time: 3:00 pm
Duration: 4 hours
Relevant Media
Entry 3: -----------------------------------------------------------------
Date: February 12thStart Time: 11:30 am
Duration: 3 hours
Relevant Media
Entry 2: -----------------------------------------------------------------
Date: February 11thStart Time: 9:30 am
Duration: 5 hours
Relevant Media
Entry 1: -----------------------------------------------------------------
Date: February 10thStart Time: 3:30 pm
Duration: 3 hours
Relevant Media
Entry 5: -----------------------------------------------------------------
Date: February 7thStart Time: 9:30 pm
Duration: 5 hours
Relevant Media: ChatGPT's regurtitation of dimensions
Dimensions of Components
AMS1117-3.3 Voltage Regulator (SOT-223)
| Length | Width | Height |
|---|---|---|
| 6.34 mm | 3.44 mm | 1.61 mm |
LFS1K0.1107.2I.B.070-6.S Sensor
| Length | Width | Height |
|---|---|---|
| 16.9 mm | 9.9 mm | 0.65 mm |
PIM438 MAX30101 Breakout Board
| Length | Width | Height |
|---|---|---|
| 19 mm | 19 mm | 3.2 mm |
ESP32-WROOM-32E Microcontroller on Devboard
Total Dimensions (Assuming Stacking)
| Length | Width | Height |
|---|---|---|
| 58.4 mm | 26.0 mm | 4.5 mm |
Total Length: 58.4 mm (ESP32 devboard) + 19 mm (PIM438) + 16.9 mm (LFS1K0 sensor) + 6.34 mm (AMS1117) = 100.64 mm
Total Width: The widest component is 19 mm (PIM438 breakout board and ESP32 devboard).
Total Height: 4.5 mm (ESP32 devboard) + 3.2 mm (PIM438) + 0.65 mm (LFS1K0 sensor) + 1.61 mm (AMS1117) = 10.96 mm
Final Total Dimensions (Stacked on Top of Each Other)
Length: 100.64 mm
Width: 19 mm
Height: 10.96 mm
This gives you a rough estimate of the total stacked dimensions of the components with the ESP32 microcontroller board included.
Entry 4: -----------------------------------------------------------------
Date: February 7thStart Time: 4:30 pm
Duration: 2 hours
Relevant Media:
Entry 3: -----------------------------------------------------------------
Date: February 7thStart Time: 2:30 pm
Duration: 1 hours
Relevant Media:
Entry 2: -----------------------------------------------------------------
Date: February 6thStart Time: 11:00 am
Duration: 3 hours
Relevant Media:
Entry 1: -----------------------------------------------------------------
Date: February 5thStart Time: 12:30 pm
Duration: 3 hours
Relevant Media:
=============== Week 3: =================
Summary: -----------------------------------------------------------------
Hours this week:12 hoursCumulative Semester Hours: 31 hours
Description of this week:
This week, I focused on refining the Software Development Report and improving system logic through flowcharts and state diagrams. I explored Bluetooth functionality, microcontroller interactions, and user input states, collaborating with peers and gathering insights from external resources to enhance our design. With feedback from mentors, I refined our PSDRs, developed structured diagrams, and set the next steps for finalizing software architecture and implementing power efficiency modes.
Entry 4: -----------------------------------------------------------------
Date: February 1stStart Time: 7:00 am
Duration: 4 hours
Relevant Media:
Entry 3: -----------------------------------------------------------------
Date: January 31stStart Time: 12:00 pm
Duration: 4 hours
Relevant Media:
Entry 2: -----------------------------------------------------------------
Date: January 30thStart Time: 3:30 pm
Duration: 2 hours
Relevant Media:
Entry 1: -----------------------------------------------------------------
Date: January 29thStart Time: 12:30 pm
Duration: 2 hours
=============== Week 2: =================
Summary: -----------------------------------------------------------------
Hours this week:8 hoursCumulative Semester Hours: 17 hours
Description of this week:
The team refined PSDRs, completed sections of A2, conducted sports science research, explored iOS development, and brainstormed technical aspects like power, sensors, and microcontrollers through meetings and collaborative efforts.
Entry 3: -----------------------------------------------------------------
Date: January 25thStart Time: 3:30 pm
Duration: 4 hours
Entry 2: -----------------------------------------------------------------
Date: January 23rdStart Time: 2:30 pm
Duration: 2 hours
Entry 1: -----------------------------------------------------------------
Date: January 22ndStart Time: 12:30 pm
Duration: 2 hours
=============== Week 1: =================
Summary: -----------------------------------------------------------------
Hours this week:9 hoursCumulative Semester Hours: 9 hours
Description of this week:
The team kicked off with lab orientation, learning course logistics, touring resources like ESP32 microcontrollers, and setting up the project website. We completed A1 by drafting the project proposal, assigning team roles, brainstorming design requirements, and planning the budget through collaborative discussions.
Entry 3: -----------------------------------------------------------------
Date: January 19thStart Time: 3:00 pm
Duration: 5 hours
Entry 2: -----------------------------------------------------------------
Date: January 17thStart Time: 11:30 am
Duration: 2 hours
Entry 1: -----------------------------------------------------------------
Date: January 15thStart Time: 12:30 pm
Duration: 2 hours