USV DIY - Navigator/T500's

Hello all!

I have a project at work building a USV using primarily Blue Robotics components for the navigation/steering/thrust. (BR Navigator, Quickrun ESCs. BR T500 Thrusters, BR Xbox controller)
I have been able to get everything up and running on land and finally had the chance to do some tests in the water today. There were of course some hick-ups getting the thrusters to work as intended. I was able to get the USV to drive forward and back but the steering was inverted. I remember having this problem a few years ago with another build but not what I did to fix it. I then found a thread here where someone suggested recalibrating the controller and reversing the yaw. After doing this the USV seemed to be working as intended so I decided to give it a test run.

Once I had gotten about 30m away I lost steering completely. I was still connected to the navigator and was able to see in Qgroundcontrol that I was sending signal from the Xbox controller but for some reason the USV did not respond. After fetching the USV and restarting the navigator/thrusters I once again had contact. I was then able to drive the boat but after about 30 seconds I lost steering again which this time reconnected after about 5 seconds. This repeated multiple times. I noticed later when reading through the forums that the navigator was disarming without me touching the disarm button on the controller nor pushing any buttons on the laptop. This also happened multiple times. Something to add as well was that at times I felt like there was also a delay in the response to the steering controls which I don’t quite understand. I also checked ZeroTier which was displaying that I had contact with both the Navigator as well as the laptop the Xbox controller was connected to throughout testing.

I have installed the navigator and M200’s in another USV which I never had connection problems with so this is new territory for me. The loss of steering response somewhat feels like it could be a faulty cable but I wanted to ask if others have experienced anything similar before I start to take everything apart. The disarming problem I haven’t encountered before either so if anyone has experienced this as well, I would love to hear what you did to remedy this problem. I have attached a couple pictures of the error messages I could find.

Thanks in advance if you’ve read this far,

Hoping for input as to what to try,

Cheers

Hi @SweUSV -

Your QGC log shows that the vehicle autopilot is restarting - is it possible that when underway, your power system for the Pi running BlueOS is insufficient, and your whole vehicle is restarting?

Alternatively, you may be losing communications at range - how are you connecting your laptop to the vehicle? If using the Pi Hotspot (or WiFi radio) this has pretty atrocious range…. the use of a Mikrotik radio dedicated to the connection is suggested, as that’s how the BlueBoat works!

As for your steering issue - you may want to make sure the vehicle doesn’t “go nuts” when put into Acro flight mode - you may have configured the thruster directions correctly for manual operation, but if the autopilot doesn’t have the correct channels / directions set it can still fail to navigate in Acro, Auto, Loiter, Guided modes…

Checkout the Failsafes page under vehicle setup - if you’re losing communications to the system, it may be disarming things…

Finally, T500s are not particularly well suited to USVs - they push hard, but not very fast! If you find your top speed lacking, consider removing the nozzles and 3D printing a larger, weedless propeller….

1 Like

Hi Tony!

I am using the 5V 6A power supply from BR. I was using 6S batteries that were fully charged so I dont feel like insufficient power is the problem. I getting the feeling that I will have to check over all connections to see if something maybe was loose.

I am using the xbox controller connected to a landsidelaptop that has 4g/internet and there is a 4/5g router in the USV with a external antenna mounted on the highest point of the USV.

I remember getting help from you guys to figure out my steering issues previously where the USV was reacting the same way. Do you have any tips as to how to remedy this issue instead of the funky ‘calibration’? Before doing the funky calibration the USV would drive both forward and reverse as intended but the turning was inverted.

I knew this when purchasing the T500’s and have 3d printed 3 pairs of weedless propellers!

Hi @SweUSV -

A loose connection could be responsible, but if using ZeroTier the more likely cause is the Pi switching its method of reaching the internet / making link via ZeroTier. If the Pi is connected to your landside 4G source, when it loses that connection it can take 5-10 minutes to find a new route over the internet from vehicle to control computer. Check that the Pi is not using its built in WiFi to connect to any network before sending it away!

To remedy the issue with motor direction, you simply need to make sure that the ESCs for the port / starboard motor are connected to the correct Navigator channels. Once that’s verified, the direction should be set so that forward results in the correct thrust direction for both motors.

SERVO1_FUNCTION = 73 (Throttle Left)

SERVO3_FUNCTION = 74 (Throttle Right)

1 Like

Thanks for the suggestions @tony-white! I’ll have a look at the settings on the Pi and make sure its only getting internet from the router/ethernet. What you explained sounds very logical.

I’ll check the servo settings as well though I thought I saw these suggestions in the forums yesterday and tried them but I hopefully missed this.

Will hopefully have a chance to do some tests today.

Finally had some time to work on the USV.

The Navigator is getting internet via an ethernet cable from the router and wifi is turned off. Is there a way to lock the Pi to the internet via the ethernet cable?

I checked all the connections and everything seems to be ok but now when I attached the sonar and tried to roll the boat around outside before doing some water tests tomorrow I see that I get quite a few error messages in Qgroundcontrol.

What do these messages mean? Is this the autopilot restarting again?

I was hoping the problem with the Navigator were solved now so that I could test the sonar. The power supply is 6s batteries that have 24+v and I have the 5V 6A power supply connected to both the normal power supply as well as the aux so I don’t think it has anything to do with the power supply.

I also just noticed some new messages from Qgroundcontrol now that the USV is sitting still.

I do remember having to turn off some EKF3 parameters when getting the old USV to function correctly but unfortunately do not have that documentation anymore.

All input is most appreciated.

Hoping to do some water tests tomorrow to see that everything is running correctly and test the sonar offsets.

Hi @DeepWaterExploration -

That forced reset message typically means the IMU is getting some wacky and conflicting readings, and so is ignoring them and resetting for a moment to try and “get a grip.” I’d suspect your calibration is quite poor - is it possible to perform both accelerometer and compass calibration with this USV, or is it too large? It’s shouldn’t be necessary to adjust any EKF parameters unless your vehicle dynamics are unique!

If too large, your best bet is to process a log file and generate calibration parameters to upload to the vehicle, under autopilot parameters.

I’d also double check that your keeping any cables carrying high electrical current as far away from your Navigator as possible! They can cause issues even with a good calibration, because when the motors are run hard the magnetic field suddenly goes a bit nuts!

Another thing to check/do, with the vehicle powered up and “warm” - running so the Navigator has reached its typical operating temperature, is to calibrate your gyroscope, under Vehicle Setup, in BlueOS. With the vehicle perfectly still, if the output is not close to 0 (before calibration) then this could help quite a bit!

Also worth noting that the Aux connector doesn’t actually power the Navigator/Pi, it only provides 5V to the servo rail - which isn’t typically necessary on a BlueBoat! The BlueBoat is actually powered entirely from the Navigator Power jst-gh power connector, which also carries the voltage/current measurement signals.

Finally, if the Pi Wifi is turned off, it is “locked” to internet via the ethernet cable? But in any case, you can adjust the routing priority in BlueOS - this just means that the core linux operating system uses the first connection to try and reach the internet, and if it fails tries the next (if it’s even on….)

Hi @tony-white -

Just so that I’m understanding correctly, this is not the Navigator restarting? I’m just trying to diagnose my loss of steering problems I had last time I did water tests.

If it is so that this is causing my loss of steering problems, how do I disable the EKF function so that I can run some manual tests?

The USV is unfortunately too large to do a normal calibration. 1.8m x 0.8m and around 100KG. I remember having to do the logg file fix with my old USV which I can do later but for the moment I would really just like to get the USV working in manual mode.

In time I would like to be able to send position data/heading from the sonar system we are using as it has RTK instead of DGPS which I’m guessing is what the Navigator uses?

I did some more water tests today and unfortunately the problem with loosing steering remains. I did however notice that I do not get any error messages in QGC when this happens. Could this point to anything?

I even tried holding onto the USV and just driving forward and sometimes I would lose just one thruster and other times both after 5-10 seconds. Everything connects again after a few seconds and I can continue driving.

One other thing I wanted to ask about that I noticed was that when driving full throttle forward it sounds like the thrusters reduce in speed despite being sent a full throttle command. Is this something new that’s programmed or can it maybe point towards the underlying problem?

One last thing I wanted to check was how to adjust the turn speed? When turning starboard or bowbord the turns are much slower than what I would like. I noticed that there is now a pre programmed function to reduce throttle when reversing as opposed to driving forward. Is this by chance a side effect?

Hi @DeepWaterExploration
Sorry for the frustrations!

Without reviewing system and Autopilot logs, it’s tough to diagnose what is happening…. I don’t think the Pi is restarting, because this takes a couple minutes! Remember, the Navigator is not running any code - it is only hosting sensors used by the Raspberry Pi, which is where the autopilot code is being executed… this sounds like either the ESCs are having an issue, or the autopilot process is tripping up - but again, those are blind guesses!

If you’re running T500s at 6s at full throttle, it’s important to make sure that each one isn’t drawing more than 1KW - if it is, that could significantly shorten the thruster lifespan. Are you using the Basic ESC 500 to power them? We’ve not tested much with the larger printed propellers, I would bet you fundamentally need to limit the power - what your seeing could be related to the ESCs, or limitations of your wiring?

If you can ping 192.168.2.2 during operation, and see if the “losing steering” corresponds to missed, pings, that would be informative.

Were you operating in Acro mode? There is no other way for "a pre programmed function to reduce throttle when reversing” to occur - Acro mode reverses when you release forward throttle, to kill any momentum…. Until you get a good calibration, you should only operate in Manual mode!

I’m surprised the turn rate isn’t meeting your needs- I would guess this is limited more by the size of your vehicle and drag than a parameter, as the default BB parameters have the turn rate quite fast! You can checkout ATC_TURN_MAX_G and WP_PIVOT_RATE and ACRO_TURN_RATE and TURN_RADIUS parameters.

RTK is just a slightly more advanced version of DGPS - any source of GPS input can be handled by the system! If your sonar has a RTK GPS integrated, and it communicates via ethernet, you can set it up as detailed in the FAQ (see below). It’s also possible to set it up this way if it outputs NMEA data via USB, or 3.3V TTL serial directly into the Navigator JST-GH connectors…

Hi @tony-white

If I am lucky I may have finally figured out whats been causing my issues. I believe that one of the switches to the ESCs was broken/not functioning as it should be. I replaced it this morning and was able to run the thrusters for a couple minutes in a bucket without losing contact. I will put everything back together and do some tests with the boat in the water tomorrow.

The ESCs I have right now are QuikRun 8BL150 which I have used before but I have ordered Basic ESC 500’s so that the entire navigation system is Blue Robotics.
I have only been testing in Manual mode as I have not had time to integrate the NMEA data from the sonar system. My focus now has just been to get the navigation system working as intended in manual mode before progressing.

Hopefully the turn rate will be improved with the new switch but I will look at the params you mentioned if not.

I am also planning to limit full throttle to around 80% to avoid drawing more than 1kW as you mentioned. Can I see in the qgroundcontrol log what voltage/amperage is being used when running at full throttle? I tried to look in Mission Planner but could not figure it out. Attached is a log file from after changing (log_99_2025-8-28-11-51-03).

I am also attaching a log from before changing the switch which should hopefully be able to show why the Navigator was ‘automatically’ disarming. I am guessing some kind of failsafe? (log_95_2025-8-27-15-25-51)

Thank you for the guidance!

log_95_2025-8-27-15-25-51.bin (508 KB)

log_99_2025-8-28-11-51-03.bin (700 KB)

Hi @SweUSV -

The 8/28 log file you shared doesn’t have voltage or power data, do you have the sense lines on the Navigator power port connected to a power module? Without something like this, you won’t be taking any measurements…This log file is generated by the autopilot, not QGround Control. It can be viewed here, or from the play button shortcut in the BlueOS Log Browser.

What do you mean by “switches to one of the ESCs” ?

Reviewing your 8/27 log, it is quite short, but does have a valid voltage measurement… it doesn’t seem like the throttle was increased in it? The throttle is disarmed at the end of the log, with no error message. Are you using a radio controller with this setup, or a traditional game controller?

Hi @tony-white -

I figured out why there was no voltage data….

I must have been a little too rough when moving things around and ripped the power contact off completely. I’ll have to have it fixed if possible, otherwise I’ll have to order a new Navigator… I’ve left things a bit untidy until I am sure everything is up and running.

The 8/27 log was indeed short and I didn’t apply any throttle, I had just noticed that the Navigator disarmed automatically without me pushing the disarm button on the X-box controller and was hoping you may be able to see why.

As for switch I literally mean a switch/circuit breaker.

I have one for each ESC that is able to be toggled when the boat is sealed. I was hoping to use the power data to see if I need to use a different switch with a higher Amp rating.

@tony-white -

I did also see this pop up in Qgroundcontrol but it did not seem to affect the steering. I looked in the forum and found one post about it potentially being something about logging frequense but that was inactive.

Hi @tony-white -

I’ve finally gotten the Navigator, etc working somewhat like expected. I was able to drive around for a couple hours today without any connection issues.

I was hoping for some help with the steering though as I tried adjusting the suggested parameters (ATC_TURN_MAX_G and WP_PIVOT_RATE and TURN_RADIUS) and still haven’t been able to get the USV controls fine tuned like I would like them to be. The only one that I noticed a significant change with was ATC_TURN_MAX_G which I have set to max (10).

The main issue I am trying to remedy is that when driving forward and trying to steer at the same time the boat barely turns. It is easier to stop giving forward thrust, turn and then start giving thrust again. I did not have to do this with my previous USV (Navigator, M200’s, etc.).

I also wanted to ask about the T500’s as even with the 3D printed weedless propellers I barely notice a difference speed/thrust wise. As I am using the exact same USV I obviously expected to see a noticeable change. Do you have any thoughts on this?

Hi @SweUSV -

Glad you got things working better!

A T500 with printed prop is going to have a higher top speed than the standard version, but won’t actually push harder - you’ve essentially geared your USV for speed, and not low-end force (sports car vs. tractor.)

You may want to complete some pivot turn tuning, or generally tune the steering controller.

From your descriptions so far I assume you’re using skid-steering with a couple of motors? That attempts to steer by increasing one motor’s output and reducing the other’s, so if you’re driving at max speed then you lose half of your steering authority (because the “increase” motor cannot push harder).

Are you saying you barely notice a difference between T500 and M200 motors?

If so, does the speed consistently increase throughout the range of the thrusters, or does it level out before you reach maximum thrust? It’s possible you’re running into hull speed issues, whereby there’s a phase boundary (in how the boat moves) that makes additional thrust have minimal impact on the vehicles speed (e.g. pushing harder is mostly offset by additional drag on the hull).

With the right hull design pushing far enough past this point can transition to planing, but most boat hulls are not designed for that, so can’t meaningfully achieve or sustain performance through the phase transition.

1 Like

Hi @tony-white % @EliotBR -

I was hoping that using the T500’s(M500’s) would give me a higher top speed than the M200’s but that doesnt seem to be the case. With the M200’s with the exact same hull and was achieving 3.5knots at full thrust. With the M500’s I am achieving around the same.

In my head I was hoping that with the added thrust I would be able to achieve the same speed using less throttle using the M500’s and when needed be able to drive even faster. I will try pushing the thrusters harder later once I have had the power contact fixed so that I can see how much volt/amperage I am pulling at full thrust.

I will go through the links you sent Tony and see if I can get the steering to be more like expected. I am indeed using skid-steering Eliot. I expected the steering to be like the USV I worked with previously as the only thing I’ve changed is the batteries and the thrusters. The rest of the system is the same (hull, approximate weight, etc.). Planing would be humorous to see but I definitely don’t think will be happening with the sonar attached under.

Hi @SweUSV -

3.5 knots is about the top speed for both M200 and T500, so this is either the hull speed limit Elliot mentioned, and/or the limit based on prop design / rpm. I would expect the larger propeller to be dramatically more efficient - at 1m/s on a BlueBoat this translates to roughly 50% less power usage.

You may have been operating in Acro mode in the past, which from a steering perspective is going to handle much differently than Manual - however it does require a good compass calibration to behave!

Hi @tony-white -

This must be because of the hull then but even with the hull speed limit theory I still expected to be able to reach a top speed using say 50% throttle instead of 100% when switching to the T500’s thus increasing my battery life. I will have to do some more tests and tweaks and see if I can see any difference. Are there any other suggestions you have if wanting to get more speed out of the USV?

One of my hopes with increased speed was to be able to use the ‘extra’ thrust in higher current areas. At the moment if needing to use 100% thrust to reach the same speed I may consider rebuilding to use the M200’s to have increased battery life. Any suggestions there?

I have very rarely used Acro mode previously though my plan with this USV is to start doing so once I have the time to get NMEA into the Navigator.