Orientation sensors are popular in e.g. flight control and mobile phones. This sensor uses a MPU 9250 which consists of a Gyroscope/ Accelerometer/ Magnetometer (compass) and BMP280 - barometer/ temperature. The board in the aliexpress link in BOM works on 5 and 3.3V and includes sufficient pull-up for I2C high speed.
This is an advanced device which makes it possible to determine the exact orientation/ movement and altitude.. Mounted to @GertSanders "Battery based atmega328p sensor" this makes a perfect "Orientation sensor" with a simple I2C interface.
![Orientation Sensor](https://www.openhardware.io//uploads/56f24df65bb2bbd57c6d2bea/image/Sensor and Board.JPG "enter image title here")
In the video you can see the sensor at work with a two servo pan/tilt actuator.
As there (currently) is no "Orientation type" for MySensors I have created my own type as a subset from the V_TEXT type. V_ORIENTATION = Yaw ; Pitch ; Roll
Yaw - for the orientation in the vertical plane Pitch - orientation in the horizontal plane Roll - the position of the object (e.g. aircraft) around its own axis. (not used in the example)
The "Modern devices - motion plug" Arduino library is used to read the sensor and have acceptable position readings. The Yaw, Pitch and Roll are calculated from the 9 axis readings of accelaration, magnetic field an gyroscope and are pretty stable. For who is interested in the theory & calculations ;) quaternions
The sketch sends the values if there is a more than one degree change in any direction.
As (currently) no controller can handle the V_ORIENTATION type the information is send directly to a node/actuator.
An example will be published separately as "Orientation actuator".