Tag Archives: IMU

9-Axis IMU LESSON 4: Plotting Serial Data from Arduino with Control of Axis Scale

As this project continues it is very important for us to be able to quickly and easily plot data streaming from the sensor. The Arduino Serial Plotter has some real limitations, we recommend a simple “Serial Plotter” tool that can be downloaded. In this video we take you step by step through the download and installation process, and then an overview of how to use the tool.

9-Axis IMU LESSON 3: Understanding How Accelerometers Work

This photo shows a conceptual schematic of how an accelerometer works.

In this lesson we describe how the acceleromters on chips like the Adafruit BNO055 work. They work based on microscopic masses suspended on springs on the chip. As the chip moves, the suspended masses respond to the motion, and the gaps between the suspended masses and the substrate changes. The chips detect these changes in position by monitoring the capacitance between the suspended mass and the substrate, or between the suspended masses and carefully designed interdigitated fingers between the mass and the substrate. C=eA/d, e is the dielectric constant of the material, A is the area of the capacitor, and d is the gap between the two capacitor plates. Changes in measured capacitance come from either a change in A or a change in d. Both d and A change in response to motion, so by monitoring the capacitance of the suspended mass, acceleration can be inferred. The video below explains clearly how this works.

Code for Getting Raw Acceleration Data from the BNO055 9-axis Inertial Measurement Sensor.

The code below is for demo purposes only, and should not be used in any real applications. It just demonstrates how to work with this sensor in benchtop presentations.

IMUl 9-Axis IMU LESSON 2: Connecting and Getting Raw Data from the BNO055 9-Axis Sensor

Adafruit BNO055 9-axis Sensor Connected to an Arduino Nano

In this tutorial we show you how to get raw sensor data from the Adafruit BNO055 9-axis sensor. We are using an Arduino Nano, since it allows for neat, compact builds on a breadboard. The sensor can provide acceleration along x,y and z axis, rotational velocities around x, y and z axis, as well as the strength of the earth’s magnetic vector along the sensor’s x, y, and z axis. The sensor can do a lot more than this, but to get things started, we will show you how to get these raw sensor readings from the device.

The video shows you how to connect the sensor, and below we include the code developed in the video. We strongly suggest you type the code in yourself, as you follow along with the video. You will never learn how to develop projects on your own, if you just copy and paste my code.

The code below is for demo purposes only, and should not be used in any real applications. It just demonstrates how to work with this sensor in benchtop presentations.

9-Axis IMU LESSON 1: Introduction to Nine Axis Sensors and Inertial Measurement Units with Arduino

IMU Visualization
This picture shows out 3D visualization of sensor data coming from the

In this new tutorial series we will take you step by step through creating a 9-axis IMU capable of monitoring an object’s orientation in 3 dimensional space. In this first lesson we introduce you to IMU and 9-axis sensor basics, and outline the gear we will be using in these lessons. To play along at home, you will need an Arduino Nano, and an Adafruit BNO055 Inertial Measurement Sensor.