Mechanical Engineering student from the University of Texas at Austin. Epee Captain of UT Fencing. Founder of the Longhorn Design Lab
V1
V2
IN DEV
Please note that V2 is still in development, so the V2 entry may resemble a blog post more than a formal article.
I had mentioned in the V1 write-up that part of why I used an Arduino Nano was because I wanted to be able to set up reaction time games. I wrote one game, which you would start by long pressing the tip for 5 seconds. After that, the buzzer would beep and you would have to try and hit a target as fast as possible. The drill worked well, but I struggled to find a way to display your stats effectively. I knew adding a screen would be challenging given how V1 was designed to sit in your pocket. And even though I tried communicating reaction time through the buzzer, it was grossly ineffective.
This brings me to V2. The most ambitious revision of the project yet. V2 aims to have more sensors to allow for even more possible drills, analytics. And it aims to work with an app that displays all your analytics and stores all your previous training sessions.
An ESP-32-C6 was selected to power the device. This was primarily because of its support of the Bluetooth low energy (BLE) protocol. The benefit of BLE is its energy efficiency and its long range. Ideally, people will be able to keep their phones in their bag or locker and the data will be uploaded to their phone while they train.
I decided to use a 9 DoF IMU. After some research I learned that gyroscopes tend to be greatest source of error in IMUs, so I made sure to pick a chip with a good gyroscope. I found a hybrid board from Adafruit that had both a LSM6DSOX (6 DoF gyroscope) and a LIS3MDL (magnetometer). The LSM6DSOX gyroscope chip on the board benchmarked very well. I noticed that most boards that had both a gyroscope and magnetometer in one chip tended to have more noise.
The biggest challenges so far have been learning C and understanding the BLE protocol. Prior to this project, I had limited experience with low-level programming and radio frequency communication, making this an excellent learning opportunity.
Currently, I've developed a React Native app using Expo CLI that enables the discovery and connection to an FBV2 device.
I've also tested various BLE configurations, successfully reading from and writing to the FBV2 from across my apartment. To my surprise, the connection remained stable even behind two walls with closed doors. This was an encouraging result, as it suggests fencers will be able to keep their phones in bags or lockers while still receiving real-time data. There are also exciting possibilities for sending this data to coaches for further analysis.
Copyright © 2024 Siddharth Bhargav. All rights reserved.