OpenPlotter – Sensors_a


In previous posts we examined how to install OpenPlotter (Ref.1), how to connect a GPS receiver (Ref.2), how to connect AIS (Ref.3), and how to receive VHF (Ref.4). In this post we will examine how to connect & detect a sensor module such as the GY-91 which is referenced in OpenPlotter documentation. This module has two ICs mounted, an MPU-9250 motion detector module and a BMP280 pressure sensor module. This gives us 10DOF or10 degrees of freedom: 3xGryoscope, 3xAccelerometer, 3xMagnetometer, 1xAir pressure. In later posts we will look at how to use these sensors properly, right now we are just connecting & detecting.

GY-91 Sensor Module

The GY-91 sensor board contains an MPU9250 Gyroscope, Accelerometer, Magnetometer (Ref.5) and a BMP280 pressure sensor (Ref.6). These are the modules commonly used with OpenPlotter. Figure 1 shows the board layout and pinouts. The MPU is the dark square IC and the BMP is the silvery rectangular IC. Figure 2 shows the interconnection to the RPi GPIO.

Fig.1 GY-91 Sensor Module
FIg.2 RPi to GY-91 Connection

GY-91 Detection

In order to detect the GY-91 we have to install two applications: I2C Sensors and Pypilot. These are shown in Figure 3 OpenPlotter/Settings. This may take several minutes. The next step is to go into the Raspberry Pi Configuration menu and enable I2C as shown in Figure 4. Once these steps are accomplished, we can detect the modules.

Fig.3 OpenPlotter/Settings
Fig.4 Raspberry Pi Configuration Menu

BMP280 Detection

Go to OpenPlotter/I2c and select the I2C Addresses on the menu bar. The detected addresses on the I2C bus are shown as in Figure 5. Figure 6 is from the BMP280 data sheet, and indicates that if SDO = 0VDC, then the slave address is $76. Figure 7 shows the I2C addresses $68 for the MPU9250. Then under the menu item Sensors, press Add and from the drop down menu select the BMP280 and associate it with the address $76 as shown in Figure 8. The result is shown in Figure 9. Finally under Connections, add the BMP280 to the SignalK Server as shown in Figure 10.

Fig.5 I2C Detect Addresses
Fig.6 BMP280 I2C Settings
Fig.7 MPU9250 I2C Settings
Fig.8 BMP280 Detection & Associated $76 Address
This image has an empty alt attribute; its file name is i2c.png
Fig.9 I2C Sensors
Fig.10 BMP280 Connection to SignalK Server

MPU9250 Detection

Go to OpenPlotter/Pypilot and the MPU9250 should be detected as in Figure 11. Select “Only compass” for now. Then as before, add the MPU to the SignalK server as shown in Figure 12.

Fig.11 Pypilot MPU9250 Detection
Fig.12 MPU9250 Connection to SignalK Server

SignalK Server

Now finally go to OpenPlotter/SignalK Server to verify that the BMP280 & MPU9250 are connected. You should see I2C & Pypilot SignalK entries as shown in Figure 13. Figure 14 shows the SignalK Instrument Panel with Pressure/Temperature (BMP280) and Heading/Yaw/Pitch/Roll from the MPU9250.

This image has an empty alt attribute; its file name is signalk-1024x532.png
Fig.13 SignalK Server Showing I2C
Fig.14 SignalK Instrument Panel
FIg.15 YouTube Video OpenPlotter – Sensors_a

Please send your comments, questions and suggestions to:

YouTube Channel
YouTube Channel


#1. -“OpenPlotter – Naviagtion System on RPi”

#2. – “OpenPlotter – GPS Connection”

#3. – “OpenPlotter – AIS Connection”

#4. – “OpenPlotter – RTL-SDR for VHF/AIS”

#5. – “MPU-9250 Motion Tracking Device”, TDK Invasense Data Sheet

#6. – “BMP-280 Digital Pressure Sensor”, Bosch Data Sheet

By Jeremy Clark

Jeremy Clark is a Senior Telecommunications Engineer and Advanced Amateur Radio Operator VE3PKC. He is the author of E-Books on Telecommunications, Navigation & Electronics.