# Title Team Members TA Documents Sponsor
5 Running Cadence Monitor Belt
Alex Jin
Dante Vasudevan
Nick Bergerhouse
Koushik Udayachandran design_document2.pdf
Team Members:
- Nick Bergerhouse (ncb7)
- Dante Vasudevan (dgv2)
- Alexander Jin (amjin2)

# Problem
Running cadence is the number of steps a runner takes per minute while running, commonly measured in strides per minute (SPM). It is a useful measurement for runners as it can provide insight into efficiency, form, and stride length. An ideal cadence for most runners typically falls into the range of 170 to 180 SPM although this is dependent on height and pace.

Currently there are already products on the market that can measure running cadence. For example, most “running watches” have cadence as an included measurement. However, it can be cumbersome for runners to constantly be switching through display screens to monitor multiple data points at the same time such as pace, heart rate, distance, cadence. Furthermore, unless a runner is running with their arm locked in front of them, continuous monitoring of cadence is impossible with a running watch. Other products take a different approach such as the foot-mounted ARION Footpod non-GPS 1.0 and Stryd. These products can track the cadence over the duration of the run in much the same way that a running watch would, but they don’t have the ability to provide that information to the runner without the use of a watch or smartphone.

In both the watch and foot-mounted solution, there is a lack of a product that provides easy, hands-free haptic feedback to the runner informing them when their cadence falls outside of the ideal cadence range.

# Solution

Our design will consist of a lightweight, belt-mounted device consisting of several PCBs that utilizes an IMU for the purposes of step detection. A running mean time between a certain number of previous steps will be used to calculate the runner’s current cadence. Based on the measured cadence, the microcontroller will control vibration motors to create haptic feedback, which will inform the user based on vibration patterns in real time how to adjust their cadence to achieve perfect running efficiency. The device itself will be mounted on the user’s back, as this is already a popular spot for runners to store items, such as phone mounts or fanny packs. This also increases user comfort by keeping the device clear of the front and sides, where there may be hand movement. The system will be powered by a mobile battery, such as a LiPo battery, that is also connected to the belt.

Our solution also offers user customization. Users can adjust their target cadence from the default 180 to any lower target cadence they want. Users will also be able to adjust the strength of the feedback from the haptic motors.

# Solution Components

**Step Measurement (IMU)**

The Step Measurement board will house the IMU which actually does the detecting in our system. We have tentatively selected the BNO08X family as our IMU. The board will contain the necessary peripheral components, such as pullups/downs, capacitors, etc.

BNO08X Family:
(small differences in power consumption, calibration, cost.)


The Microcontroller board will house the microcontroller itself as well as the power supply subsystem. There may need to be several voltage regulators as small regulators (to accomplish our unintrusive, lightweight and compact design) generally have low power output. We have tentatively selected the AP2112K-3.3TRG1 as our voltage regulator.

We will be integrating a ESP32-C6-WROOM-1-N8 engineering module onto a custom PCB with the required peripherals to configure it, such as basic resistors, capacitors, or diodes. It should also allow it to be programmed from a computer with a Micro-USB or USB-C port,and allow it to be wired to communicate with both the Haptic Feedback board and the Step Measurement board. Inter-board communication will be accomplished with either ribbon cables or jumper wires, depending on the feasibility of physically grouping required signals onto a header on the PCB.



**Haptic Feedback**

The Haptic Feedback board will consist of a 2N7002ET7G BJT to allow microcontroller control of the Seeed 316040001 vibrating disk motor we will use to provide haptic feedback. This board will also most likely have its own voltage regulator due to avoiding having any motor power consumption interfere with the microcontroller’s operation. In addition, two low-profile tactile switches will be present on this board to control the desired target cadence and vibration intensity of the system. Their inclusion on this board specifically allows the user to access the controls right next to the source of haptic feedback, allowing convenient location of control. An example low-profile button, the PTS526 SM15 SMTR2 LFS, has been linked. The software on the microcontroller will interpret actions such as holding the button, singular presses, or double presses into commands. The button does not have to be this specific part.

Seeed 316040001:,-ltd/316040001/5487672



# Reach Goal: Phone Bluetooth Connectivity + App for improved user experience

Our reach goal utilizes the ESP32 module’s built-in bluetooth antenna to connect with the user's phone. We will develop an app which will work with our device to provide an improved user experience. This app can control the phone’s vibration to provide an alternative source of haptic feedback to the user, provide advanced customization capabilities including the cadence target range and feedback strength, and can track analytics such as the percentage of the run within the desired cadence range.

This reach goal can be implemented as an addendum to an already completed device. It is all software implementation; we would need to build the app and modify the arduino code on the ESP32 module.

# Criterion For Success

- The product must accurately measure cadence of the user.
- Vibration motors must activate when cadence becomes too low or high relative to target cadence.
- The device must be able to recognize when the user is not running, and will pause counting accordingly.
- The product should comfortably fit on the waistline of the runner.
- The target cadence and vibration strength of the product must be user adjustable.
- The product must be able to run off a battery power source.

VoxBox Robo-Drummer

Craig Bost, Nicholas Dulin, Drake Proffitt

VoxBox Robo-Drummer

Featured Project

Our group proposes to create robot drummer which would respond to human voice "beatboxing" input, via conventional dynamic microphone, and translate the input into the corresponding drum hit performance. For example, if the human user issues a bass-kick voice sound, the robot will recognize it and strike the bass drum; and likewise for the hi-hat/snare and clap. Our design will minimally cover 3 different drum hit types (bass hit, snare hit, clap hit), and respond with minimal latency.

This would involve amplifying the analog signal (as dynamic mics drive fairly low gain signals), which would be sampled by a dsPIC33F DSP/MCU (or comparable chipset), and processed for trigger event recognition. This entails applying Short-Time Fourier Transform analysis to provide spectral content data to our event detection algorithm (i.e. recognizing the "control" signal from the human user). The MCU functionality of the dsPIC33F would be used for relaying the trigger commands to the actuator circuits controlling the robot.

The robot in question would be small; about the size of ventriloquist dummy. The "drum set" would be scaled accordingly (think pots and pans, like a child would play with). Actuators would likely be based on solenoids, as opposed to motors.

Beyond these minimal capabilities, we would add analog prefiltering of the input audio signal, and amplification of the drum hits, as bonus features if the development and implementation process goes better than expected.

Project Videos