Category Archives: Projects

Projects and improvements we make to the boat

New Dinghy Cushions

With the tubes repaired, and the outboard repairs well undweray, the next major upgrade for the fishing dinghy was to replace the worn-out cushions. We’ve reupholstered most of our boats, so we had little concern that we could perform this job ourselves. So, with a rainy weekend forecast, we ordered zippers, naugahyde, and phifertex from sailrite, and also rented a couple movies from Redbox.

This was the dinghy condition before we started any of these ugpgrades. This photo gives a good idea of where the cushions will be installed, as well as the design.

After taking the cushions home, the complete extent of damage to the cushions became apparent:

After determining that nothing from the original cushions would be salvageable, we began the project by doing some test seams to figure out the best way to join the two colors of vinyl. We decided to go with a french seam with white top-stitching, and using the phifertex as the reinforcement fabric on the underside:

Three of the four cushions were simply oblong squares, a fairly easy cushion to build. After making the top panel out of two-colors of vinyl, the bottom panel was cut out of phifertex mesh to allow drainage, a zipper panel was built for one side, and finally the remaining three sides are also cut out. Then it’s just a matter of sewing all the parts together.

The 4th cushion, the seat back for the main seat, was much more complicated, with armrests and a boltrope. So it required deconstructing the existing cover to use each panel as a pattern on the new material.

Some of the details of the cushions include the phifertex mesh bottom for drainage, and the zipper panel:

The front-side panel stitched to the top panel:

And a closeup of the french seam:

At the end of the first day, the living room was a cushion construction disaster:

But at the end of the weekend, three of the four cushions were completely finished. The 4th and last cushion yet to be made is the smallest and easiest:

 

Advertisements

Who says you can’t paint an inflatable dinghy?

When we bought our boat, the RIB came with it, and we did very little to check it during the survey except to turn the outboard over and make sure it ran, but we obviously noted that the starboard tube was deflated. Every time we used the RIB we would fill that tube full of air, but a day or two later it would be deflated again. Clearly there was a leak.

Well, with the RIB out of the water for at least a few weeks, I decided to take advantage of the opportunity to find and fix the leak, and hopefully work on the cosmetic issues at the same time. I have a quote for new tubes at $4000, which isn’t a bad price for a re-tube, but I wanted to see if I could do any better.

The first step, so as to not disrupt Dr. D’s work too much, was to bring the existing tubes home to work on them.

That. Sucked.

Let’s not discuss that process any further. But, now that the tubes were off, and in my garage, I could begin the repair process. The first step was to remove the old, faded registration numbers and logos, which a heat gun and a spackle tool made quick work of:

Followed by a good scrubbing with soap and water:

And behold! A leak:

After letting the tubes dry overnight, I followed the rules that came with the hypalon patch material. The area around the leak was sanded with 60-grit sand paper, ad the first layer of glue was painted with a chip brush to both the patch and the tube, and allowed to dry for 90 minutes. Then, another coat of glue. Finally the patch was applied. The excess, leftover glue was painted around the edges, per advice on a forum. It wasn’t pretty, but the next day it held air.

At this point, despite the nay-sayers everywhere online, I had decided that I was going to attempt to paint the tubes to improve the look. I decided to start with West Marine liquid rubber. I chose it because, if I decided the liquid rubber was ugly, there was also the option to paint the tubes using West Marine top coating for inflatable tubes. Spoiler alert: the liquid rubber looked great, and we didn’t bother.

To prep for the liquid rubber, I wanted to seal all the nicks and scratches in the tube fabric. After researching for quite a while online, I decided that the easiest way was to simply spackle clear silicone over the holes:

After drying overnight, the next step was to prep the surface for painting (rubbering?). The tubes were fully inflated, and sanded with 60 grit paper until rough. Then the tubes were wiped down with Acetone to remove any oils or residue, and then wiped down with Xylene to prep for the liquid rubber. Remembering how difficult it was to take off, I didn’t want to paint the bolt rope, so masked it off. I also masked off the rub rail:

The instructions said to paint the liquid rubber on with a chip brush… in about 2 minutes I decided that was a horrible idea, and I switched to an epoxy compatible foam roller. The best technique I found was to paint the liquid rubber on thickly with the chip brush, and then follow up with the foam roller to spread it evenly.

Within a couple hours, I had the bottom half of the tubes painted. I found that the liquid rubber did a fantastic job self-leveling:

I let the tubes cure for 48 hours, flipped them, and did the other side the same way:

I’ll skip over how difficult it was to re-install the tubes a few days later as well. Even with copious amounts of dish soap and two people, that, too, sucked.

We will see how well the liquid rubber holds up over time, but the final product speaks for itself:

Ethanol Hell

Soon after taking possession of our boat, and delivering her to our home port, we wanted to get the RIB up and running.  Starting with the basics, I replaced the battery and filled the integrated fuel tank with fresh fuel. Sure enough, with those two updates, we were soon zooming around Commencement Bay, checking out potential fishing locations, timing how long it takes to get to certain places, and learning how she handles in different conditions.

One evening I took Tay and two of her friends out for a quick ride, showing off the seals and sea lions. Once clear of the marina, I throttled up, and we were soon on a plane, heading towards Brown’s Point.

And that’s when the trouble started.

The boat simply slowed down, and came off of plane. No bang. No smoke. Not much change in how the engine sounded. Just no power.

Not sure what had happened, I slowly motored everyone back to the dock to safety, and I spent a few minutes seeing if I could debug the issue. Later that weekend, after googling the symptoms, I was worried that maybe the “fresh fuel” that I put in caused the problem, since I simply filled a jug full of gas from a local gas station, which had at least 10% ethanol (I didn’t bother to look). But I am sure there was ethanol in the fuel, as EPA regulations make non-ethanol, or E0, gasoline extremely rare.

We share a dock with Doctor D, an outboard mechanic; we had already chatted about having the dinghy serviced since we had no documentation on how it was maintained, but now I also needed to have him diagnose my problem. In a few minutes he was able to determine that one of the three cylinders was not producing any power, and the suspect (later confirmed) was a clogged carburetor due to ethanol fuel.

Ethanol, I now know, is a serious problem for older outboard motors. I’m not going to pretend to be a mechanic, so I won’t go into details as to how or why, but BoatUS and other sources have some very good reading material to explain it if you care to understand. If not, suffice it to say, avoid ethanol-fuel like the plague on your outboard powered boat. There are websites available that map out where you can find pure gas in case you have a classic vehicle, or boat, that is incompatible with the new fuels.

Oh, but my anger with the EPA wasn’t over yet.

I still had 7 gallons of fresh, ethanol-blended fuel in my RIB’s tank. And I didn’t want to spend all the time, energy, and money fixing the problem, only to have it come back as soon as I started burning that gas. I needed to siphon it all out. After failing to get the siphon tube into the tank via the inlet, Dr. D let me borrow an attachment that allowed the fuel line from the engine to be used. After a few minutes I had a fuel tank full of E-10 fuel.

Modern cars can burn E10+ fuel just fine. You would think that putting the fuel I just siphoned out into a truck tank would be easy. But you would be wrong.

The new “clean air” nozzles, designed to prevent fuel vapors from leeching into the atmosphere, also don’t fit into the fuel port of a truck. I am not sure how long it takes to leech a few cups of gasoline into the atmosphere using the old-style gas cans, but I know exactly how long it takes to pour a few cups of liquid gasoline straight onto the ground using the new-style cans: about 4 seconds. Once again, Dr. D. came to the rescue, this time with a long funnel. We unscrewed the cap, and simply poured it into the tanks of our trucks.

I’m someone that likes clean air and water, so I want to support the EPA. I also want to keep this blog non-political. But this situation has really soured my opinion of the agency, and this meme (not mine) says it all:

To finish up this chapter, though, the dinghy is in Dr. D’s shop, and we will soon have her back in the water, this time filled with E0 gasoline.

Dinghy Project

Our new to us Bayliner 4788 came with an 11′ Rendova rigid inflatable boat (RIB) that is stored on the flybridge, out of the way of the main salon and cockpit.

We expect to primarily use the 4788 as a floating 2nd home, a dockside condo if you will, so most of our time aboard will be while we are tied up to our home dock. We’re very excited about the RIB, as it provides a quick, easy, and cheap way to get on the water for a couple hours and zip around the sound. In fact, even in the first few months of owning this boat, we’ve taken the dinghy out quite a few times.

There’s a davit crane on the flybridge that lifts the boat in and out of the water. We are still figuring out exactly the best way to put the RIB in and out of the water, but each time gets a little bit easier. The problem we run into is that we like to keep the big boat in the slip bow-in, so that the pilothouse has the great view of Commencement Bay, but that makes our home dock a port-side tie, and the crane is also on the port side. We either need to back the boat out of the slip half-way (our current preferred method), or push/lever the RIB past the finger pier (what we did the first few times, though that process won’t work if/when we have a neighbor boat in that slip).

And while we’ve been having fun playing on this little boat, as you can see, it does need a bit of cosmetic work and some upgrades.

There’s also another motive for this project: fishing.

For some odd reason, Megan doesn’t want me putting the new, expensive, big boat where the fish are…. near rocks, a few feet from shore, along the edge of a rip current, next to 30 other boats. Strange. So the RIB will be rigged as a fishing boat too, where we can zip out to the fishing grounds at 30kts, troll or drift for a few hours, and then run home when we get cold, tired, or otherwise finished fishing.

So this new series of posts will walk through the repair and upgrades we make to the SS TaylorTot, as we get ready for a summer of exploring, fishing, and micro-cruising aboard our RIB.

 

 

 

 

TV on board

I just spent over 4 months figuring out how to solve the problem of watching TV, and to a lesser extent providing high-speed internet aboard. I tried to get cable hooked up, but the line to the pedestal on the dock was broken and had no signal, and besides, it would only work when tied up at our home dock and not underway or at guest marinas. I looked into satellite tv, but it just didn’t solve my problem, specifically because of the internet service, but also because of the equipment costs for tv — it also had the same problem as cable when upderway.

My solution was to go cellular.

Where we boat we have almost 100% 4G LTE coverage.  I purchased a new line/SIM card for my phone plan, purchased a dedicated cellular modem, and added an old wi-fi router that I had laying around  I now have a solid, always-on, internet connection, with plenty of bandwidth to browse the web, stream movies and shows on Neflix or Amazon Prime Video, including 4K content.

When researching, I found the big problem with tv was live events, specifically sports. I want to spend the weekend on the boat, and in the afternoon watch a soccer, hockey, or football game, and I really had a difficult time figuring out how to make it happen. Our marina is tucked behind a hill, so we have very little over-the-air capabilities. To solve the TV issue, I subscribed to YoutubeTV, and a new 43″ TV with Roku built in. I also added a bluetooth transmitter, so the sound gets picked up and played through the 5.1 stereo.

YoutubeTV was my best option as it had the best sports coverage as well as unlimited DVR, but if you’re not a sports fan you may find better options with Hulu, Sling, Vue, or DirectTV Now

For $40/mo I have all the local broadcast channels (NBC/CBS/FOX/ABC) as well as traditional cable channels such as ESPN/2/U FoxSports/FS1/FS2, CNN/Fox/CNBC/BBC, etc. Compare channel lineups and other offerings between the providers and pick the one that serves your needs the best.

For the past month or so I’ve been enjoying all the Hockey, NCAA Basketball, and soccer that I can watch on my boat. Way more selection and at a better quality than my cable account at home which costs over 5x as much. So I’m now looking into drastically reducing my cable television plan, and using this same solution at home.

A Year Later: OpenCPN on a Raspberry Pi 3

It’s been over a year since I’ve tried to use OpenCPN on a Raspberry Pi, and I thought I’d see what the community has done since then.

Wow.

Simply Wow.

A Raspberry Pi 3, with the latest versions of Raspbian/PIXEL and OpenCPN matches up as good as commercial entry-level chartplotters on the market today. This platform has really come a long way in the past year, and I’m truly impressed.

Recipe:

Hardware

  • Raspberry Pi 3, Power and HDMI cables, SD card, & case
  • HDMI Monitor
  • USB Keyboard with integral trackpad
  • USB Wifi Adapter
  • GlobalSat BU-353-S4 USB GPS Receiver
  • dAISy Hat AIS Receiver

Set Up Rasbian

  • I burned the most recent version of Raspbian/PIXEL (March 2017) onto a 32GB SD card, inserted it into a RPi3, and booted. In seconds I had a desktop.
  • Connect to WiFi with a USB dongle
  • I removed the products I don’t need:
    sudo apt-get purge wolfram-engine mathematica-fonts sonic-pi nodered libreoffice
    sudo apt-get autoremove
  • Update Kernel to latest for OpenGL
    sudo branch=next rpi-update
  • Reboot
  • sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install mesa-utils
  • sudo raspi-config
    • Set Timezone
    • Set Locale and Keyboart to US English
    • Change graphics memory split to 128MB
    • Enable OpenGL Driver
      • With Full KMS, I had problems with the display not working after a reboot, so I needed to use Fake KMS, Option G2. To recover, edit config.txt and comment out the dtoverlay=vc4-kms-v3d (or edit to be vc4-fkms-v3d)
  • Turn off screen blanking
    • sudo nano /etc/lightdm/lightdm.conf
      • [SeatDefault]
      • xserver-command=X -s 0 dpms
  • Reboot
  • Run glxgears
    • I was running glxgears at 60fps and 2% CPU
    • At full screen I saw 30fps and 11% CPU
  • Run glxinfo
    • Direct Rendering: yes
    • Renderer string is the Gallium renderer, and not Software Rasterizer
    • OpenGL Version string is 2.1 Mesa 13.0.0

Install OpenCPN

  • Install required supporting tools
    • sudo apt-get install gpsd gpsd-clients screen
      • This required a reboot to work properly
  • Install the OpenCPN software from the Ubuntu PPA
    • In previous recipes I have built from source. To save time, and because building from source truly isn’t necessary, this time I just used the pre-built packages
    • sudo nano /etc/apt/sources.list
    • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C865EB40
      sudo apt-get update
      sudo apt-get install opencpn
  • Download charts from NOAA
    • I simply create a directory under the user account to hold all OpenCPN files, and a Charts subdirectory
    • After extracting, to pre-render all the charts, from a terminal window run:
      • opencpn -unit_test_1 0
  • Set up GPS
    • I actually had a bit of difficulty for the first time in a while getting GPS set up. If I ran cgps or xgps I got no data, but running gpsmon showed a good solid fix
    • This is the sequence of commands I followed to get it working (and works on subsequent reboots):
      • sudo dpkg-reconfigure gpsd
      • sudo nano /lib/systemd/system/gpsd.socket
        • Change ListenStream=127.0.0.1:2947
          to
          ListenStream=0.0.0.0:2947
      • sudo nano /etc/default/gpsd
        • START_DAEMON="true"
          USBAUTO="true"
          DEVICES="/dev/ttyUSB0"
          GPSD_OPTIONS="-n"
          GPSD_SOCKET="/var/run/gpsd.sock"
      • sudo killall gpsd
        sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
    • Connect GPS to Opencpn
      • Open Settings, Connections Tab. Click Add Connection
        • Type: Network
        • Protocol: GPSD
        • Address: localhost
        • DataPort: 2947
        • Priority: 1
        • Control Checksum: Checked

Setup dAISy Hat

  • Update config.txt to enable UART
    • sudo nano /boot/config.txt
      • add the following lines
        • # Enable UART
        • enable_uart=1
        • dtoverlay=p3-disable-bt
  • Disable Console Serial
    • sudo nano /boot/cmdline.txt
      • remove the following:
        • console=serial0,115200
  • From the Menu, select Preferences->Raspberry Pi Configuration
    • Interfaces Tab
      • Enable Serial
  • Reboot
  • Test Hat Serial communication
    • screen /dev/serial0 38400
      • [ESC] brings up a menu
      • ‘T’ sends a test message every 5 seconds
      • [CTRL-A], ‘K’, ‘Y’ to exit
  • Add AIS stream to OpenCPN
    • Open Settings, Connections Tab. Click Add Connection
      • Type: Serial
      • DataPort: /dev/serial0
      • Baudrate: 38400
      • Priority: 1
      • Control Checksum: Checked

Results

OpenCPN running ENC charts, with location set by GPS, and AIS contacts listed.

This also shows 24 AIS Targets in a list, as well as xgps running in the background. 6% CPU.

AIS Target Query. Deep zoom into the Hylebos waterway to find three vessels currently underway, including the cargo ship Indigo Lake. These vessels were approximately three miles away from my current location

References

RPi2 with Hardware OpenGL & OpenCPN Recipe

On and off for the past few months I’ve been trying to figure out a problem with OpenGL and the Raspberry Pi 2. Quite simply I want to be able to build, from bare metal, a chartplotter system on a RPi2 that has AIS, GPS, Vector charts, and 10fps. Based on the hardware specs, it should be very possible. However, in practice, I have seen only 1-2fps.

The very good folks on cruisersforum have been hard at work trying to solve this problem, and over the past few days I resurrected this project took a stab at using the latest versions.

On a new board and SD card, the recipe below was used to create a working version of the RPi2 that meets these performance goals. With this setup, I get very usable performance with OpenGL enabled, less than 5% CPU with a satisfactorily responsive UI, USB AIS and GPS, and Vector Charts.

Hardware

  1. Raspberry Pi 2
  2. 16G micro SD card
  3. Tontec 7″ HDMI screen
  4. USB keyboard and touchpad
  5. USB WiFi Dongle
  6. USB GPS Puck
  7. dAISy USB AIS receiver

Build the Pi with a Jessie Distribution and the open source OpenGL drivers

Image the most recent version of Raspian onto a class-10 sd card. I used Raspbian Jessie, with a build date of 3-18-2016.

Once booted, connect to the internet, and then in Raspi-config:

  • Expand file system to full card
  • Change user password
  • Automatically boot to desktop
  • Set overclock to high
  • Set language, keyboard, and locale appropriately.
  • Enable the experimental GL driver in Advanced Options

Reboot, and then:
sudo apt-get upgrade
sudo apt-get update
sudo rpi-update
sudo ldconfig
sudo reboot

Install required libraries

apt-get install cmake gettext gpsd gpsd-clients libgps-dev wx-common libwxgtk3.0-dev libgtk2.0-dev wx3.0-headers libbz2-dev libtinyxml-dev portaudio19-dev libcurl4-openssl-dev libcairo2-dev mesa-utils

Build OpenCPN

git clone git://github.com/OpenCPN/OpenCPN.git
cd OpenCPN

Optionally, get the tides & currents, and high-resolution shoreline data.

  • From  http://sourceforge.net/projects/opencpnplugins/files/opencpn_packaging_data/ download the latest opencpn-gshhs and opencpn-tcdata files
  • Extract their contents into data/gshhs

mkdir build
cd build
cmake -DBUNDLE_DOCS=ON -DBUNDLE_TCDATA=ON -DBUNDLE_GSHHS=FULL ../
make
sudo make install

Download the appropriate charts:

  • For all US waters, it’s very easy to find appropriate charts at NOAA
  • I decided to try ENC vector charts this time.
  • Expand into an appropriate directory. I used /usr/local/include/Charts
  • run opencpn with the -unit_test_1 flag to ingest and process all the charts that were downloaded

Run OpenCPN and set the chart directory to wherever you’ve downloaded the NOAA charts. Exit OpenCPN and then edit .opencpn/opencpn.conf and add the following lines:

MEMCacheLimit=20
NCacheLimit=5

Setup USB

  • Start the gpsd service
    • sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
  • Launch OpenCPN
  • Add a connection for the gpsd service
    • Settings -> Connections -> Add Connection
      • Network
      • GPSD protocol
      • localhost address
      • 2947 port
  • To get GPSD to run on startup automatically, modify the /etc/default/gpsd file like so:
    START_DAEMON="true"
    GPSD_OPTIONS="-n"
    DEVICES="/dev/gps0"
    USBAUTO="false"
    GPSD_SOCKET="/var/run/gpsd.sock"

Setup AIS

  • sudo apt-get install screen
    sudo usermod -a -G dialout $USER
    screen /dev/ttyACM0
  • CTRL-A, K exists screen
  • Start OpenCPN and go to Options -> Connections | Data Connections, and Add Connection. Select a Serial message, and set the DataPort to the dAISy USB message port (generally /dev/ttyACM0). Set the Baudrate to 9600, and uncheck Control checksum. Apply and return to OpenCPN.

Finalize the Setup

  • Install VNC Server so you can easily access the device from other computers on the network
    • apt-get install tightvncserver
    • tightvncserver :1
      • enter a password twice, and optionally a view-only password
      • Then you can VNC into the device from a computer running on the attached network
  • Remove extraneous packages
    • sudo apt-get  remove --purge wolfram-engine minecraft-pi libreoffice xscreensaver
  • Disable screen blanking
    • sudo nano /etc/lightdm/lightdm.conf
      [SeatDefault]
      xserver-command=X -s 0 dpms

References