project Jennifer
Gyroscope-based 2-axis digital inclinometer


  • An inclinometer is an instrument for measuring angles of slope (or tilt), elevation or depression of an object with respect to gravity. It’s been in use for a long period of time for different proposes ranging from simple and civil to complex and military. It’s being used in solar panels systems to optimize it, adjust the “look angle” of a satellite, measuring movement in walls or ground and much more. With its wide spectrum of applications, it’s expected to have a variety of implementations that will have differences in accuracy, quality, simplicity and cost. In this prototype, a gyroscope-based module was developed that has relatively low cost and good accuracy. The gyroscope module was used to provide data which then get converted into angles in the Atmega328p-based Arduino Nano board. The prototype also has several functionalities such as displaying the angles on a 16x2 LCD screen, freeze the readings or compare two angles. The gyroscope in question has a 3-axis Microelectromechanical system (MEMS) and a resolution up to ±2000 degree per second. The communication between the Arduino and the module is done using Inter-Integrated Circuit (I2C or I2C) protocol which consists of two wires (Clock and Data) to exchange data between the master device (the Arduino) and the slave (the module). The working principle is explained as follows, inside the gyroscope there’s a tiny mass that rotates and generates a very low current, which then converted to a digital value with 16-bits resolution then transmitted to the Arduino. Next step is calculating the average of a user-defined number of samples, in the prototype 25 samples were used. Data is still “raw” and range between ±16500, so it’s then mapped into a value between ±90 degrees



  • Arduino

  • MPU9250

  • 2x16 LCD

  • Buttons