gps auto- steer auto pilot for boat

Hello, I am Jim, 72 years old licensed ham, 55 years in electronics as a tech, retired, and recently discovered the Arduino world. I live in Manitoba Canada some of the best fishing country in the world. I have an 18 foot 188 hp boat with a 7.5 hp trolling motor. :whistle:

Where I want to fish is a manmade lake in a valley where the river used to run. I have depth and contour charts and I want to use arduino to slave my Humminbird GPS / Fathometer /Fish Finder to an auto steer system and eventually to an autopilot. Not content with waypoints of lat. long. I would like to take the depth readings to follow the old river channel.

Thus far I have an Arduino Maga 2560, a Uno, an ardupilot, a flux gate magnetometer, breadboards, leds, lcds, headers, relay boards to work with and I have a 12 volt linear actuator to actually steer the outboard. :ugeek:

Now the problem, many years ago ( read that as circa 1974) my first computer was a TI-99/4A and did a lot of programming in basic. I was was also quite comfortable with DOS. Now, at my age I am having problems trying to learn C.

So far I have blinking lights and traffic signals etc runing on Uno. Where I am having a problem is figuring out how to interface several sketches in the IDE and have them compile without trashing each other.

There is a world of info out there and Ii have been combing it for gems. Just one of my hangups is how to enter or change waypoints - without carrying a laptop-

Thanks, I love sparkfun, like a beacon to a new harbour in a storm.

:violin: Jim, VE4JI

Hi Jim,

Assuming I understand your question correctly, it’s more about the Arduino environment than GPS per se. The key to combining multiple code modules in C-like environments is the #include directive, as in:

#include <SoftwareSerial.h>

Here’s a link to [writing libraries for Arduino, which covers how to write libraries to include in your sketch. You might not be ready to write your own libraries yet, but that should give you an idea about how #include works.

Hope this helps,

Tim](http://arduino.cc/en/Hacking/LibraryTutorial#.UwjtWl70oZ8)

Hi Jim,

You sound like my Dad - 79 years old and he just developed his own autopilot system on Arduino.

Using his experience, the easiest way to enter waypoints is to use a smartphone and a bluetooth module on the Arduino.

You can pick them up for as little as $3 on a well-known auction site, or use the $25 sparkfun unit: https://www.sparkfun.com/products/12576

At the smartphone end, you will need to be running Arduino (Apple prevents use of Serial Port Profile Bluetooth devices - who knows why…) and an app like this one: https://play.google.com/store/apps/deta … ller&hl=en

Feel free to ask more questions - I was in your place at the beginning of the year and have learned so much about GPS/Arduino/Bluetooth/Compass from my Dad’s app. I am sure I could code it myself :slight_smile:

I have thought about doing the exact same thing as you are and might be able to help you out as I have programmed extensively. You can contact ne directly at wade at dajanibrown.com

wade

I have a similar issue with GPS way-points, but I’m using a ground vehicle to navigate around a track. I figured as far as way- points, I would simply use my other commerical GPS unit, then record the NMEA sentences (LAT, LONG, and Bearings) no more than 10 (of the 3 items) as I walk a straight line. Next, I’d plug that data into an intger array for the C-lanuage program. Now, to calculate distance, I’d use the Great Circle Earth formula. Finally, from a starting point to way-point one, I’d use the bearing in degrees to point to the right direction. The distance would be calculate via my encoders wheels. So, I’m basically parsing the data myself. Well, that’s what I believe people are doing to get there robots working with GPS at the recent 2015 AVC.

Here where I need help. I noticed the NMEA sentence allow for way-points( $GPWPL), but I’m using adafruit’s ultimate GPS. I’m not sure how you can transmit a message to the GPS module to accept/add a way-point in the same manner as my commerical unit accepts/adds a way-point. That’s where I believe an arduino would be needed to have an array of way-points to go from start to a way-point after another way-point. Please correct me if I’m wrong on this.

Also, why do use a gyro with a GPS for a ground-based robot? So, wouldn’t a 2 axis accelometer work just as well or is there something I’m missing here?

Please advise. Thank you.

Mike Simpson

Hi all,

I’m in similar project: create an autopilot arduino based.

If you want to see my project, just you tube search “rabadakpilot”.

Please feel free to contact me.

Good projects and warm regards from Portugal