Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

9-DoF IMU for Magnetic heading and boat heeling. #59

Open
oxbown opened this issue Nov 2, 2023 · 10 comments
Open

9-DoF IMU for Magnetic heading and boat heeling. #59

oxbown opened this issue Nov 2, 2023 · 10 comments

Comments

@oxbown
Copy link
Contributor

oxbown commented Nov 2, 2023

I´m planning to use my ICM-20948 to measure Magnetic heading and boat heeling. The sensor is i2c compatible, I use a cable to connect it to the M5atom groove port.

@wellenvogel do you think that is possible to add the sensor to the "GwIicTask"??

Library info: https://github.com/adafruit/Adafruit_ICM20X

Related N2k PNGs:
PGN 127250 - Vessel Heading
PGN 127571 - Attitude (Roll, Pitch, Yaw)

@wellenvogel
Copy link
Owner

Should not be that much of an issue...
But I have no device for testing.
And someone would need to write some minimal documentation.
If you only need this for your own you can easily write an own user task - just following the pattern from GwIicTask.

@oxbown
Copy link
Contributor Author

oxbown commented Nov 3, 2023

A new product of M5stack M5Unit-IMU-Pro, could be a good candidate. Documentation here
Is a i2c Six-axis Attitude Sensor (BMI270) + Three-axis Geomagnetic Sensor (BMM150) + Atmospheric Pressure Sensor (BMP280)
Arduino library

@oxbown
Copy link
Contributor Author

oxbown commented Nov 3, 2023

Should not be that much of an issue... But I have no device for testing. And someone would need to write some minimal documentation. If you only need this for your own you can easily write an own user task - just following the pattern from GwIicTask.

My plan is to help add more capabilities to the project (writing some code and testing with my equipment)

@wellenvogel
Copy link
Owner

That sounds great...
I just heavily restructured the IICSensorTask.
Now it should be much easier to write some code for a new sensor.
Basically you need to implement a Sensor config that inherits from SensorBase - see e.g.

class QMP6988Config : public SensorBase{

and a register function that we include in the sensor task.
Additionally you need to add the necessary config to the config.json.
I prepared the sensors now for 2 buses and each 2 sensor instances on one bus. You can control the sensors you would like to have via build flags (and the automated build for that is also on the way...).
So if you are interested - maybe you would like to implement your sensor this way.

@wellenvogel
Copy link
Owner

Are you still interested ?

@oxbown
Copy link
Contributor Author

oxbown commented Mar 22, 2024

Yes, I´m currently using an MPU9250 but not integrated into the ESP32 gateway. I use another esp32 to transmit the data (heading, pitch, roll) via TCP/IP in NMEA format.

@wellenvogel
Copy link
Owner

Ok, sounds intersting. Do you have a github repo for that part?
At the end it's again about testing...

@oxbown
Copy link
Contributor Author

oxbown commented Mar 26, 2024

My test MPU board. I use a M5 proto to make the wiring.
IMG_1012

@wellenvogel
Copy link
Owner

cool.
In the moment I'm just busy with a couple of other things...
Not sure if you would like to go for a PR?

@wellenvogel
Copy link
Owner

Are you still working on this?
What about a PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants