# Title Team Members TA Documents Sponsor
Ben Xie
Hongru Wang
Pranav Goel
Pooja Bhagchandani design_document3.pdf
# Team Members:
- Ben Xie (bx3)
- Pranav Goel (pranavg4)
- Hongru Wang (hongru2)

High productivity is something many people try to achieve with little success. There are so many ways to get distracted with easy access to youtube, social media, etc. One basic step for improving productivity is to use To-Do List apps. However, these apps can be clunky to use, and often checking your to-do list can be a multi-step process. Because of that, it's super easy to forget to check the app or interact with it. In addition, having your to-do list hidden on your tablet or phone makes it much easier to ignore. Not only that, it's a quick way to get distracted again as going to other less productive apps is very easy to do. Oftentimes your working environment is also a big factor as to why your productivity output has decreased. Many people don’t even realize that something is wrong and simply continue pushing onwards. That’s why we think there needs to be a better way of keeping track of and displaying daily tasks along with something that checks if you are in a good environment for getting your tasks done.

We propose building a device that can be updated from a website or your phone that displays a running to-do list along with other useful information (temperature, sitting time, humidity) on an e-ink display. This provides a constant reminder of what needs to be done on your desk, making it easier to check, and more difficult to ignore. We chose an e-ink display because it's easy to read, cannot be easily ignored by the user, and doesn't require a powerful microcontroller. To further make sure that users don’t ignore the device, we are adding a speaker to play a sound that gets their attention. We also want users to be able to interact with the device physically so that we can further eliminate friction towards completing tasks (via buttons and a rotary encoder). RGB LEDs that visually indicate important information can be used as a quick way for users to intuitively interact with the device - whether it's selecting tasks, setting/using a timer for time management, or anything else that might be needed. Because it's on our desk, we can also integrate sensors to track time spent sitting, temperature, air quality, or any other environmental factors that might impact productivity. This information could be displayed via an LCD Screen (Since it requires higher responsiveness) next to the e-ink display, or simply be included in the e-ink display but only display information when something might be affecting your productivity. Specifically, instead of sending notifications to the website or phone, which can be ignored sometimes, we want to use an e-ink display to notify the users of upcoming tasks, whether the user needs to change the working environment based on the data from sensors that monitor temperature/humidity, and whether the user needs to have a rest based on the time the user spent on working. As a reach goal, we can make the device portable by using a dock to keep all the sensors and have the e-ink display detach from there. Users can then use the to-do list functionality on the go.

The power subsystem must be able to supply enough power to the rest of the project, converting from 12 VDC to 5V DC (the 12V is supplied by a wall power plug). It should also protect the circuit from things like reverse polarity, unexpected voltages, etc. There are many DC/DC step-down regulators, so finding a specific component shouldn't be difficult.

The Microcontroller Subsystem needs to be able to communicate with and operate the rest of the subsystems and needs to be powerful enough to drive the E-ink display. Currently, we are looking into using the ESP32 microcontroller because it includes BlueTooth/WiFi, and seems to be well-documented.

The Communication subsystem must be able to connect with the internet over wifi, as well as connect over BlueTooth to our phone to set up the wifi passwords, etc. Also, we need to be able to reset everything in case the wifi drops out and we need to re-enter passwords, etc. This will be tightly integrated with the microcontroller subsystem because the ESP32 includes both wifi and BlueTooth capability.

The control subsystem allows the user to physically interact with the device to delete/complete tasks, set timers, or whatever else we may need. Right now we plan on using buttons and a rotary encoder to select/delete tasks, set/use timers, and for anything else that might help us interface with the device. We will also need to develop a website that allows users to set tasks from their phone/computer. The web application is for users to add/delete/update tasks to the to-do list.

The display subsystem mainly consists of a 7.5in e-ink/e-paper display driven over a 4-wire SPI by the microcontroller. It needs to be able to display a list of tasks, as well as any other info that we may want. Because 4-wire SPI e-ink displays often need multiple seconds to refresh and update, we also need to integrate RGB LEDs to display more time-critical information such as the currently selected task, and for the timer. This will also be driven by the microcontroller.

The sensing subsystem needs to collect data about the working environment, such as the temperature, air quality, sitting time, etc. CO2 level, temperature/humidity data collected from sensors can let users know if that environment is ideal for productivity through the e-ink display. The motion sensor can be used to detect if the user isn’t present/active we can update the screen so they won’t notice. Specifically, with the motion-sensing data, we can determine the amount of time someone has been working at their desk and use a small speaker and/or LEDs to alert them if they have been working/sitting for too long. Since we are using a desktop device it would be simple to integrate into the actual project. It then needs to send that data to the microcontroller subsystem to display and publish that data to the user. We also need a light sensor to control the brightness of the LEDs so that they are not too bright and distracting to the user.

### Potential sensors:
- CCS811 - air quality
- RCWL-0516 - doppler motion sensor
- HC-SR501 - PIR sensor
- DHT-22 - temp/humidity
- Photoresistor - light sensor

- Users can connect the device to the internet
- Our task list updates via a website
- E-ink device successfully displays intended information
- Sensor data is taken, processed, and sent to the device and/or website
- Users can physically interact with the device and update information accordingly


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.