Eric Nam's Latest Tool Wirelessly Captures Bosch BNO055 IMU Data for Playback and Visualization
An Espressif ESP32-S3's Wi-Fi radio is used to stream IMU data, which is then processed into four trajectory views.
Maker Eric Nam, also known as "That Project," has released a tool that allows Espressif ESP32-based devices to stream inertial measurement data to a nearby desktop, laptop, or tablet for capture and visualization.
"I'm sharing a project I built for easily capturing and analyzing 9-DOF [Degrees of Freedom] IMU [Inertial Measurement Unit] data wirelessly," Nam says of the work. "The setup uses an [Espressif] ESP32-S3 connected via I2C to a [Bosch Sensortec] BNO055 to collect raw accelerometer, gyroscope, and essential quaternion data. This data is then transmitted via UDP streaming to a Python script on the PC."
The idea, Nam explains, is to do away with a USB or other cable tethering the IMU to a host device, allowing for truly free movement. As data is streamed over UDP rather than TCP, it's resistant to packet drop — and the use of the ESP32's integrated Wi-Fi radio means a minimum of components are required.
"The system performs post-processing on the received data to compute and visualize the movement trajectory," Nam says. "It does not operate in real-time and is split into distinct capture and playback stages." The "playback stage" presents a graphical interface that provides top (XY), side (XZ), and front (YZ) views, which trace the history of the device's motion, plus a 3D (XYZ) trajectory view in a fourth graph.
The software does come with a caveat, however: "Due to the inherent challenge of sensor drift (even with the BNO055's [sensor] fusion), achieving accurate long-term tracking is not possible," Nam warns. "This tool is therefore best used for analyzing very short, discrete movements."
The software has been released on GitHub under a custom open-source license; more information is available in his Reddit post, and in the video embedded above and on Nam's YouTube channel.