Popeye and the Dawg

Witnessing an inter-species encounter

photo ©2016 by Steven K. Roberts
(All rights reserved – please contact for usage info)

Every now and then, a photographer gets lucky… the right palette of colors, a self-organizing composition, and a sweet vignette all align at the moment of shutter-release. This was one of those, caught through the 83X zoom of the wonderful Nikon P900, looking sternward from Datawake

That’s Popeye the harbor seal, a local celebrity, meeting a lovely dog who was strolling the docks with visiting humans at the Port of Friday Harbor. I first posted this on the local “Rant ‘n Rave” group, whence it has been shared about 75 times. I’m probably anthropomorphizing, but it is just so damn… adorable.

Dog-meets-Popeye-SKR

Posted in Photographs | Leave a comment

Rebecca Parks and her Under Pressure series

My dear friend Rebecca moved to Missouri last year, and in addition to her many family activities and house-renovation projects, she is exploring a new artistic realm. When she posted this image of her latest porch-mildew work, I was inspired to write a bit of ArtSpeak to help solidify this emerging genre.

Under Pressure – an Exploration of Meta-Patterns

rebecca-mildew-mandala

2016 photo by BJJ

With her “Under Pressure” series, Rebecca Parks expands Outsider Art onto the virgin landscape of the rural deck, exploring the dialectic contrast between Relaxation Spaces and the technologically mediated high-velocity streams of water with which she creates thoughtful, mandala-like representations of family dynamics, overwhelming information, and transitory states. Often pausing in reflection, her own moisture merging with that of a yet-unfinished work, the artist steps into the canvas of macro and micro to remind us of scale, giving a high-five to the hyphae while drawing attention to the vast gulf between the ambient humidity in which mildew thrives and the explosive intensity of the blast that sweeps it away.

Rebecca thus explores the very extremes of water, from passive to invasive, turning these into metaphors of each other and by extension, of information and power. The viewer becomes participant, invited to contemplate our own narrow range of survival and the transition from informational stasis to the overwhelming flood that destroys some and nourishes others, leaving an indelible yet transient meta-pattern on the landscape of our culture. In her representation of this, Parks has captured the diverse cultural overlay of the Internet, our own assimilation, and the struggle that belies the beguiling passivity of a rural porch bathed in the informationally rich vapors of WiFi.

Posted in Photographs | Tagged , , | Leave a comment

Building a Feline Outhouse

Take it Outside, Kitty…

by Steven K. Roberts, aboard Datawake

Isabelle and Steve aboard DatawakeOK, so I admit it… I love this cat. Isabelle lives aboard with me, and her tubby cuddly awesomeness increases the quality of life in lots of ways. But even a quirky Russian Blue who pushes all the right feline buttons but lives indoors comes with one little “feature” that can’t be avoided: the need for a cat box.

For the first four months aboard, this was located in the shower compartment of the guest cabin, where I figured it could have its own vent window and be mostly out of sight. But when a friend stayed aboard for few days, we had to relocate Izzy’s facilities to the afterdeck, leave the door propped open, and keep the canvas zipped shut… and that residual smell in the forward head never did go away. This is too much of a lifestyle impact in a limited space, and besides, I have more guests on the calendar.

catbox furnitureIt occurred to me that what she really needs is an outhouse on the afterdeck, with private entrance, exterior ventilation, easy access for cleaning, LED lighting, air filtration, and of course a network camera so I can see if it needs attention. And while we’re at it, might as well make it useful as bench seating for humans. This article is about the resulting project, which has solved the problem… and I share it here for others with big boats, small houses, or other spaces where a contained exterior cat box is needed.

I should mention that my first approach was to simply buy such a thing… surely this problem has already been solved! Indeed, I did find a few enclosed cat facilities on Amazon. But MDF/composite construction in a marine environment turned me off to one that had negative reviews for getting damaged by the inevitable wet spills, and another that looks like a large planter pot would have been cute but a pain to interface with a door in a vertical wall.

Still lazy, and not wanting to sacrifice a tempting antique linen chest that nearly went under the knife, I ordered a wooden toybox that was marginally big enough. I’m not going grace it with a link here… it was awful, with manufacturing errors that made it impossible to assemble, and it was too wimpy anyway. Everything on a boat must handle dynamic human weight. Back to Amazon it went.

OK, fine. I guess I have to build something.

catbox assemblyThe dimensions were non-critical… large enough for a nice big litter box or maybe a fancy self-cleaning one down the road, with enough additional room for a jumbo cat door and a few extras like vents and a small air purifier. I settled on 40 inches long, 20″ deep, and 20″ tall… with a simple hinged lid. I used 3/4″ ply for the bottom and top, with 1/2″ for the sides. I’m no woodworker, so there is nothing at all fancy here… just some scrap 2×4 ripped in half to give me a way to fixture the big pieces, with 1×2 verticals inside all four corners. At reasonable intervals, I used stainless wood screws to provide clamping pressure, with white glue smeared on all mating surfaces.

I screwed 8 rubber feet to the bottom to allow air flow, and ended up removing the front row of four and adding a spacer strip to compensate for the greater-than-90º angle between wall and floor (this is a boat, so by definition nothing is square).

hinge closeThe top surface needed to be smooth for piling stuff on (like cushions) so I decided to cut recesses for the hinges. This involved the router and some clamped-on wood scraps as a guide, with bit depth set to match the thickness of surface-mount polyolefin hinges that I had in stock from a previous unfinished project. These happened to have ideal dimensions, with the holes spanning the 3/4″ lid after recessing, and the thickness served as spacers for exactly the gap I wanted between box and wall.

(If you’re following along with the idea of cloning this, none of the dimensions are critical, as long as it’s big enough for the box at one end with room for the door to swing at the other.)

catbox handleThere are a few other details. I wanted a handle on the lid… so found a scrap of 1″ webbing and an old piece of kayak paddle shafting, then attached it with two screws. Not shown (and unnecessary once installed, but nice during construction) is a stainless wire with eyes, screwed to inside top and left side to keep the lid from flopping all the way open and breaking something.

right-ventFor ventilation, I installed a large plastic grille near the bottom in the front (visible in the photo above with cushions), along with a smaller one high on the right side. Convection brings clean air in, across the litter box, then out… and so far that seems to be working if we are not in windy conditions that make their own rules. The door has a felt seal, so smell rarely makes it inside.

catbox hole under deskOf course, the hardest part is cutting a hole in the boat. We skippers have a reluctance to do that, even above waterline, and this was to be a big one…. a “Tubby Kat” door (to Isabelle’s utter mortification) with a 7.5″ x 10.5″ flap. This not only required the saber saw for cuts on box and wall, but the trusty Fein tool to remove a section of that structure that supported the sofa back when this boat was optimized for human comfort. While hacking away under the desk, I added two holes for 3/8″ carriage bolts to keep the plastic door from carrying stresses, along with a larger one (using a hole saw) for that thru-hull fitting that I use to pass wiring. This carries Ethernet, camera power, 12V for the LED, and 115VAC for the air cleaner.

Adding the door and other hardware (after a couple of casual clear coats with water-based polyurethane), here was the first look at the box installed…

catbox door

But wait, that’s too dark! Isabelle needs to see clearly to do a good covering job, and I need to see clearly when cleaning it. And besides, there’s the webcam to consider. I installed an LED license plate light that cost about $5 from Super Bright LEDs… with a 12V pair running around to a 1-amp output on Shacktopus. The light is mounted on the back, above the box, and the camera is on the left (still without the air cleaner shelf or motion and lid sensors). Just this side of the camera mount are hooks for the cleaning shovel and a little brush/dustpan to tidy up… and I will add a mat to help with clean feet on the way back into the cabin.

complete with camera

By this point in the project, I had already let her alpha-test the box for a few days without having to push through a door, but now it was time to get serious. From the human side, a forbidding gateway presented itself, and she sniffed around it a few times without interest.

catbox door cabled

I carried her outside and poured her in, then returned to my desk to call her. Somewhat pathetically, she pawed the door. “Steev. Why Izzie in jail?? Free me nao?” Her reluctance to use it persisted over the next day, but she got over it and it’s now just an accepted part of the on-board facilities.

catbox-camOn the tech side, I still haven’t added the sensors for door and lid, though it’s not really an urgent problem compared to the long list of other projects aboard. What was immediately essential, however, was bringing the camera online… which is a trivial task since I have a gigabit switch for the on-board LAN a few feet away. With a quick power cable splice and two RJ-45 connectors crimped to some CAT-5 cable, my old Axis 210 was back in service.

Now I can keep track Izzy’s comings and goings, so to speak, and know when cleaning is necessary without all those tedious steps of shuffling out back and lifting the lid. It’s one click from the home screen of the Datawake web interface.

And, back to the initial point of all this, I got my guest cabin back! Here’s the “other” business end of the system, with the air cleaner and odor filter installed (that is resting on a couple of old shelf brackets, with 4″ Velcro strips on back and end to keep it stable):

catbox-equipment-end-filter


Update

I posted a link to this article on Facebook, and added a brief photographic narrative of Isabelle’s reaction to the presence of the webcam:

When I first told her about the camera idea, she said, "oh, jeeze..."

When I first told her about the camera idea, she said, “oh, jeeze…”

"Hang on... the webcam doesn't have an open port in the firewall, does it Steev? I just followed that CAT-5 cable..."

“Hang on… the webcam doesn’t have an open port in the firewall, does it Steev? I just followed that CAT-5 cable…”

I'm so busted. She's doing a press conference right now about the webcam...

I’m so busted. She’s doing a press conference right now about the webcam…


Posted in Datawake | Tagged | Leave a comment

The Datawake ADS-B PiAware Receiver

Tracking Aircraft with a Raspberry Pi

by Steven K. Roberts

One of my obsessions over the years has been collecting data, probing the radio spectrum, sensing outside my normal limited visual and hearing range, and deploying probes to expand my awareness of the environment. This leads to recognition of patterns, better understanding of how things work, and the almost voyeuristic thrill of peeking behind the curtains of technology or human activity.

Most of the machines I’ve built share this as a common thread, with radio receivers, cameras, and sensors all contributing to “situation awareness.” Aboard Datawake, there is a suite of communication tools that include four SDR (software-defined-radio) systems along with a cluster of amateur radio gear and other receivers in the console. This article is about the first of those to be brought online… the ADS-B ground station that collects location data from aircraft and contributes it to FlightAware. Why? Because we can.

ant-box-chart-adsb

This was mostly a packaging project; I didn’t have to invent anything, other than a way to keep the hardware tidy, cool, and reliably connected to my network. Since there is quite a lot of interest in doing exactly this, I thought I’d share the details.

ADS-B Feeder Basics

AIS-Valis-screenshotThis is similar in many ways to AIS, which is of course much more relevant to my nautical needs… in fact, I used to run Marine Traffic Station 401 here on San Juan Island (which moved to a friend’s house when I vacated my old lab building). In the marine environment, that provides extremely useful information about nearby boats, sometimes as an overlay on the chart plotter, seeing around corners (unlike radar) and giving a heads-up about potential collision situations. It is also the basis for a whole mini-industry of live ship tracking, with Marine Traffic just one of many services. This operates on 162 MHz, and is increasingly used by recreational boaters.

In the flying world, there is a similar tool called ADS-B (an acronym for the chewy “Automatic Dependent Surveillance – Broadcast”). This operates on 1090 MHz, and is so far mostly on commercial aircraft. Like AIS, it provides radar-like functionality by having individual planes determine their own position via GPS, then share it by broadcasting packets that can be received by other aircraft or ground stations. I am now one of the latter, in turn feeding that data to FlightAware, which is one of the commercial services that let folks track planes as they make their way between airports.

The most cost-effective way to do this is with a dedicated Raspberry Pi running PiAware copied into a micro-SD card, along with a receiver dongle, 1090 MHz filter, and ADS-B antenna. In my case, there is also a POE splitter to allow the rig to run via power over Ethernet off my Netgear switch, eliminating an additional messy cable and wall wart. Here’s the rig, as a temporary lash-up before packaging:

piaware-unpackaged

Assembling the Station

There are a few issues affecting my packaging choices:

  1. Although the three colorful main components (filter, receiver, and Pi) easily attach together as a rigid assembly, the loads from heavy antenna cable and mounting could be high enough to stress connectors. I chose to connect the filter and receiver directly to minimize insertion losses, but use a USB extension cable from there to the computer.
  2. The exposed Raspberry Pi would be subject to static damage from a casual touch, so it needs a case (and besides, I didn’t have any small hardware on the boat to simply park it on stand-offs).
  3. The POE splitter is on the right, and needs no special attention other than appropriate cable routing for Ethernet in and out, as well as power to the Pi.
  4. I worried a bit about excessive heat gain when first considering sealed packaging up on the bridge deck. Research on this subject was inconclusive, with reports of overtemp errors in hot attics, so I elected to put it into a clean environment below and optimize the layout for convective airflow. Besides, blinkies.

adsb-pi-case-printingThe first job was to package the Pi, and since I have a Lulzbot Mini 3D Printer aboard I went to Thingiverse and found a nice sleeve case. I used Cura to slice the STL file and make a 4.3 MB gcode file, sent that down to the OctoPi attached to the printer, told it to start, and went to bed. In the morning I had this lovely thing (I tossed the little end cap):

piaware-case

This was printed with HIPS (High Impact Polystyrene), which is not my favorite material… but it’s forgiving and works fine for things that don’t have to flex or be terribly precise. The Pi slipped into this with some reluctance, exposing the micro-SD slot, micro-USB for power, HDMI and audio (unused), Ethernet, and the four USB ports.

pi-case-velcroFor the overall substrate, I grabbed a black plastic electronic enclosure I had lying around; this is the kind with bottom surface, top cover attached with four screws into threaded bosses, and front and back panels. The latter were not used, as I wanted maximum convective airflow from vertical mounting on the wall, and in that spirit I mounted the Pi case with the slots upright and unblocked by Velcro. None of this is terribly critical, it turns out; temperature measurement with a Fluke IR thermometer is showing 93º F on the Pi board at the moment with ambient at a comfortable 76° F (this is unscientific; I haven’t figured out how to see reported CPU temperature via FlightAware or the local server).

With this done, it was a simple matter to lay out the hardware in the generous space of my 8×9-inch enclosure. The Pi box is Velcro’d on, and the other items are zip-tied via holes drilled as needed. Because of the different thickness of the filter and the receiver (from center SMA-connector axis to bottom surface), I glued a 1/4″ pad of Neoprene underneath the receiver to minimize connector stress when pulled down by the zip ties. Here’s the whole machine, ready to mount in the boat:

adsb-packaging-complete

Placement of this on the wall was dictated by the antenna cable, which is 7 feet of LMR-400 routed down through the bridgedeck console and through the corner of the pilothouse. It is stiff and needs wide easy curves, and that pretty well defined the orientation and position of the box. I slapped on two industrial strength Velcro strips and it was done, with a nice coax curve into the filter and the Ethernet cable to the splitter. The open ends are at top and bottom, so convective airflow should be enough to keep the Pi happy (and if not, it will be easy to add a fan).

adsb-enclosure-wall

The ADS-B Antenna

There are lots of ways to do this part, and as a true hobbyist I probably should have taken the time to build any of the homebrew designs that can be found online. But for $45 I could be lazy, and just get the project done… I bought one of the 1090 MHz antennas produced by FlightAware on Amazon.

Cable loss is the biggest issue at these frequencies (well, other than antenna placement), so I minimized the length by going with the 7-foot option. This ended up being a tighter constraint than I had planned, and with the stiff LMR-400 cable, sharp bends were not an option. The solution was to mount it on the inside surface of the wall around the upper helm station, using stand-offs and long 1/4″ bolts to let the antenna clear the rail structure:

adsb-antenna-fh

adsb-antenna-baseThe connector is the N-type, and I gave that a little extra protection with some self-fusing silicone Rescue Tape (great stuff to have around). This whole lashup, including the final curve into the unit down in the galley, needed every bit of that 7 feet of cable, but better that than a big loop of lossy excess as so often happens. The mounting left four ugly bolt ends and nuts on the outside of the boat, and that’s annoying enough that I’ll either make a cover or find a way to use it for another purpose. But it did manage to span the edge of the canvas that covers the wrap-around smoked windshield, eliminating the need to do any fabric hacking… and initial results indicate that the location is fine despite an orthogonal aluminum strip on the top edge of that covered acrylic surface.

Performance

Comparing my “feeder” performance to other stations serving ADS-B data to FlightAware, it looks like this is working beautifully… with plenty of hits over 200 miles. It’s fun to click on individual planes, go explore their tracks, and correlate that with what I see in the sky or hear on the local Friday Harbor Unicom or more distant ATC channels.

planes-local-server

You can see my statistics at FlightAware here. Before actually getting this beast off the dock, of course, I’ll have to deal with either auto-updating my own location or simply taking it offline to avoid confusing MLAT and stats-generation. That won’t be an issue for a while yet…

warm-adsb-glowAs I admitted at the beginning, this is all rather irrelevant to the obvious nautical mission of Datawake, but it contributes to the larger mission of more deeply understanding the world around me. It’s fun, too. But all that aside, I hope the construction tips in this article are helpful to others who wish to add ADS-B feeder capability in more conventional settings, packaging the hardware in a way that will keep it running for a long time.

I’ll close with a short video snippet of the Pi case printing on the Lulzbot Mini down in the boat’s machine shop…

Posted in Datawake, How-to articles | Tagged , , | Leave a comment

Lotus Blossoms

Every now and then, the pixels align, the light is right, and the subject is perfect. This post has nothing to do with geeky boats, technomadics, blinky gizmology, communication tools, or even Isabelle the cat… it’s just a photo I took at a friend’s garden pond in Friday Harbor on June 18. It’s worth viewing at full size (click the image).

Double Lotus in Friday Harbor
©2016 by Steven K. Roberts

Double Lotus - Steven K Roberts

This was done with the Samsung S6 at maximum resolution, with a minor crop and addition of the credit. Makes me want to buy this…

Posted in Photographs | Tagged | Leave a comment

The Roberts Law of Fractal To-Do List Complexity

One of my “Roberts Laws” about project management, recently meme’d with nice graphics by Dave Hickey. Thought I should immortalize it here in the archives….

roberts-law-fractal-to-do

Posted in Photographs | Tagged | Leave a comment

Cat Scratching Posts for Boats

Isabelle under the covers aboard NomadnessI can’t imagine living aboard without a cat, and Isabelle moved with me to Datawake after three years aboard Nomadness. She’s a constant joy, but there are still feline realities that have to be considered: dining, elimination, and scratching. All are challenging on a boat, given space constraints and the need to handle dynamic conditions. Telling a cat not to scratch furniture is unfair; it is something they need to do (and the torture of declawing is not an option). All you have to do is provide an appealing alternative. I’ve looked around a few times to see if any commercial scratching posts would be appropriate, and the answer is generally no — the little corrugated cardboard things generate debris and don’t play nice with humidity, and stand-alone posts gobble floor space.

The solution is pretty simple, though it varies with the boat. The magic stuff is this Sisal Rope (Amazon link) which I highly recommend after trying two locally acquired rolls that had a heavy petroleum smell. 100 feet of the 3/8″ diameter stuff is about thirteen bucks, and is plenty for the job.

Scratching post on Amazon 44On my sailboat, I had a 4×4-inch mast partner in the salon that made the job easy… no added structure to build! All I had to do was fixture one end of the line with a cable clamp, wrap all 100 feet around the post, similarly clamp the other end, and tidy it up with a bit of heat-shrink.  It took a few days to convince Izzy that this was the place to sharpen her claws, but once she got the idea, she lost all interest in the fabric of my pilothouse helm seat. This didn’t add any overhead to the limited space aboard, and after three years there was no sign of any degradation… although some condensation drip from the aluminum-framed window eventually caused discoloration.

Nomadness salon with scratching post

Moving to Datawake, a 50-foot Delta powerboat, created a new problem. There is a lot more floor space, of course, though it is still precious… and there are no convenient pre-existing posts that could simply be wrapped. So the new version is attached to the wall at the end of my work desk:

scratching post installed

Making this was simple. I started with a 26-inch scrap of 2×4 lumber, zipped around one end with a router bit just because I was too lazy to do a proper sanding and finishing job, then attached one end of a new roll of sisal rope to the edge of the board down near the floor. This was a 3/8″ cable clamp screwed to the wood.

Screw to begin the wrapI then did three long wraps around the skinny dimension, which would not only cover the top end but give the overall shape a warmer curve. At that point I could begin wrapping all the way down the post, so I used a stray stainless wood screw to keep the rope under control during that 90° turn. All that is necessary from that point is to keep the wrapping tight, and I found gloves helpful due to the rough texture of the rope.

After about ten minutes of this, not without having to keep it all clamped between my knees while dealing with a couple of rope tangles, I reached the bottom end. Termination is another 3/8″ cable clamp, and as you can see I really didn’t put much any effort into making it beautiful… this whole project, including mounting, only took about an hour:

sisal scratching post termination

At this point, all that remained was bolting it to the wall. In my case, that was simplified by having access to both sides of the 3/4″ plywood, so I elected to attach it from the rear using 1/4″ stainless lag screws. The only mildly tricky bit was positioning the holes and making a little gap between turns so the drill bit would not damage the rope, but that was pretty easy. Two bolts, an inch or so from each end, are plenty.

Scratching post mounted

Had I not had the luxury of bolting it from the back, I would have used a 3/4″ end mill to spot face around a 1/4″ clearance hole, allowing enough room for a 7/16″ socket while preventing any lumps under the rope. Deck screws would also work… but if you do that, please drill clearance holes first so they will tighten the scratching post against the wall. Also, washers, while ugly, will reduce any tendency to split the 2×4 with the clamping pressure of a tapered flat head.

And that’s it! It always seems to take a few days to convince a kitty that the awesome new high-tech scratching post is a better claw-sharpener than the nearest chair, but sisal is the magic stuff and (lacking a proper tree) is pretty close to what their little toes like to feel during this essential maintenance process. I suppose I should go dab some proper water-based polyurethane finish onto that ugly exposed bit of wood… meanwhile, the photo below is Izzy pole dancing! She likes this post.

Izzy pole dancing

Posted in How-to articles | Tagged | Leave a comment

Images of Nomadness

As I look fondly back on my 7 years with the Amazon 44 named Nomadness, many images come to mind… dreamlike moments aboard a beautiful boat in a stunning setting. She is now entering a new phase with her new owner, and has plans to head down the Pacific Coast later this year.

I want to share a few of my favorite photos of this epoch… most of these are from my 2008 cruise with Sky, before getting immersed in geekery and spending way too much time at the dock.

Nomadness in Profile

That profile… view from the Dinghy (2008)

Nomadness in Eagle Harbor

Moored in Eagle Harbor (Bainbridge Island), looking across to Seattle

Foggy morning in Port Hadlock

Foggy morning in Port Hadlock

Port Hadlock sunset

Port Hadlock sunset

Framing the Rainbow

Framing the Rainbow off the north end of Camano Island

Nomadness and Bainbridge Ferry

Nomadness and Bainbridge Ferry (2008)

Mount Baker and the Boom

Mount Baker

Java walking on air

Java on Air

Nomadness docked in the Clarke Belt

Photo from masthead by Wojtek Wacowski, with a little help from NASA and my editing tools.

Up the Nomadness mast

Gazing up while sailing near Sidney, BC

The 2008 track of Nomadness

The 2008 track of Nomadness… 621 miles with Sky

Nomadness in Montague Harbor

Nomadness in Montague Harbor (photo by Sky Myers)

 

Posted in Photographs | Tagged , | Leave a comment

Microship Electronics Photo Essay

microship-overall-furlermodAs I settle into Datawake, wrapping myself in a console of rackmount blinkies, I often reminisce about the obsessive Microship project that occupied me for almost a decade (1993-2002). This amphibian pedal-solar-sail micro-trimaran is still in my life, and the plan is to launch it from the upper deck of my new mothership for local exploration.

But with all the photos online of this geeky little sprite (including the 2013 launch), there is a huge part of her history that has been lost in the murk of archived mailing list posts and a creaky old album of low-resolution images from the mid-90s. With this post I want to fix that… so I just dusted off the mountain of Microship electronics in my lab and took a few photos.

Microship NetworkThe goal of this system was to provide a rich toolset with a graphic front end and an always-on controller. To avoid having to re-invent dozens of wheels, my general design strategy was to take every object (usually a commercial product, unless none existed to accomplish a task), and reduce it to standard interfaces — audio, video, serial and power — then tie it into a huge crossbar switching network.

The beauty of this is that anything could be connected to anything with a single line of FORTH code, making it trivial to conjure applications that I might not have imagined at design time. It also made it easy to add new devices, like a piece of ham radio gear, without having to tear up existing wiring. Obviously, some of this is getting a bit dated now, with cheap and low-power devices like the Raspberry Pi and general improvements in standardized interconnects (like USB), but we still have the same basic problem when building huge systems… lots of things that were never meant to talk to each other, creating redundancy and complexity.

Microship video turret Newton control toolThe Microship user interface, in its final form, was a mix of wireless Newtons and a web browser in the console Macintosh. One of the most fun contraptions was the video turret, which could point a hacked camcorder or low-light B&W camera at any angle, or scan between a pair of angles. Zoom could be controlled, and a servo-operated “lens cap” protected the CCD from being parked pointing at the sun. Here is what it looked like from the operator perspective… and with the video crossbar, feeds from the cameras could then be piped to a recorder, transmitter, display, frame-grabber, or whatever. Implementation details were wrapped in code that could be easily modified down the road without an epic hacking layover.

The machines shown here were built in my three Microship labs, with lots of help from volunteers, students, and industry sponsors:

  • UCSD Electrical & Control Engineering Dept, San Diego, CA (1993-1995)
  • Microship lab sponsored by Apple Computer in Santa Clara, CA (1996-1997)
  • 3000 square-foot lab in the woods on Camano Island, WA (1998-2002)

Without going into much technical detail, here’s a look at the Microship hardware that is gathering dust on the shelf in my lab. All photos can be clicked for huge versions…

Grand Central Station

The crosspoint switching systems for audio and video make up this first assembly, each controlled by a 68HC11 running FORTH. The blue board on the right handles 16 video inputs and 8 outputs, with up to 8 simultaneous connections (via the RCA panel on the left). The 2-board stack in the middle takes care of all the audio routing, with up to 8 connections at once among 32 inputs and 32 outputs.

Microship Audio and Video Crossbars

In the Microship system, the AUXBAR and VIXBAR boards were at the center of the analog cabling nexus:

AUXBAR and VIXBAR connectors

Those audio circuit boards were designed by Steve Sergeant in my Bikelab at Sun Microsystems for the BEHEMOTH bicycle project back in 1990, and provided a very clean line-level signal path. They scaled well to the much larger Microship system.

Auxbar schematic

In the days before USB, serial data communication was pretty much all we had without spending a ton of power on proper networking… and every old-timer remembers endless fiddling with RS-232 connectors, gender changers, DB9 and DB25 adapters, unsoldering and swapping pins 2 and 3, and generally cursing at the damn things.

When I found myself with dozens of serial devices that had to be involved in both hierarchical and peer-to-peer connections, I decided to solve the problem… and that is what led to the SEXBAR, or serial crossbar. Anything plugged into this will talk to anything else, assuming the same baud rate, and the FORTH code accomplishes that by first connecting pins 2 and 3 of each involved device to a window comparator, seeing who’s transmitting and who’s receiving, then creating a virtual straight cable or virtual null-modem cable as needed:

Microship Serial Crossbar

And here is the painful point-to-point wiring at the bottom of that assembly:

SEXBAR wiring

So that stuff takes care of all the signal routing… what actually ran the show?

Microship Control System

I won’t go into detail in this photo essay, but if you want to know what is actually going on in this system, I wrote a fairly detailed piece in the June 1998 issue of Dr. Dobbs Journal. Of course, we didn’t have many pixels in our digital cameras back then, so the photos here are much better.

The controller is a folding assembly with an insulation displacement kluge board on top of a substrate that has a New Micros FORTH 68HCII on one side and lots of I/O on the other… with all the interfaces brought out to wonderful Phoenix contact blocks:

Microship Control System

Here’s the bottom, with the FORTH board:

Microship Control FORTH board

(The battery holder was to keep the static RAM contents backed up.) Machined rails were used to carry the boards and allow easy opening for hackage….

Microship control folding assembly

And I mentioned those contact blocks… like the connector arrays of the crossbar networks, this made it very easy to get at port bits, serial ports, random signals, or even the bus:

Microship control system connectors

In fact, this was so convenient that the kluge board didn’t get nearly as much random added hardware as I had anticipated. The little cluster of chips at left drives a matrix LED assembly and allows it to be used as a virtual front panel of sorts, mapping random I/O bits to positions on the display:

Microship control kluge board

(The DB-25 connectors link this to the crossbars and other nearby hardware.)

By the way, you can actually watch some of this work! An excellent video by Stan Bunger aired on KRON New Media News in April, 1998… and there are some great shots of this system as well as a thoughtful overview of the entire project.

Video Turret

At the beginning of this piece, I showed a fuzzy magazine image of the turret control screen from my Newton… here is what it was controlling…

Microship video turret

The platform carried the innards of a Sony camcorder, and its servo-controlled retractable “lens cap.” There is also a laser, allowing a steerable pointer, because, well, laser….

Microship video turret servo

This was in a sealed and gasketed acrylic cylinder with mil-spec connectors to the shipnet, and was controlled by another FORTH board:

Microship video turret FORTH

And this interfaced with the mechanical system, which included a gear motor, shaft-position encoder, and geared-down cam to detect crashes and end-states…

Microship video turret mechanics

The code for this lived in 8K of memory, and that included a cooperative time-slice multitasker by Bill Muench that really simplified operation of this very stateful machine.

Manpack

One of the design goals of the Microship project was full access to all on-board services and communication links regardless of whether I was aboard, off in a restaurant, camping ashore with boat on a mooring, or (to a limited extent) far away. Lacking the kind of ubiquitous networking we take for granted today, this translated into a manpack that was essentially a miniature of the crossbars and other on-board resources… with ham-radio and wireless data tools to stitch it into the mothership. Naturally, this used another of those convenient New Micros FORTH boards:

Microship manpack controller

Like the kluge board on the main control system, this took advantage of the Robinson-Nugent QuickConnect wiring system (much lower profile than wirewrap, but the same #30 Kynar):

Microship manpack wiring

Power Management

Finally, we had a huge system devoted entirely to power… beginning with 480 watts of folding solar panels filling the spaces between the hulls. At the time there were no commercial peak power trackers, so my friend Tim Nolan designed and built this beautiful machine… with four PIC microprocessors each handling two 60-watt modules and optimizing their power transfer into the batteries by manipulating the pulse width to reflect the product of voltage and current:

Microship Power Management

The assembly at lower left (two identical boards, stacked) take care of the solar array, then the commercial board to the right of that drives the Minn-Kota electric motor. One of the fun features of this, managed by the system at upper left, is that once all charging and system loads were satisfied, any left-over “free” power could be piped to the thruster. This would track conditions of insolation and local power demands, generally contributing a boost on a sunny day whether sailing or pedaling. There was also an “oh shit” mode that could be invoked when on a collision course with a freighter, dumping all available solar and battery power into the thruster. At such moments, the future status of the battery is not interesting.

That unit also drove an 8-line LCD that displayed real-time detailed information about the power system, with all the battery and load monitoring measured by those shunts in the upper right.

Summary

All that electronics is a bit long-in-the-tooth now, and one of the lessons from that whole project is that when building a boat, don’t build the geeky bits until the fiberglass is done! A few years of my life are represented in those photos above, but no regrets… the journey is the adventure. The next phase of the Microship’s life will be relatively low-tech: she will be crane-launched from Datawake for local jaunts, carrying little more geekery than cell phone, chart plotter, marine VHF, and LED navlights.

Microship in the San Juan Islands

Cheers from the San Juan Islands!
— Steven K. Roberts

 

Posted in Microship, Photographs | Tagged | 1 Comment

Building a Heavy-Duty Piano Drawer

A key requirement for my floating lab/studio was to have a digital piano aboard, but limited space dictates a deployment system that lets it stow away when not in use. I designed the console around this, and built a piano drawer that can handle a quarter-ton:

Piano Drawer on Datawake

It was important that it not interfere with other uses of the desk… electronics lab, writing, ham shack, video production, and software development. This dictated maximum knee clearance to keep the workspace comfortable, and when retracted, it effectively disappears. Extended, the piano dominates the space, and the computer keyboard is also on a pull-out drawer so they can be used at the same time.

Any project like this is highly implementation-specific; this article includes the details of my own solution, but it was designed with very tight tolerances to make maximum use of available space. If you clone this for a different keyboard, you’ll probably want to tweak the dimensions. My digital piano in the photo above is a Kawai MP7, which weighs 46 pounds (21 kg) and is a bit bulky at 53 ¼” W x 13 ⅓” D x 6 ¾” H (1352 x 339 x 171 mm). I do love this thing, but it sure looked huge when I hauled it aboard and stared at it!

Fabrication

I am fond of heavy-duty, industrial-scale hardware, so my first decision involved the drawer slides. Given the dimensions of keyboard and desk, I went with a high-capacity side-mount full-extension locking slide from McMaster-Carr, good for 500 pounds (Accuride 9301). These were not cheap at $129/pair (early 2016), but I wanted something I could count on. The outer frame (against my hand in the photo) is 3 inches wide, and that yellow lever at the right end is the lock release:

Locking 500-pound drawer slide

While placing that order, I picked up four feet of 1.5 x 1.5 aluminum angle with ¼” thickness, which was another $36. This was to become the bracketry that hangs the vertical walls from the desktop, and would be my primary defense against annoying side-to-side wobble… while supporting the fastener loads of a body hitting the extended drawer at full extension (my rule on any boat is that everything must be able to handle dynamic body weight).

Drawer channel and slideFor the shelf, I chose fir stair tread 1″ thick (5/4″ in lumber industry parlance), a foot deep with a bullnose front edge. This was annoying at $13/foot for a flawed piece on this island, but it was important that it be able to take screws into the ends. Even at that, I worried about the weak link in the whole system being end grain fastening, so I dug up some heavy 1″ aluminum channel to encapsulate this high-load region, then attached it with ¼-20 flathead screws before driving ¼” lag screws into the ends.

side panel measuringThe drawer slides are supported by vertical walls of ¾” plywood, 22″ long and 8½” tall, attached to the side walls by stainless carriage bolts. The overall design of this is simple, though my obsession with tight tolerances made for some tricky details. I spent an inordinate amount of time measuring the piano, which is always fun on a curvy thing with bits sticking out here and there… as bad as a boat! The worst offender is the group of knobs around the display, which are the tallest part of the machine. I had to be sure that these would not get broken the first time I closed the drawer, so lacking a long dependable straight-edge aboard, I used a laser level to establish a reference. The resulting data let me shorten the original side walls by a half inch.

Laser Kawai MP7 Measuring

With the wood parts cut, the next task was to use that heavy angle I mentioned earlier… this is what makes the connection from the walls to the underside of the desk. In both cases, fastener dimensions were critical to allow the piano to fit as tightly as possible, since I was constrained by the existing stainless posts (and their end fittings) that I had used to build the desk structure. I prepped two 22″ chunks of angle with countersunk ¼” holes for the walls, and 3/8″ holes for lag screws up into the 1½” desktop.

piano hanger bracket

For all of this metalwork, having the little milling machine aboard was invaluable. It turned out to be useful for a wood job as well… I needed to provide uniform wells to receive the four feet of the piano, both to gain another bit of space and to keep it from sliding around. I happened to have a 1″ roughing end mill aboard, but the first challenge was measurement… how could I get under there and mark accurately around the feet (not trusting measurement or the placement of scuff marks)?  Easy! Just nip the end off an old pencil, grab it with hemostats, and reach in through the gap between piano and shelf:

Marking piano feet

A little procedural aside here… as all this was being fabricated aboard the boat, there were a few moments of awkward maneuvering due to limited space. For one who is used to bumbling around a cavernous building to work on multiple projects at once, trying to remember where I left tools and getting lost in context-switching overhead, this isn’t all bad… the constraints of a boat enforce focus and efficiency. well-drillingStill, there are times when the walls are simply too close, or when work tables are too small for whatever is undergoing surgery. Milling ¼” recesses to receive the feet presented one such challenge, but I had the perfect tool aboard… my Vanguard Alta Pro camera tripod. This thing is solid enough to lean on, so I made a quick platform of scrap wood and used it as an adjustable fixture to support the other end of the shelf:

Fixturing with a camera tripod

With those, done, it started to get fun. Here is one end of the unit, ready for installation:

Piano drawer end complete

So now I had this heavy contraption taking up the middle of the lab space, with the piano occupying the easy chair. Even the cat was getting irritated at the disruption of normal life and the blockage of doorways, so it was time to hang the monster!

Mounting to the Desk

Fixturing for installationThere is a messy part of every project, and this was it… with too much crawling around painfully, grunting and cursing, measuring, squaring, and fine-tuning. To hold it in place I stacked Stanley organizers under both ends with bits of wood and books, then went through a few iterations of marking.

Milwaukee right-angle driveBy the way, another favorite tool came in handy here… the Milwaukee Right-Angle Drive. This thing is a life-saver in tight quarters, and saw lots of action during the desk installation when I had to drill holes in place for rail fittings (always while contorted in a hopelessly awkward position). Here, I’m using a little baby chuck to drill a pilot hole after first locating it with a transfer punch to make sure it is centered.

Piano drawer handleThe user interface was an important issue to consider, so I added a folding stainless handle at the right end, right next to the thumb-release for the lock that keeps the drawer open or closed. This involved making a quick jig to ensure a straight hole through the 1″ shelf (an easy mistake to make) and then countersinking for #10-32 flatheads.

I’ll spare you the grisly details of implementation-specific issues unique to this boat, but before long I had it in place, secured with huge 3/8″ lag bolts up into the desktop and, remarkably, still parallel to the front edge of the desk. Here it is stowed, still needing a clear-coat with water-based polyurethane to look like a proper nautical piano. (Before heading into heavy seas, part of the “pre-flight checklist” is to further constrain the piano in place with padding so it can’t get loose from its shelf.)

Piano drawer closed

(In case you’re wondering about the blinky contraption photo-bombing so many of these images, that’s the Shacktopus Power Beast I built last year about this time. It landed a gig on the boat, handling 12-volt roles in the console.)

So now we can step back and see this whole thing in context. There’s a lot more about the boat herself in a recent post (Meet Datawake), but here is the current state of the lab/studio space. I’ve just added HDPE top panels for the console cabinets, and the monitors are currently just sitting on the IsoAcoustic stands… about to be fixtured in place with Southco rubber draw latches lest they become expensive wrecking balls someday.

Datawake console with piano deployed

I have only two complaints… the key tops are a bit low at 27½ inches and my knees touch the support shelf when I’m playing. I can’t do anything about the height (the 32″ desktop is 1½ ” thick), but I think I’m going to cut a little knee relief under the center of the piano and then try to match that bullnose edge with the router even though nobody will ever see it besides Isabelle the cat. Also, I can’t use the music stand that came with the Kawai since it mounts on the back of the piano, so have restored the Manhasset 5301 to its original configuration since my modification for the PX-5S three years ago… and it is a loose item that has to be stowed.

Those details aside, it’s wonderful… the thing is rock-solid, and I’m already back to reaching over to play whenever the mood strikes! I’ve been on a Satie kick for a while… here’s my take on the Gnossienne #4 in 2010 (on my Roland RD-700SX, with a corresponding article about studi0-desk packaging):

Cheers from Datawake,

Steven K. Roberts
Nomadic Research Labs



Piano Drawer Bill of Materials
(assuming Kawai MP7 and 1.5” thick desktop)

Wood:

1” fir stair tread, 52.5” long (shelf)
2) 22” x 8.5” plywood, 3/4” thick (side walls)

Aluminum:

2) 1” channel, 12” long for end encapsulation
2) 1.5 x 1.5 angle, 1/4” thick, 22” long (McMaster 8982K32)

Slides:

Pair of 22” high-capacity side-mount locking slides (McMaster 6603A47)

Hardware (stainless):

8) 3/8” x 1.5″ lag bolts (brackets to desk)
8) 1/4” Flat head machine screws, washers, & nuts (brackets – walls)
8) 1/4” carriage bolts, 1” long, washers, & nuts (slides – walls)
8) 1/4” lag screws, 1.5” long (slides – shelf)
6) #10 flat-head machine screws 1.5” with nylock nuts (channels to shelf)
1) grab handle with suitable hardware

Miscellaneous:

Water-based polyurethane or other suitable finish coat

piano drawer overall low

Posted in Datawake, How-to articles | Tagged | 1 Comment