Topic:
Proposal type: Hardware [X] , Software [ ] , Other [ ] : _________________
Description:
Planned amount $$ (USD): $100
Estimated time for completion:
2 weeks
2 weeks
This would be a nice addition for smaller 1-2s builds. this board is always in stock and has been consistently for the last 6-9 months. Plus there is the ELRS and non version. I had started a port awhile ago but was never confident enough to submit anything. @andyp1per I see your on the funding committee now why donāt you just approve this hahah. Looks like @james_pattison and @MagicRuB are on vacation. In the case that its not approved send me your PayPal Iāll flip you 100 bones for this
Approved by the @Funding_Team
Test firmware in the PR
Hi,
This seems like a great little board for small quads / quad planes etc. Planning to use for a 3d-printed micro vtol project.
I picked one of them up and put the latest beta build on - everything seems to be functioning so far, except the IMU. When I try to calibrate accel in MP, it hangs for a second, and then drops serial connection and I have to restart both the FC and MP.
I got the board version with ICM42688, whereas the h/w def and description says itās for MPU6000. I didnāt notice the distinction in advance.
Could that be the problem? Seems like a pretty simple change to the hwdef if I can figure out the specifics, and recompile.
In general, what happens if boards have alternate components like this? Is the approved Ardupilot target just for the one thatās considered more commonā¦?
Any tips appreciated! And fairly new to Ardupilot so forgive my ignoranceā¦!
Ken
We can change the hwdef to support both, itās just the IMU orientation that can be a little tricky to get right. We try and support all the variants, but its harder when manufacturers donāt talk to us
You want to try something like this in the hwdef:
SPIDEV icm42688 SPI1 DEVID1 GYRO1_CS MODE3 1*MHZ 8*MHZ
IMU Invensensev3 SPI:icm42688 ROTATION_PITCH_180_YAW_90
Thanks! That worked - almost! I changed it to the below, per another board hwdef also using icm42688.
I then had to set AHRS_ORIENTATION to 2 (yaw 90) for orientation to align with the arrow on the board. So Iām not sure what this means the compile orientation should be. (unwinding these in my head always proves wrong!) Thanks again!
SPIDEV icm42688 SPI1 DEVID1 GYRO1_CS MODE3 2MHZ 16MHZ
IMU Invensensev3 SPI:icm42688 ROTATION_PITCH_180_YAW_90
Try ROTATION_ROLL_180
Thanks that would make sense! I will try it.
I have just compiled the firmware locally with ROTATION_ROLL_180
as per you and frequency line 2*MHZ 16*MHZ
as per @zortrop, and it works - at least in terms of the angle changes being correct. Is it possible to support both IMU versions upstream?
Yes, just do a PR with those two lines added
I have no idea so far why the order of the lines matters (e.g. if the old lines come before the new ones, my board does not work and apparently behaves as the current master). But since other boards tend to list Invensense v3 first, I guess this is the way to do it. (Is it because ICM42688 can communicate via the v1 protocol during initialization, and then fails to behave as expected?)