# Title Team Members TA Documents Sponsor
44 Portable Water Tracking Attachment
Cindy Su
Subha Somaskandan
Subhi Sharma
Luoyan Li design_document1.pdf
# Portable Water Tracking Attachment

Team Members:
- Student 1 (sbs8)
- Student 2 (subhis2)
- Student 3 (cindysu2)

# Problem

Many people struggle to drink enough water every day, and tracking this can be a challenge of its own. Apps that track your water intake can be silenced, and nobody is actually checking if you drank your water. Furthermore, water bottles that have pre marked labels require you to buy a whole new water bottle, where the style may not be the prettiest, and durability is a question since the majority of them are plastic.

# Solution

Describe your design at a high-level, how it solves the problem, and introduce the subsystems of your project.

Our solution is a portable water bottle attachment that your water bottle latches onto the bottom, and moves with. This device will track how often you pick up your water bottle to drink, and how much you drink each time by checking the weight of your water bottle. There is also an accompanying app that can be personalized based on the user’s age, sex, and activity level so that it accurately tracks how much water you are consuming, and sends reminders. The device itself is also adaptable to multiple water bottle sizes, and there will be an “inventory” of water bottles within the app so that you can calibrate the device accordingly. The app will aid in giving you reminders if you have not picked up your bottle in a while as well as have GPS tracking capabilities.

## Water Measurement + GPS Tracking Subsystem

This subsystem measures the amount of water in the water bottle, and sends this data to our wifi server, and is stored in a database.

1. Weight Sensor (A Load Cell with medium to high sensitivity)
This sensor will calculate the weight of the water bottle so that the device can calculate changes in weight as you drink more water. The weight sensor can also help determine the weight of a variety of water bottles, so that it can make calculations accordingly. The water bottle will have to be weighed without any water at first use, and the app will remind the user of this.

2. IMU unit with 6 or 9DoF
The IMU geographically measures the position of the water bottle based on its tilt. When someone is drinking out of it, the bottle will be tilted a certain amount, indicating that the weight will change once it is placed down again. The IMU can measure when people are drinking out of the bottle to track habits, and this can trigger the weight sensor to measure the weight of the bottle once someone is done drinking.

3. GPS tracking chip (something like GT-U7 main module GPS)
The device will be connected to the bottle, and therefore there will be a GPS tracking chip that will allow you to track the whole system. When connected, you can find your bottle and device, and when disconnected just the device can be found.

## Wifi and App Subsystem

This subsystem is for connecting Wi-Fi networks and sending data to a server when the device sensed drinking or at a given time interval. The app will request the data, and track the amount of water drunk, as well as the GPS location. The app will also have its own features, like displaying the amount of water to go, water drank in total, and showing the location of the water bottle.

1. Wifi module: ESP32SP
The microcontroller is going to transmit the data received by the sensor over a wireless network to a server. Then on the server, the incoming data is processed and stored in a database. Each data entry will include the amount of water drink or left and a timestamp. An API is set up on the server and allows users to fetch data through request on a smartphone.

# Criterion For Success

Our app will include hourly goals for water drinking- based on the user input of the volume of the water bottle, age, activity level, sex, as well as average hours of sleep. Our app will send out a reminder at the top of every hour stating how much water the user needs to drink for that hour.

Our water attachment will measure the weight when the bottle is placed down, and send this data to the app to configure reminders to the user, either saying their goal is complete for that hour, or that they have “x” oz of water to go. Our app will also be able to track the water bottle’s location and display it on the app. This mechanism should work for different volumes of water bottles, as the user can keep an inventory in the app of their bottles.

Additional features after we accomplished the above criterion and had enough time would be adding a small led screen attaching to the devices that could display the amount of water the user drinks. We could implement a rewards system in the app, giving user badges for meeting their goals weekly, monthly, etc.


Shamith Achanta, Rick Eason, Srikar Nalamalapu

Featured Project

Team Members:

- Rick Eason (reason2)

- Srikar Nalamalapu (svn3)

- Shamith Achanta (shamith2)

# Problem

The Aerospace Engineering department's Laboratory for Advanced Space Systems at Illinois (LASSI) develops nanosatellites for the University of Illinois. Their next-generation satellite architecture is currently in development, however the core bus does not contain an Attitude Determination and Control (ADCS) system.

In order for an ADCS system to be useful to LASSI, the system must be compliant with their modular spacecraft bus architecture.

# Solution

Design, build, and test an IlliniSat-0 spec compliant ADCS module. This requires being able to:

- Sense and process the Earth's weak magnetic field as it passes through the module.

- Sense and process the spacecraft body's <30 dps rotation rate.

- Execute control algorithms to command magnetorquer coil current drivers.

- Drive current through magnetorquer coils.

As well as being compliant to LASSI specification for:

- Mechanical design.

- Electrical power interfaces.

- Serial data interfaces.

- Material properties.

- Serial communications protocol.

# Solution Components

## Sensing

Using the Rohm BM1422AGMV 3-axis magnetometer we can accurately sense 0.042 microTesla per LSB, which gives very good overhead for sensing Earth's field. Furthermore, this sensor is designed for use in wearable electronics as a compass, so it also contains programable low-pass filters. This will reduce MCU processing load.

Using the Bosch BMI270 3-axis gyroscope we can accurately sense rotation rate at between ~16 and ~260 LSB per dps, which gives very good overhead to sense low-rate rotation of the spacecraft body. This sensor also contains a programable low-pass filter, which will help reduce MCU processing load.

Both sensors will communicate over I2C to the MCU.

## Serial Communications

The LASSI spec for this module requires the inclusion of the following serial communications processes:


- RS422

- Differential I2C

The CAN-FD interface is provided from the STM-32 MCU through a SN65HVD234-Q1 transceiver. It supports all CAN speeds and is used on all other devices on the CAN bus, providing increased reliability.

The RS422 interface is provided through GPIO from the STM-32 MCU and uses the TI THVD1451 transceiver. RS422 is a twisted-pair differential serial interface that provides high noise rejection and high data rates.

The Differential I2C is provided by a specialized transceiver from NXP, which allows I2C to be used reliably in high-noise and board-to-board situations. The device is the PCA9615.

I2C between the sensors and the MCU is provided by the GPIO on the MCU and does not require a transceiver.

## MCU

The MCU will be an STM32L552, exact variant and package is TBD due to parts availability. This MCU provides significant processing power, good GPIO, and excellent build and development tools. Firmware will be written in either C or Rust, depending on some initial testing.

We have access to debugging and flashing tools that are compatible with this MCU.

## Magnetics Coils and Constant Current Drivers

We are going to wind our own copper wire around coil mandrels to produce magnetorquers that are useful geometries for the device. A 3d printed mandrel will be designed and produced for each of the three coils. We do not believe this to be a significant risk of project failure because the geometries involved are extremely simple and the coil does not need to be extremely precise. Mounting of the coils to the board will be handled by 3d printed clips that we will design. The coils will be soldered into the board through plated through-holes.

Driving the inductors will be the MAX8560 500mA buck converter. This converter allows the MCU to toggle the activity of the individual coils separately through GPIO pins, as well as good soft-start characteristics for the large current draw of the coils.

## Board Design

This project requires significant work in the board layout phase. A 4-layer PCB is anticipated and due to LASSI compliance requirements the board outline, mounting hole placement, part keep-out zones, and a large stack-through connector (Samtec ERM/F-8) are already defined.

Unless constrained by part availability or required for other reasons, all parts will be SMD and will be selected for minimum footprint area.

# Criterion For Success

Success for our project will be broken into several parts:

- Electronics

- Firmware

- Compatibility

Compatibility success is the easiest to test. The device must be compatible with LASSI specifications for IlliniSat-0 modules. This is verifiable through mechanical measurement, board design review, and integration with other test articles.

Firmware success will be determined by meeting the following criteria:

- The capability to initialize, configure, and read accurate data from the IMU sensors. This is a test of I2C interfacing and will be tested using external test equipment in the LASSI lab. (We have approval to use and access to this equipment)

- The capability to control the output states of the magnetorquer coils. This is a test of GPIO interfacing in firmware.

- The capability to move through different control modes, including: IDLE, FAULT, DETUMBLE, SLEW, and TEST. This will be validated through debugger interfacing, as there is no visual indication system on this device to reduce power waste.

- The capability to self-test and to identify faults. This will be validated through debugger interfacing, as there is no visual indication system on this device to reduce power waste.

- The capability to communicate to other modules on the bus over CAN or RS422 using LASSI-compatible serial protocols. This will be validated through the use of external test equipment designed for IlliniSat-0 module testing.

**Note:** the development of the actual detumble and pointing algorithms that will be used in orbital flight fall outside the reasonable scope of electrical engineering as a field. We are explicitly designing this system such that an aerospace engineering team can develop control algorithms and drop them into our firmware stack for use.

Electronics success will be determined through the successful operation of the other criteria, if the board layout is faulty or a part was poorly selected, the system will not work as intended and will fail other tests. Electronics success will also be validated by measuring the current consumption of the device when operating. The device is required not to exceed 2 amps of total current draw from its dedicated power rail at 3.3 volts. This can be verified by observing the benchtop power supply used to run the device in the lab.