SK
Signal K•2w ago
Ba2

Any suggestions for an attitude sensor for signalk?

Hello My sail boat uses a simrad RFC35 flux gate sensor for the autopilot, but i dont know how to get that data into signalk. On the other hand I wish to have a solid state sensor which provides me with heading info and roll pitch values as well. In the past I tried to make one using arduino and mpu9052 or BNO085, but i wasn't able to get reliable results from them (at least in home environment). I am looking for a pypilot compatible, reliable and reasonably priced sensor component that i can connect to raspberry pi. Any suggestions?
8 Replies
Sailabout
Sailabout•2w ago
I cannot answer the flux gate part but, for the solid-state sensor, you can use a BNO055, a smart 9-DOF sensor that can be directly connected to your RPi and does the sensor fusion for heading, roll and pitch values internally. For my part, I use a GY91 (MPU9255 + BMP280) and a ESP32 with SensESP connected by WiFi to my RPi 4 with SignalK. To get the roll, pitch and heading from the values measured by the MPU9255, I use a simple fusion process (library: bolderflight/Bolder Flight Systems MPU9250@^1.1.0) running on the ESP32 under SensEsp. I use Visual Studio Code with PlatformIO.
PaddyB
PaddyB•2w ago
I use one of these, https://shop.pimoroni.com/products/icm20948?variant=27843993960531 Pypilot recommended, does very accurate roll and pitch plus all the other accell etc that pypilot uses but we don't see.
Sailabout
Sailabout•2w ago
This icm20948 gives movement in nine different ranges of motion: 3-axis acceleration, 3-axis gyroscopic motion, and 3-axis compass heading but seems not to give the requested roll, pitch and magnetic heading asked by @Ba2. Fusion software needs to be added.
Ba2
Ba2OP•2w ago
@Sailabout Thank you for your answer, I will give your code a try. I remember the madgwick library from before, but I trust Deepseek 😄 Do you think prototyping on a breadboard will have negative effects on the magnetometer sensors? And do you perform a calibration?, putting the device in non ferrous gimbal rotating it all around, keep track of bunch of points etc...
Sailabout
Sailabout•2w ago
Do not trust DeepSeek blindly, I needed a few iterations to arrive at a working app. 😊 My GY91 module is connected to a ESP32 board with 4 short wires (I2C) and booth are glued in a small plastic box. I moved this box by hand following the pypilot instructions for calibration but I have no idea about the resulting precision.
PaddyB
PaddyB•2w ago
No description
PaddyB
PaddyB•2w ago
pypilot does all the calibration, it will run imu only
No description

Did you find this page helpful?