Project

# Title Team Members TA Documents Sponsor
93 Dynamic Violin Fingerboard Attachment
Adrian Ignaci
Kamil Waz
Sophia Wilhelm
Manvi Jha design_document1.pdf
proposal1.pdf
# Dynamic Violin Fingerboard Attachment

Team Members:
- Kamil Waz (kwaz2)
- Sophia Wilhelm (sophia16)
- Adrian Ignaci (aigna3)

# Problem

Most people would like to learn an instrument, however not only are the instruments expensive, but the lessons are just as (if not more) costly. This also assumes lessons are even available where they live. For this reason, many people try to teach themselves how to play, either through experimentation or online resources. However, this path has a distinct lack of feedback that would help correct poor habits or otherwise incorrect playing.

# Solution

Our project seeks to give those self-learning an instrument, specifically a violin, an extra source of feedback with respect to finger placement (creating the notes) as well as the rhythm played. A dynamic LED display laid on top of the fingerboard would allow learners to better understand proper finger placement in addition to its relation to the specific note’s duration.
Furthermore, by using linear/membrane potentiometers we could accurately measure the position of a finger placed along any of the 4 paths (strings) on the fingerboard. This allows us to also to also collect information on how accurate the placement is, rather than a simple yes or no as to whether they play the right note.
To encourage building good habits and continuous practice, we would like to allow users to upload pieces they would like to learn. Thus users will be allowed to upload files (MIDI) that can then be used on the fingerboard along with an adjustable tempo. This, paired with individual settings for full piece playthroughs and learning (only playing the next note after the user plays it) will help encourage good, accurate playing whilst making it fun.

# Solution Components

## Fingerboard overlay

This subsystem is the main source of feedback to and from the user. It will contain an array of individually addressable LEDs (1528-1196-ND) which will display appropriate fingerings at the appropriate moment in a piece and membrane potentiometers (SEN-08680) which will give the processor feedback as to the user’s accuracy.

## Microcontroller
The microcontroller will be responsible for a number of key operations, including:
File uploading and reading
Control of the display
User input validation and data collection
We will use the ESP32 (tentative, as using an RP2040 would be easier, but that would also be bulkier and remove a lot of the designing). Additionally, an LCD display (16x2 most likely, no specific part as they’re all pretty generic) can be controlled to display piece statistics to the user.

## Piece Play Configuration
This component controls the aforementioned various settings regarding what style of playing the user wants. Specifically, this will control not only the tempo the pieces are played, but also when the piece progresses. There will be a setting to simply go through the entire piece while tracking statistics in addition to a setting dedicated to learning the piece, which pauses until each fingering is properly performed.
The most straightforward implementation of this (strictly) would only require a potentiometer (COM-09939) or two buttons (such as TS02-66-70-BK-100-LCR-D) for tempo and a switch (OS102011MS2QN1).

##Power
A pair of standard AA batteries should be sufficient for our needs (would need the 36-2463-ND enclosure to hold them).
However we would like to consider 3.7 V Lithium-Ion Battery Rechargeable (1528-1839-ND) with the associated charger (TI BQ24074) and regulator (TI TPS62840). The rechargeable battery is a potentially dangerous option as it could endanger the instrument itself (it’s a more risky fire hazard than an easily removable AA battery), therefore it will not be implemented unless there has been extensive testing of the rest of the system within the time frame of this project.

##Case/Enclosure
There will be two parts, one for the fingerboard components and one for everything else.
The fingerboard overlay will consist of the components surrounded by a sort of envelope made of ~0.3mm transparent silicon rubber (allowing for clarity for the LEDs without compromising the membrane potentiometers).
The second part will be a plastic enclosure that must fit either under the fingerboard or body (better for weight distribution) of a full size violin without significant weight. It will contain the power supply, microcontroller, and configuration modules.

# Criterion For Success

Unit is easy to attach to a standard violin. The attachment must accurately display and detect note fingerings from a user specified piece at an adjustable tempo. User accuracy will be displayed real-time through use of LEDs on the microcontroller, and an accuracy summary will be displayed at the end of the piece. In addition (though less quantifiable), it must not impede the physical way a user must play the instrument.

Note on expertise: Kamil plays violin and knows a number of other violinists. They will be consulted on the physical design.

ATTITUDE DETERMINATION AND CONTROL MODULE FOR UIUC NANOSATELLITES

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:

- CAN-FD

- 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.