Introduction
Introducing "Tracer" - a dynamic, open-source project built on the ESP-32 platform. Designed for enthusiasts and innovators, Tracer taps into the vast array of software libraries available for the ESP-32. It offers a unique window into the intricate processes and algorithms behind creating a personalized fitness tracker. This streamlined platform boasts a potent IMU and Time-of-Flight (ToF) sensor to gauge your surroundings, complemented by WiFi and BLE for seamless connectivity.
Before diving further, I have to thank JLCPCB for sponsoring this project. They have been a crucial part of the process by enabling me rapid prototype without compromising quality. All of the PCBAs related to this project were prototyped and assembled by them. I highly recommend them for the high quality, cost, and time-efficient, if you intend to design and build any boards of your own.
Now back to the project, here are some of the key features;
- Utilize the LSM6DSL for real-time object tracking.
- Versatile mounting: High-quality velcro straps ensure adaptability, from monitoring lean angles on bicycles to analyzing tennis racquet poses.
- Efficient on-board Li-ion battery charging via the TP4065..
- Good battery life: Up to 2.5 hours of continuous BLE streaming at 10Hz. Proven 15m BLE range in open spaces, as tested on a tennis court.
Specification
- Microcontroller | ESP32-PICO-D4
- WiFi | 802.11b/g/n
- Bluetooth | BLE 4.2
- FLASH | 4MB
- Programming | USB over UART (CP2104)
- Inertial Measurement Unit (IMU) | LSM6DSLTR
- Accelerometer | ±2/±4/±8/±16 g at 1.6 Hz to 6.7KHz
- Gyroscope | ±125/±250/±500/±1000/±2000 DPS at 12.5 Hz to 6.7 kHz
- Li-ion Battery Management | TP4065
- Power | 700mA 3.3V LDO
- Mechanical
- Weight | 20g, including velcro strap
- Dimensions | 4.2 x 3.6 cm
- Mounting Options | Velcro Strap or 3x M.2.Screws
Use cases
The test design closely integrates with the Madgwick Filter, facilitating sensor fusion to estimate heading, roll, and pitch. This data can be transmitted to devices like smartphones or PCs for further analysis. Here are some applications:
Real-time 3D Visualisation
This 3D visualization is by streaming data over UART to a simple script written on [Processing](https://github.com/processing).
Stream real-time data to phyphox
The real-time plots from the IMU are streamed over BLE to the phone. Data can later be exported over CSV for further analysis if required. This example shows the Tracer streaming the accelerometer data and no. of tennis ball strikes over Phyphox.
Real-time gesture recognition using Edge Impulse
This example illustrates the Tracer's ability to be highly customizable to suit a wide variety of applications and specifications. Using the Edge Impulse platform, I was able to train a neural network that would then run on the ESP32 natively to track a certain gesture or activity. More details on this here.
I am wondering if you have developed any methods to compensate for the effects of gravity in terms of acceleration. I am working on a similar project, so please let me know if you have any insights. you can see here https://www.bikinibootcamp.com/