• Welcome to Jetboaters.net!

    We are delighted you have found your way to the best Jet Boaters Forum on the internet! Please consider Signing Up so that you can enjoy all the features and offers on the forum. We have members with boats from all the major manufacturers including Yamaha, Seadoo, Scarab and Chaparral. We don't email you SPAM, and the site is totally non-commercial. So what's to lose? IT IS FREE!

    Membership allows you to ask questions (no matter how mundane), meet up with other jet boaters, see full images (not just thumbnails), browse the member map and qualifies you for members only discounts offered by vendors who run specials for our members only! (It also gets rid of this banner!)

    free hit counter

DIY GPS Speed Control Project

Mainah

Jetboaters Admiral
Messages
3,016
Reaction score
4,052
Points
362
Location
Chapin, SC
Boat Make
Yamaha
Year
2016
Boat Model
Limited S
Boat Length
24
I have developed a DIY plug and play method to execute GPS speed control on 1.8l engines that already have rpm cruise assist. The good news is that the parts run about 60 bucks and no dash modification or screen is needed. Think car like cruise control buy pressing a button for set and then up or down to change the set point if desired. The bad news is US Patent 81453272 claim 24. My method does not step on their original version but it does step on this updated version with claim 24. This patent also negates two other methods I was considering. I am still going to finish building my own but I will not offer it for sale nor offer enough how to details such that anyone not skilled in the relevant art could build one themselves (at least not for the next 11 years). Sorry for the tease here but I don't want to fight with a company that every boat maker and boat electronics company with drive by wire is already paying. As far as me selling it to the patent holder so there may be a cheaper perfect pass alternative in the future; they have a agreement not to compete with perfect pass on throttle cable controlled boats and the reverse is true as well. So double whammy.

For those waiting for Yamaha to come up with a add on for boats that did not come with the gps speed control .. don't hold your breath. For those waiting for an add on to enable chart plotting or fish finder directly into Connext .. well maybe in the future but as an add on after the fact most likely not IMHO.

What I can offer is details about our boats.
  • We have built in buttons that adjust the rpms up and down by 200 rpm. Three state ground contact switch on older models and NMEA 2000 aka N2K proprietary network knob controller on the Connext models.
  • Our boats have APS modules that receive a 5 volt reference signal and vary the output based upon the cable pull
  • Our engines communicate over low speed can bus
  • Our boats have a built in NMEA 0183 GPS receiver in the tach
  • The Connext boats have an additional proprietary closed area network (CAN) running at a 250kbs baud rate which is N2K compatible once one deciphers the proprietary data.
Knowing this there is a lot someone skilled in the relevant art can do with a programmable micro controller and some various other components controlled by it if they can figure out how to parse the relevant data and program their own algorithms.

I am waiting on a part so I can test my micro controller code. Hopefully I can get everything worked out and done before the end of the season and take a video of it in action.
 
I feel really dumb now...lol!
 
@Mainah Love it, pretty cool what you are doing!
I'm just curious why would you want to go that way, rather than adapting parts of the Yamaha's (now) native drive by wire system?
For your GPS speed control devise to work you still need servos/potentiometers, right?
 
@Mainah Love it, pretty cool what you are doing!
I'm just curious why would you want to go that way, rather than adapting parts of the Yamaha's (now) native drive by wire system?
For your GPS speed control devise to work you still need servos/potentiometers, right?

I would think it wouldn't require servos......all you need is a way to increase and decrease the RPMs (which the cruise assist can do), and then a way to know if speed is increasing or decreasing.
 
Legally I can and will build one for myself. I don't know how teaching others falls into the legal equation but feel that posting a parts list, code and algorithim so one can just go step by step to make their own would be a little gray if there was any real or perceived benefit for me. Especially since the patent is on the method. Plus I don't think that @Bruce wants to receive any civil take down or ip divulge requests.

Of the three methods I came up with one would use servos and the other two do not. The one I landed on does not and @Julian is on the right track. Non-Connext models would be far easier to develop code for from what I have researched.
 
I never understood why would Yamaha rpm cruise control not be adapted to speed control. By Yamaha.
 
@Mainah - You must have been reading my mind dude. . . . . After I sold the PP I bought from @Bruce (didn't fit my year), I was thinking about this heavily. The cables on his unit were for the MR-1 and Manual. . . . The 1.8L is all CPU controlled already. The throttle cables run to electronic throttle controllers. (Obviously, you know this but adding context for those who may not). I was literally JUST thinking there has to be a way to interface with the controllers to set the speed. I am certainly not experienced enough to know how to re/write the code, but I figured it was totally doable.

Anxiously awaiting your results.
 
Plus I don't think that @Bruce wants to receive any civil take down or ip divulge requests.

We should talk about it but you are being very careful and within reasonable constraints. Especially if it is an improvement on the existing IPR.
 
I never understood why would Yamaha rpm cruise control not be adapted to speed control. By Yamaha.

One possibility is that Yamaha did not want to pay royalties or could not come to a deal on US Patent 81453272. The key is that rpm cruise control does to attempt to maintain a pre determined speed. Also cheaper and easier to implement.

I really thought I was on to something before my attorney dug this up today. Figured I would sell sub 500 bucks a unit or sell the rights outright. What I learned is that there is a huge mark up on these systems and there will be for the next 11 years.
 
One possibility is that Yamaha did not want to pay royalties or could not come to a deal on US Patent 81453272. The key is that rpm cruise control does to attempt to maintain a pre determined speed. Also cheaper and easier to implement.

I really thought I was on to something before my attorney dug this up today. Figured I would sell sub 500 bucks a unit or sell the rights outright. What I learned is that there is a huge mark up on these systems and there will be for the next 11 years.

As long as you are not selling something, could patent infringement be an issue? Maybe you should upload the details to wikileaks and we can just link to them here. . . . . . = )
 
It is wild how easy it is nowadays to build something like a cruise control system.....we appreciate your caution, but I find it hard to imagine how they could do anything to anyone that teaches people how to build their own stuff. The point you make about benefitting is the key....if they could prove you were selling them or in any way benefitting from it...that would be different. 11 years to wait is a long time.....bummer.....
 
We should talk about it but you are being very careful and within reasonable constraints. Especially if it is an improvement on the existing IPR.

Not sure it is an improvement on the IPR. It is a however a unique method that is not currently used but is broadly covered in the patent. Something tells me if someone hit the market with a product at half the price of the current ones that was easier to install I would be mercilessly pursued. I will talk to my attorney again tomorrow to understand any and all issues with posting very specific instructions.
 
Not sure it is an improvement on the IPR. It is a however a unique method that is not currently used but is broadly covered in the patent. Something tells me if someone hit the market with a product at half the price of the current ones that was easier to install I would be mercilessly pursued. I will talk to my attorney again tomorrow to understand any and all issues with posting very specific instructions.

Is your attorney a patent attorney? If not lets talk to one of my clients.
 
@Mainah, well, you don't have to provide exact instructions. You could accomplish the end goal by making small steps to accomplish intermediate goals thus enabling an end user to piece them together.

Almost like....protecting your code by making an SDK that exposes capabilities/function.

Cool stuff.
 
Erase this thread till you speak to an intellectual property attorney
 
So I got this working a few weeks ago after running into a few unexpected things. Long story short is that 200 rpm resolution is not adequate for smooth operation. As a comparison point perfect pass is theoretically able to achieve ~24 rpm resolution based upon the link between TPS potentiometer voltage output and rpms or about 8x smoother. I also contemplated 3 other methods and shot all of those down as well. I will be buying perfect pass in the next group buy as a result. For those interested the geek speak is below.

I made my own NMEA reader using an Arduino. I started with an UNO and a can bus shield but it did not have enough horsepower or memory so I had to upgrade that to a DUE with a breadboard add on holding a resistor, diode, and mcp ic. I also built a custom Deutsch connector so I could just plug in to the NMEA diagnostic port behind the helm. Once I got that done and tweaked some open source base code for programming the Arduino I was able to read to the PGNs in real time but wow that data was coming in super fast in 8 byte double hex pairs. I was able to identify 19 unique PGNs with most of them being proprietary iso address claiming making things very difficult. By examining each unique proprietary PGN while pressing the buttons on the joystick I was finally able to isolate it and map all of the joystick command hex pairs. From there I decided to add on a dedicated gps antenna and module to the DUE. I wrote my custom code and algorithm aiming for a .5 mph speed delta vs the set point. I headed off on the water with my board connected to the boat, my laptop connected to my board and someone else driving so I could see what was going on real time.

After a few tweaks it was working but it was instantly obvious that the engines kicking up and down by 200 rpm (tricking the system into thinking that the cruise control buttons we being pressed) that 200 rpm was too big of a delta and was happening too frequently. Very annoying and not as smooth as perfect pass. At that point I was just reading in speed from the gps module every tenth of a second and comparing it to set speed to determine if the cruise had to go up or down. I then changed the refresh rate to every second and it smoothed out a bit but entering a hard turn it had to up the rpms multiple times only to back them down and then work hard to find the balance again. So I added rate of turn to the algorithm and that smoothed it out a bit again. I got the code tweaked pretty well and then made a 5 minute run while comparing target speed on a separate device. Even with the allowed delta at 1 mph it varied nearly 1.5 mph throughout the run because it would uptick or down tick too far with the 200 rpm resolution. Perhaps finding the sweet spot between allowed set point variation and refresh rate may have improved things a bit more but the 200 rpm resolution is certainly the downfall of this method and not something I felt could be fully overcome. As such I have declared this method dead for my use but I will put up a separate post with PGN info on the joystick in case someone can make use of it for this or other ideas. As far as the rest of my board design and code I will not make that public for quite a few reasons.

Another method would be building my own perfect pass copy using servos or stepper motors but given my experience in trying the above I believe that there would be even more to getting the algorithm tweaked and it would take a whole bunch of time in fabrication and coding. Yet another option I considered is doing an Arduino controlled solid state potentiometer between the tps/aps to read the throttle values and re-output the same value with speed control off but output gps controlled values depending on the position of the throttle and the set speed. This would be a crazy amount of cutting and splicing into the factory harness not to mention something that would certainly void the warranty and take a bunch of coding time. Lastly I considered using the boat model function in Connext and adding the needed modules for an e series. That idea quickly failed by using online part references and the now available online service manuals I determined that the wiring harness is far different requiring a boat load of wiring and the ECU is likely flashed with different firmware to recognize the different I/O not to mention the expense of the factory modules.

So is DIY perfect pass possible? Yes. Is it practical? In my opinion ... no. What is my final solution for myself? Buying perfect pass in the next group buy.
 
Last edited:
@Mainah Yet another slam dunk post!
Thank you. We are so lucky to have you contribute here.

It is also a good read, kind of like a sci-fi novel.

That said, the 200 RPM step (which is the delta of the native cruise control steps) does seem rather steep for smooth/accurate speed adjustments for water sports. And it is "both engines together" only. Indeed, using cruise control for speed adjustments when towing wakeboarders simply doesn't afford the subtlety that's required.

PerfectPass it is!

--
 
Last edited:
Back
Top