New IMU / Depth Sensor


Hey folks, we’re at the end of stock for the current version of the IMU and Depth Sensor module. If you have already started your build or are thinking about starting your build please note that the sensor module in question can be attached to the designated auxiliary wires on your ROV after it is completed so there’s no need t wait.

Being at the end of stock also gives us a good opportunity to make a revision. The desire for making changes comes from both internal research and development here at OpenROV HQ and feedback from the community. A chief concern was that there is an issue that some of the IMU units have, which are discussed in detail on this thread:

We are also looking at ways to improve performance and increase the capabilities of the basic but essential upgrade. We are nearing the end of the development cycle and hope to have more information very soon on this thread. If you are interested in tracking the changes and hearing announcements about this please follow this thread, check back from time to time or email to get on the wait list for the new unit.

Stay tuned,
Zack / OpenROV Team


I’m not an OpenROV user/creator, but I am a general electronics guy.

One HUGE help could be the addition of an internal level shifter to allow 3/5V compatibility out of the box. Perhaps OpenROVs are all standard 3V logic units, but I’ve been purchasing a lot of the IMU units for other purposes (aka scuba computer, or other depth/water related measurements.) and sometimes a MCU I really want to use will be 5V. This isn’t a HUGE problem since I add a level shifter, but it’d be nice to put all my I2C devices on a common bus.

This is totally not a “requirement” by any shot. I’m simply throwing one use-case and it is a selfish one too.

On the other hand, I’m a huge fan of this module, so if I can help in any way, I’d be happy to contribute.


Interesting thought! Any idea how that would affect the bill of materials?

We might look into that. Do you have a schematic of just a picture of the
circuit you are using to modify these? Share if you are comfortable.



Ah, so I just used this:

Which means my design changes it from 3V to 5V permanently. I’m not sure if the level shifter works with 3V attached to Low-side and High-side both. In which case, putting this in the middle would make the sensor universally compliant. You’d have V3V and V5V lines coming out in addition to GND, SDA and SDB. There are many very-small ones that’ll fit nicely.

Here’s a proposed circuit diagram (and what I have). You should get this vetted by someone who does electronics for a living, as opposed to a hobbyist like me whose know-how is based off pop sci magazines. :smile:

New users can’t upload images apparently, so I put it on dropbox here:

On the right are 5 pins coming out of the overall IMU chip - the only notable addition is an extra voltage pin.

On the left are 4 pins which go where the current 4 pins used to go anyway.


About the specific part I’d use, this would be a candidate:

I’m betting the total cost in the bill of materials would be in the order of tens of cents.


Update (5/13/15)

I’d like to update everyone on the progress of this module. We did some preliminary testing with the new unit at Lake Tahoe last weekend. It was very promising. This milestone means that we are ready to go into first article production on schedule. Hopefully that will turn out well and we can sen the order to go to fab shortly after.

Thanks for your patience.




The MOSFET level shifter used in the Adafruit product is essentially the same as what we do on the current controller board, to shift the 5V I2C bus coming out of the Atmega 2560 to the 3.3V level used on the Depth/IMU board.

Over time we’re gradually moving away from 5V stuff- pretty much the only product using it anymore is the Arduino, and they seem to be working their way towards 3.3V as well, with the Arduino Zero (though with the current ownership issues, who knows what will happen…)

So unless there’s a whole lot of clamoring for a 5V product, I don’t see us introducing one.

The idea you have for the converter works, though you left out the 5V–>3.3V regulator that would be needed on a 5V board. This would probably be the most expensive part of the modification.

Please continue to post the work you’re doing, either on the forum or on the community hacks portion of the Dozuki site. The products we offer in the store are never going to be perfect for everyone, and we need more people to share how to modify things for their specific need. Thanks.



Walt, I totally understand. I too use it mostly with my 3.3V boards, 99% of the time. One of the principal complaints I get against Raspberry Pi from traditional Arduino folk is that my Pi is 3.3V logic, and you’re also right that the regulator would be both expensive in terms of cost, but also in terms of power wastage.

That’s why my very first comment was, “This is merely a suggestion.” I’m going to order a ton of IMU’s regardless because it’s the BEST consolidated IMU out there. I’m very happy with it as it exists.

I do appreciate you taking the time to respond though. Thanks so much. I’m coaching a ROV team for the MATE competition next year, so hopefully I’ll be able to contribute more stuff in the public domain.

ROV Software Suite 30.0.3

So speaking of testing… it went well enough we wanted to share the leading IMU details. We have been testing the new Bosh BNO-055 which does full 9-DOF fusion on board. Turns out that feature is a key requirement for the IMU board as we need fast sampling of the raw sensor data to filter out noise and provide fast response.

Below is a photo of the related BNX model (which has the same sensors but not the fusion).


Haven’t looked into the library, but do we have access to the digital motion processor? Not that we’d want to change any of it, just curious. The AHRS algorithms these mems cats are using dose a pretty decent job of it.

Having said that, I have two libraries, from Madgwick and Mahony (gradient descent and a nonlinear complimentary filter), for attitude estimation for comparison of the onboard dmp. Spits out quaternions.


Guess it depends on what access you after @Jim_N, they do have a ton of options around how they feed the sensor data in to their fusion system, but not so much access that we can actually see what the fusion system is doing.

There is another chip we came across that is solely a fusion chip where you can upload your own algorithm and works with any chips you want to connect it to. The EM7180 SENtral fusion hub.



We sent the new IMU board to proto today. They should arrive in a few days time and we will test them out. If they test well we will go into production in the first week of June. Thus our new ship date is looking like mid-June. We should have them available in our store at the end of the month.

Best and thank you,



I wanted to share with all of you the tentative files for the IMU.

BNO055 MS5838BoB.v02 Bottom Layout.pdf (11.4 KB) BNO055 MS5838BoB.v02 Schematic.pdf (21.6 KB) BNO055 MS5838BoB.v02 Top Layout.pdf (17.9 KB)



OpenROV Production team member / Engineer here:

Wanted to update all of you following the IMU thread on what has been going on with the IMU here at the lab. We have been in the hardware testing phase since the middle of last week, and we are still troubleshooting a few things. We were not able to fail the unit in our pressure chamber, indicating the hardware will at least function past 200m. At the moment, getting the new IMU up on the store is our main focus here at the lab. We want to make sure it is a reliable device, and that we mitigate all potential issues before we release it. No updates on release date yet.

Nima Torabi

IMU interface documentation

Do you need to change the setting in AConfig to use the new IMU?


Hey everyone,

We have a couple people with beta units of the new IMU floating around. For those with beta IMU units, here is a link to the code changes that you need to apply to your image to get the new sensor to work. I’ll add the changes for the depth sensor soon.

For everyone else, we will provide instructions for upgrading the software when the IMU is released.

This is setup to mount in the same orientation as the prior IMU. Wires towards the aft of the ROV with the depth sensor pointed down.


Hey everyone,

Just wanted to share one of the technical items we are working on. The depth sensor on the IMU which zoomed in below is added to the board at a factory using an oven that “bakes” the solder and components of the board together. The depth sensor is a sensitive device that ships with instructions called a reflow profile that explains how the heat in the oven is to be applied to avoid hurting the sensor. Some of our units from our initial test run show discoloring along the outer membrane of the depth sensor. We are currently waiting for the manufacture to get back to use for clarification on what we are seeing to ensure there are no defects from the assembly process.

Hope you find that interesting!

split this topic #18

I moved 8 posts to a new topic: Trouble loading the Beta Arduino software for new Bosch based IMU


Hello from OpenROV HQ!

Thank you for your patience while we developed the new IMU board. It’s getting ready to go and we’re excited to announce that they are now available in our web store:

It’s a dramatically better sensor module. It goes deeper (down to 30 bar (~300m). The new module has an auto-calibrating compass that orients to magnetic north and has solved the IMU data loss anomaly–from which a few users had reported

These upgrades mean it’s more expensive, but for your patience, we’re offering an early release special. We have 50 units available at the price of the older model. We are looking at a mid-August ship date.

OpenROV Team

GPS for ROV Surface Navigation

Thanks @Zack and OpenROV HQ for pushing these out so quickly since I saw them working like a charm at Tahoe! I’ve already put in my order for two of them and can’t wait to see how well they work. I’m really working forward to a working compass that orients to magnetic north :smile: