Improve Motor Shafts With Larger Flatter Detents, And Apply Loctite to Set Screws

After roaming the backyard and other terrain over several days, the weakest part of Sawppy has been uncovered: the set screws holding couplers onto our steel motor shafts are losing their grip. A few of them are sliding off their designated positions, some of them are backing out.

The set screw detents on the shaft were made by passing a Dremel cutting wheel over the shaft as described earlier, and now we have first hand evidence that’s not good enough. We need to make the detents wider and flatter. Something closer to what’s described here. This isn’t a job for a Dremel cutting wheel, as a wheel has a circular cutting profile. What we need is something nice and flat and can bite into metal, like a file.

The first attempt to make bigger detents were holding the shaft by hand and running it back and forth over the file. This was not working. Finger strength isn’t good enough to hold shaft at constant angle, so instead of a flat surface we ended up with rounded surfaces.

Handheld filing no good

The second attempt brought a vise into the picture and flipped the arrangement around. Vise jaws hold the shaft, and hands hold the file. This delivered much better results.

File and vise.jpg

Here’s a set of before/after pictures. First the “before” image showing shallow and inconsistent detents cut with Dremel tool. Visible within them are circular indentations made by set screws – this particular pair of set screws had not yet started slipping and now we’re making sure they never will.

Detent - Before

And the same shaft, after using the metal file to cut flatter and deeper indents:

Detent - After

That was part 1 of the solution. Part 2 is to apply thread locking compound to our set screws. Loctite 242 was available at the local home improvement store.

Apply Loctite 242

If this isn’t good enough, we’ll upgrade to the more expensive Loctite 243 available at the local automotive parts store. According to the Loctite thread locker guide, 243 has a higher breakaway torque of 180 lb-in as compared to 110 lb-in for Loctite 242.

Before we do that, though, it’s worth running Sawppy around for a while to see what the next weakest point is. After bigger flatter detents and applying thread locker, the weakest point is probably not the set screws anymore.

Sawppy the Backyard Rover

The Google AIY Vision box installed atop the camera mast is mostly for looks and, once powered up, will run its own “Joy Detector” demo independently of the rest of the rover. Once physical mounting and electrical power for the box was done, attention returned to the webcam.

As a first step, the easiest thing to do is to attach it to the Raspberry Pi 3 sitting in the rover chassis via USB. This is never going to be the long-term solution. For remote operation, a Raspberry Pi 3 doesn’t have the grunt to do a good job at real-time video compression and streaming. For autonomous operation, a Raspberry Pi 3 doesn’t have the grunt to do a good job at image recognition and analysis. We hope the AIY Vision box can handle the latter role in the future, but that’s not where things are now. At the moment Sawppy is strictly a real-time remotely operated rover and what we want is live video.

One solution is to use a webcam that has onboard h.264 video compression hardware. Such cameras exist, but they are pricy, and getting the video stream out of the camera without its dedicated Windows software can get tricky.

The alternative is to sacrifice bandwidth efficiency to get a quick solution. It is relatively straightforward to pull individual frames out of a webcam in the form of JPEG still images, and it is computationally trivial to send them one after another in rapid succession to create a Motion-JPEG video stream.

It took less than an hour to get basic camera operation up and running on mjpg-streamer thanks to these instructions. We have a video stream that is crystal clear and we are not straining the Raspberry Pi 3 processor to do it. We are, however, putting a load on the wireless network because the 1280×720 Motion-JPEG video stream takes up about 30 megabits per second (mbps) of bandwidth. This is a tremendous bandwidth hog when considering Netflix can deliver full 1920×1080 high-definition video in less than 5 mbps.

But that’s something to be addressed later. In the meantime, it’s time for Sawppy to roam the backyard!

Backyard Explorer

Here’s the rover’s eye view:

Backyard Explorer

Sawppy the Rover’s Mast Cameras

With a crude but functional folding base for the mast installed, attention turns to the camera to be installed at the top of that mast. Mars rover Curiosity has an extensive sensor array on top of its mast, but at the moment we only have a HP HD 4310 webcam and frankly, it looks a little sad and lonely atop that camera mast. It certainly fails to present a profile reminiscent of Curiosity’s array. What to do?

Add another camera! And not just any camera, one of the most intriguing device to be widely available: the Google AIY Vision kit. I picked it up because it seems like a cool way to get started playing with Google’s neural network software development resources. It’s pretty amazing that something I can pick up at my local Target incorporates a programmable neural net processor. What an exciting time to play with technology.

But that’s still on the to-do list. Until them, this AIY Vision box is only running the default out of the box “Joy Detector” demo. It’s not clear if the capabilities of this vision processor would even overlap with anything that’ll actually be useful for an autonomous rover. In the meantime I shall express my optimism by bolting the box onto the camera mast alongside the webcam. Now the top of the mast looks better, with proportions more closely analogous to Curiosity.

Camera platform - front

Although the vision processor only has the default demo, I still thought it would be fun to have it up and running. Even if it’s not helping the rover understand its world (yet). Since the general-purpose computing portion of the kit is a commodity Raspberry Pi Zero WH device, we could build another microUSB 5V regulator module to power it.

Camera platform - rear

Now Sawppy the Rover can join the ranks of projects that incorporate an AIY Vision kit, with plans to make it do more, but just running the default “Joy Detector” demo for now. Like this cool owl perched on your shoulder and this robot dog.

Sawppy the Rover’s Folding Camera Mast

The tallest object on Mars rover Curiosity is a camera and sensor array mounted on top of a mast. During Curiosity’s journey from Earth to Mars, this mast was folded down for transport. As a motorized model of the rover, Sawppy will also feature a sensor-topped mast. And while packaging constraints aren’t as strict for a hobbyist rover model, it would still be very convenient to fold the mast for transport.

As a simple first draft, we’ll have a fixed non-folding mount for the camera mast, which is a piece of PVC pipe. This will serve as the fallback solution. If Sawppy doesn’t get an elegant folding solution, I could at least pull the PVC out of this non-folding mount for transport.

Mast - Fixed

With a fallback in place, let’s set goals of this project:

  • Use PVC pipe for mast structure.
  • Hollow center to run wires.
  • Fold and unfold without use of tools.
  • For sake of camera image, mast must be stable when raised.
  • Stability less important when mast is lowered.
  • Leverage natural flexibility of plastic to hold movable things in position.

The last bullet point turned out to be more difficult than expected. Our world is full of plastic spring clips, and familiarity lead to an incorrect impression it would be easy. It actually takes a fine control over dimension tolerances to make a plastic clip that flexes to allow movement yet clips tightly for a stable position. We also need good control over surface finish to create a mast hinge that rotates smoothly. Both are within reach of hobbyist level 3D printer but it takes effort.

The first few iterations focused on a rigid cylindrical collar over the end of the PVC pipe, and a U-shaped mounting block on the body that clips onto that collar. The basic concept is for the U-shaped mounting block to have indents that favor two collar positions. Raised mast and 90-degrees rotated lowered mast. The U should be flexible enough to allow the collar to rotate between these two positions, but rigid enough to hold collar position once it reached one of the indents, plus a smooth surface finish so collar rotates well between the positions. This proved challenging and all of these iterations were either too stiff to be moved, or didn’t hold tightly enough after mast is deployed.

Mast - U clip variations

After these failures trying to make a mounting block that can balance rigidity and flexibility requirements, the requirements were split up to separate parts so each can focus on their job. The mounting block will focus on being rigid, and springy flexibility will be delivered by a separate external clip.

This second design also had a back-up provision for a screw to hold PVC collar in place. This would fail to meet the tool-less requirement but it didn’t take much effort to add to the experiment. It turns out the screw position had too little leverage to hold things in place anyway.

Mast - External Clip 1

Since this mount block and PVC collar worked well enough to deliver rotational motion, design iteration focused on evolving the spring clip design. The clip got bulkier to help reinforce rigidity of the mounting block, but it also had a flexible clip for the PVC pipe placed so it had good leverage to hold the pipe in place without compromising the collar’s ability to reinforce the mounting block.

Mast - External Clip 2

This is still really crude but it covers the basic functional requirements. It’ll be good enough for Sawppy’s first public appearance at JPL. In fact it was good enough to elicit delighted appreciation from a JPL engineer whose day job is running the real mastcam on Curiosity. Of course, she told me I should motorize my mast mechanism because her real mastcam does. Maybe in a future iteration! I definitely intend to put more effort into polishing this mechanism.

Sawppy the Rover’s Own Wireless Network

So far all of Sawppy tests have been performed as a client of a nearby wireless network. But we won’t always have a network to connect to. Sawppy may venture where we don’t have access privileges to a nearby network or possibly go places where there is no network at all.

This problem was encountered before on the SGVHAK rover project. The Raspberry Pi 3 on SGVHAK rover were modified to become its own wireless network access point by following directions posted on Raspberry Foundation website. The downside of Pi configured to be its own network is that we lose the ability to connect to the internet. This is probably a problem that can be solved by diving deeper into Linux networking configuration but there was also the problem of limited power of Raspberry Pi’s on-board wireless hardware.

As an experiment to reduce configuration headaches and to increase wireless power range, a TP-Link TL-WR802N mini router was added to the rover chassis. Now Sawppy the Rover has its own wireless network, giving us the following advantages:

  • We can use Raspberry Pi in its default configuration – no need to reconfigure Raspbian networking stack.
  • A wireless router is already designed to work to establish both (1) a standalone wireless network and simultaneously (2) have the ability to connect to an external wired network. Plug in an Ethernet cable and Sawppy is on the internet, no reconfiguration required.
  • A wireless router is already set up to be secure. TP-Link may or may not have covered all the bases, but it is expected to be more secure than a Raspberry Pi configured by a Linux networking amateur.
  • A dedicated wireless router has a more powerful wireless antenna.
  • Additional modules can be added to Sawppy and communicate over local wireless network. For example, adding a commodity wireless IP camera.

The mini router is mounted to a stand bolted above the rear right corner. This location was chosen because that’s where real Mars rover Curiosity’s UHF communications antenna is mounted. Power for this little router comes from a micro-USB cable, so we could power it with another unit of the same power converter used to power the Raspberry Pi.

Mini router

The TL-WR802N is a nice compact solution that avoided having to mess with Raspbian (Linux) networking and, more importantly, the risk of doing it wrong. It was also more powerful than a Raspberry Pi’s on board wireless networking, but sadly not by as much as originally hoped.

Sometime in the future Sawppy will get a more powerful router for greater range, hopefully a dual-band unit to access the less crowded 5 GHz WiFi band. With more power and 5 GHz ability, Sawppy should have a better chance of tolerating noisy RF environments like SCaLE exhibit floor.

Laser-Cut Acrylic For Sawppy the Rover’s Equipment Bay

Up until this point, all the equipment inside Sawppy the Rover’s equipment bay has been installed onto the bay’s aluminum extrusion beams in an ad-hoc fashion. Sometimes they were zip-tied onto a beam, sometimes taped, and sometimes they sat on a small 3D-printed shelf. None of them were very robust and they all shared the problem they can be damaged by obstacles Sawppy is trying to climb over.

They were just temporary placeholder solutions until we could get access to a laser cutter to create a sheet of acrylic to serve as the bottom of Sawppy’s equipment bay. One was drawn up to match equipment bay dimensions in CAD and the file waited until laser cutter access was available.

Box bottom pre installation

Since the acrylic sheet’s dimensions came from CAD and not the actual box that has been built, it’s no surprise its installation exposed some assembly errors. This is a tale as old as engineering, made better (or worse) by CAD software. It fits in CAD!

Aside from overall dimension errors, there was also a problem caused by overlooking the room taken up by our M3 nut installation tool. Installation tool for panel wants to occupy the same physical space as installation tool for body corner. This doesn’t work very well in the real world. The real fix is to move fastener holes on the acrylic sheet. For now our workaround is to offset insertion tool and use only one of the M3 nuts.

Box bottom insert conflict

This first attempt fits well enough to proceed with Sawppy construction. Now we have a bottom panel to the equipment bay and components now have something nice to sit on.

But we have one final problem for today: laser cutting a sheet of clear acrylic means it is very hard to photograph. This picture tries to draw attention to the clear sheet with a hex wrench placed on top of the sheet. The hex wrench is not floating in mid-air!

Box bottom installed


Expandable Braided Sleeves Neaten Sawppy the Rover’s Wiring

After wheel traction was improved by a coat of Plati-Dip, focus turns to the other problem exposed by initial climb tests: serial bus servo wiring harness. First we have the functional problem of wires dangling and risk getting caught on obstacles. There are three wires in the bundle and it only takes one snagged wire to stop the fun.

We also have an aesthetic problem with the bundle. It was obviously assembled by an amateur with ill-fitting joints and unsightly transitions. The original idea was that we could tuck our wiring harness inside these aluminum extrusion beam’s channels, but the poor soldering job meant the wiring bundles are now too fat to fit.

The most obvious solution is to use more zip-ties to hold wires closer to suspension components, but there’s a downside to be aware of: zip ties grabbing tightly on wiring insulation is not good. Too tight, and it will chafe on the insulation and possibly cause short circuits long term. What we desire is a way to hold the wires in place, but not too tightly, distribute the fastening stress across all three wires (instead of whichever one happens to be ‘outside’) and give them a tiny bit of room to move around to avoid chafing.

The answer to all of the above wishes is an expandable braided sleeve. Sawppy the Rover is certainly not the first to have a need for wire management, and there are a wide assortment of sleeve materials and designs to choose from. For a serious engineering project, we’ll need to evaluate the material’s mechanical properties, thermal tolerance, and chemical resistance. But since a little hobbyist rover isn’t picky about such things, we’re going with a cheap PET variant from Amazon. In this particular instance, something cheap is far better than nothing at all.

Here are the two wiring harnesses (one for each side of the rover) in the middle of this wire management project. On top is the ‘before’ picture showing all its chaotic awkwardness, and below is the ‘after’ where braided sleeves have almost completely masked all the flaws. And with the eyesore factor eliminated, we can put them back on Sawppy’s chassis.

Braided Sleeve

LA Design Festival – Union Station

Union Station - Front Door

The final event in my LA Design Festival weekend was an art-and-architecture tour of Union Station, Los Angeles Metro’s downtown hub. Unlike the other events, this one turned out not to be exclusive to the design festival. It is actually a regularly occurring event, every second Sunday of the month, that just happens to overlap the LA Design Festival this weekend. Which is great because it was good enough for me to consider doing again sometime in the future.

Union Station - Ticketing Hall

Most of the tour went through areas that anyone traveling through Union Station can stop by and visit, with the notable exception of its ticketing hall. Long since made obsolete by automated ticketing machines, it is now an event venue that is usually closed to the traveling public. The tour does go into the area, though not very far into it and not very thoroughly. Still, it was a fun novelty.


Union Station - Crowd

The tour is given by volunteers wearing bright orange vests, mostly reciting from a script but the personal style of delivery matters. Given the overlap with LA Design Festival, today’s crowd was larger than usual so they split us up into two groups. I chose go to with the guide who was more verbally articulate.

The tour went from the front door, to the ticketing hall where I took the above picture. We then covered the adjacent space that was formerly a restaurant and is planned to become a brewery. There were two gardens that I never knew about, and the waiting area leather couches reserved for ticketed MetroLink and Amtrak passengers only.

Union Station - Gold Line

This was the first time Union Station was the destination rather than a transfer point. I usually arrive via Metro Gold Line and in a rush to transfer to something else. Which explained why, despite traveling through the Gold Line archway many times, I never noticed the tile mosaic artwork representing sunrise and sunset. This is only one of many Union Station features that I never stopped to notice until today.

Another piece of trivia came when we stopped off at an aquarium inside the station. It had a Garibaldi fish (just one because they are very territorial) and here is where I learned Garibaldi is California’s official state fish. I’ve lived on Garibaldi Ave. and never thought to ask what the name meant – I had always assumed it was named after a person whose significance was lost to California history, but today I learned otherwise.

The tour was over an hour long, the final stop was inside LA Metro’s headquarters building right off Union Station’s north plaza. There were several more pieces of art inside the building that I didn’t know was publicly accessible. These and other rotating exhibits inside the station makes me think I’ll have enough to keep me occupied the next time I have some time to kill waiting at Union Station. (Probably waiting for LAX FlyAway.)

If nothing else, I got some great pictures that will become new desktop backgrounds for my computer.

Union Station - North Canopy.jpg


LA Design Festival – ArtCenter South Campus

The ArtCenter College of Design is a private non-profit school whose focus is pretty clearly communicated in its name. The main campus is a bit removed, but their south campus is right near the heart of Pasadena and a venue for them to participate in LA Design Festival.

ArtCenter wind tunnel

Three buildings make up the ArtCenter south campus. The one hosting Design Slam 2018: Prototyping the Future Saturday evening used to be a wind tunnel facility for several aerospace firms that formerly worked in the area. The actual wind tunnel volume is now subdivided into cubicles that appear to be graduate student offices, and many of its its former support spaces are now classrooms. My favorite part of the building is Archetype Press, a letterpress facility where the old fashioned art of typesetting is kept alive for students to experience firsthand.

ArtCenter rooftop

The roof of this building has a space that will host student projects this evening. Beyond that rooftop patio, there was an installation that may or may not serve some practical purpose in addition to being rooftop art, and nestled between these elements is a garden that I did not expect to find on the roof of a (formerly) industrial building.

Since I have a personal interest in the developing field of virtual reality technologies, I was drawn to student projects exploring the same. It’s encouraging to see ArtCenter found the means to provide students access to leading edge technologies like VR. There were multiple HTC Vive VR headsets. Student projects on display were created in Unreal Engine so they don’t have to build VR experiences from scratch.

ArtCenter dual VR

One criticism of today’s VR technology is that it’s very isolating. Once a person straps up a headset they’re visually cut off from everybody else in the room. One project explored experiences designed around multiple VR users in the room interacting with each other. By default each user can move around in their own world, but what they could see was very limited on their own. But when the two users look directly at each other, their perspectives open up to see more of their own world as well as seeing the other person’s world. Fully exploring both of these worlds require the two users to communicate and coordinate, making this VR experience a group activity.

ArtCenter tactile VR

The other VR project present explored a different shortcoming of VR, which is the fact the current technology only conveys the visual and aural representation of a different reality. This student project seeks to add tactile feedback to the experience by building some tactile feedback – in this case vibration motors originally designed for cell phones – into their VR experiences. They are built into small battery-powered, WiFi-controlled devices strapped on to various parts of your body and vibrate on command from the core VR program. The project included a few different experiences, the one they tried to get up and running was standing in the middle of a desert and the user can hear and feel the wind blowing by. Sadly there were some technical difficulties and I did not have the chance to experience this project firsthand.

LA Design Festival – Supplyframe DesignLab

The Supplyframe DesignLab is a facility I’ve visited many times in the context of different events, and LA Design Festival gave me yet another view into what happens there. Unlike my usual experience through Hackaday LA or the Pasadena 3D Printing meetups, these events placed more focus on the “design” of DesignLab.

DesignLab Gallery

On Friday, an exhibit titled Intuitive Objects: When Interaction Becomes Second-Nature was opened at the DesignLab, utilizing the space facing the street which is sort of fitting as it is shiny and white like many galleries. A collection of items were on display, every one the result of a designer putting time and thought into making the user experience intuitive and seamless. The presentation as a gallery put focus on these items, but there were a few downsides of the format. An art gallery wasn’t an environment where visitors could just pick up and experience the interaction in actual usage, and there was limited information on site to satisfy curiosity for more details. Still, seeing them firsthand was a better exposure to these works than scrolling through pictures.

DesignLab Panel

On Saturday, a panel of women in design were assembled to speak on Designed Interactions: Diverse Perspectives. Before the panel even began I knew it was going to be an interesting mix. The event itself was a cooperation of ArtCenter College of Design who have a campus nearby, Pasadena Women in Tech, and NELAUX. (Northeast Los Angeles User Experience.) And the panelists themselves were drawn from a wide spectrum of experiences.

The intersection of all these different interests and experiences, though, did not result in a jumbled mix of concepts like it could have easily become. The panelists focused on the recurring themes that repeat themselves under different contexts, and the challenges designers would have to overcome to address them. Several times a panelist would give an answer that’s a brief summary followed by “… and we can easily have an hour-long panel on that topic alone.” Which, given the size of the interested crowd present at this event, may very well happen.

LA Design Festival – Modernica

The LA Design Festival was this weekend and I had the opportunity to check out some neat events. First on the calendar is tremendously informative tour of Modernica, a furniture (& more) maker whose factory is in Vernon. (An industrial city south of downtown Los Angeles.) Our tour guide was Frank Novak, one of the founders and owners of the company, who started the tour with a quick overview of what we’ll be seeing.

Modernica 10 - Frank Novak

One of their major products is their line of fiberglass shell chairs. A category that is closely identified with mid 20th-century, it has mostly been replaced by cheap injection molded chairs. But there are still people who are willing to pay the premium for thinner, lighter, stronger fiberglass chairs. Modernica keeps the designs fresh by leveraging one advantage they have over the cheap plastic chairs: they can mold complex patterns permanently into the shell. Unlike injection-molded plastic, which could only print on top of the plastic in a way that would wear out with time. By collaborating with different artists they can continually deliver fresh variants on the classic chair.

Modernica 20 - Fiberglass Shell Chairs

The magic starts with spools of fiberglass that is shredded by this machine.

Modernica 30 - Fiberglass strands

The shredded fiberglass is blown on top of a piece of perforated steel approximately the shape of the chair. To my eye this seems to be quite an inexact process: a lot of shredded strands never make it onto the form and are scattered throughout this building. Workers are constantly sweeping to keep the floor clear. I suppose fiberglass is cheap enough it isn’t terribly important to make sure they don’t end up on the ground.

Modernica 40 - Fiberglass to mat

When the first machine has completed its task, out pops a loose fiberglass mat in the general shape of a chair.

Modernica 50 - Fiberglass mat

This general shape is reinforced with patches at strategic locations before visiting the heated hydraulic press. A sheet of the chair’s surface design is placed on the bottom of the press. Then the chair-shaped mat of loose fiberglass strands is placed on top of the sheet, and resin poured over the mat. Finally another sheet of the surface design is placed on top of the mat + resin combination before the machine goes to work pressing everything together.

Modernica 60 - Hydraulic press

Several minutes later, the shell is removed from the press and its edges trimmed.

Modernica 70 - Hot off the press

In an adjacent room, we watched chair base mounts get installed.

Modernica 80 - Chair mounts

With the fiberglass workshop tour complete, the tour group walked over to the wood shop.

Modernica 90 - To woodworkers

Due to the layout of the building, we saw the process in reverse order. The first thing we saw were the workers sanding and finishing wooden parts. This was a surprisingly labor intensive process in our automation heavy world. But this kind of fine surface polish is something people can still do better than machines. As long as there is enough of a market for hand crafted quality, there will be companies like Modernica to supply it.

Modernica 92 - Manual finishing

In contrast to fine surface finish sanding, machines are better at holding big heavy cutting tools and running them on a consistent path. These 5-axis CNC machine take in molded plywood forms and carves out the shape of the product.

Modernica 93 - 5 Axis CNC

To hold molded plywood forms in place, these machines have a vacuum hold-down system using wooden tooling designed specifically for each project.

Modernica 94 - Vacuum fixture

But where did these molded plywood objects come from? That’s the next section, where we see many stacks of thin wood veneer and big vats of glue.

Modernica 95 - Thin veneer sheets

They are glued together into desired shapes by this machine, employing a high-frequency gluing process. I had hoped to learn more details, but sadly Frank is not familiar with the nuts & bolts and the experts who operate this machine is not present today.

Modernica 96 - Veneer press

Behind the machine is a storage area filled with multi-part molds which are loaded into that gluing machine to form each of the molded plywood products made by Modernica. Knowing how to design these molds – where they meet, what order they apply forces on the wood, knowing how much stress wood veneer can take before breaking, are all interesting to me as engineering problems. Frank said they have a piece of software that handles it… and that’s all the detail he was able (or willing) to share. Oh well, something to research later!

Modernica 97 - Multipart molds

After the tour there was a question-and-answer session. One item that caught my interest was about the grounds. Modernica bought it from a glass products company who had built a concrete bunker for their X-Ray inspection equipment. Modernica has no specific need for a concrete bunker, but it does provide a great background for many of their product photos and it seems a natural place to store their chemicals on site. After the Q&A session I went back to take pictures of this bunker.

Modernica 98 - Bunker

How heavy is the bunker door? They don’t know, but it rolls on train tracks and wheels.

Modernica 99 - Bunker door

I attended the tour because I was interested in manufacturing and engineering sides of the operation. Others came to the tour because they are fans of the company’s products. For these fans, Modernica held a little flash sale on select products which made some people very happy. I was here to learn and not to shop, so I passed on the sale.

Modernica 99a - Sale

Another item in the Q&A was that Modernica has a division catering to show business. Film productions that desire a particular look can rent furniture from Modernica Props, and it sounds like they also occasionally custom build furniture for use on set. Frank’s favorite anecdotes around this collection are mostly around pieces that are memorable in a “it was so hideous I had to buy it” way. The stories were fun and while I don’t intend to rent anything for filming, the Modernica Props showroom is open 6 days a week and it might be fun to browse through.

Plasti-Dipping Sawppy the Rover’s Wheels

Plasti-Dip is a spray-on flexible coating that has found a niche of car customization, which was how I encountered the product and used to turn ideas into reality. One subset of Plasti-Dip users take advantage of its temporary spray-on peel-off status to customize their car’s wheels, sometimes changing them around as often as other people change fingernail colors. It’s common enough that dip is available in “wheel kits” tailored for the purpose.

For automotive wheel customization, the dip goes on the metal with the rubber tire masked off from dip. I’m going to dip Sawppy’s wheels but doing the reverse – putting dip all around the outside perimeter of the wheel and by doing so, give Sawppy the rubber tire that it current lacks. The motivation comes from the fact Sawppy’s climbing ability is currently traction-limited despite the grousers printed on the outside surface. Experimentation has proved that 3D-printed hard plastic wheels lack grip against certain obstacles that I’d like Sawppy to climb. There are several ideas on how to improve traction on these wheels, the easiest one to try first is Plasti-Dip as there are a few spray cans on hand from earlier car projects.

Again as a reversal from dipping car wheels, I’ll mask off the interior surfaces. I had hoped this will give a nifty two-tone appearance, white innards contrasting with the outer coat of black dip. To accomplish this without tedious masking tape work, wheel covers were designed and printed.

Sawppy Wheel Dip 1 - Caps

They are installed to either side of the wheel on a 8mm steel rod.

Sawppy Wheel Dip 2 - Caps Installed

Plan A was to use an old rover wheel prototype as the base for a spray stand. This did not work as well as hoped because it meant the I had to move all around the stand in order to cover all sides of the wheel.

Sawppy Wheel Dip 3 - Stand

Plan B was to hold the steel rod and rotate it by hand during spraying. This dramatically reduced the effort but the results were uneven.

Sawppy Wheel Dip 4 - Handheld

Plan C worked the best – install 8mm rod into cordless drill chuck, set the gearbox to “Low”, and use it to turn the wheel at a much more consistent rate, which directly translated to a much more consistent coating.

Sawppy Wheel Dip 5 - Motorized

Sadly, all the effort spent on masking off the insides with wheel covers failed to deliver a crisp white/black contrast.

The first problem is a nature of 3D printing: gaps between layers are great at pulling liquids along with capillary action. Many of these gaps pulled liquid dip into various crevices between layers, resulting in an uneven coloration.

The second problem is user error. After a wheel was sprayed, it was set aside to dry and cure while the next wheel is sprayed. The smart thing to do would be to keep the wheels far away from the work area, or provide a divider, or at least make sure the work area is not upwind of the drying area. None of these occurred, which meant the white parts of the wheel now look really dirty thanks to overspray. Thanks to capillary action, a small droplet soaks in to make a big mess that is impossible to clean.

These are valuable lessons to remember if I try this again.

Sawppy Wheel Dip 6 - Overspray

Sawppy the Rover Conquers Backpack

Once Sawppy received its new power system that could deliver the amperage necessary for challenging climbs, it was time to see what the rover can do. Here’s video footage of a particular test where it climbed a backpack.

The most impressive part of this particular demonstration is the height of that backpack. At its highest point, the backpack was approximately double the diameter of Sawppy’s wheels. This was a little difficult to see from the angle of the above video, here’s a picture taken from a different angle.

Sawppy and Backpack.jpg

Credit for this climbing ability goes to the rocker-bogie suspension geometry copied from real rovers JPL sent to Mars.  It allows real rovers to roam a planet with no roads, and on this planet it allows little rover models to climb obstacles better than other wheeled vehicles of similar size.

While the suspension geometry is working marvelously, this series of climbing experiments exposed other limitations. Sometimes Sawppy’s servo motors do not have enough torque, and that is an understandable weakness of these $15 serial bus servos. Like we’ve said before: it’s a trade off for hitting its price target. Also, the wiring harnesses need to be better managed, it snagged on a few obstacles that the rover otherwise would have no problem climbing.

And lastly: grousers on these wheels only help in some situations. Sawppy’s climbing ability is frequently limited by lack of traction. The current design works well when there’s something for the grousers to grip – for example the rough texture of a backpack – but sometimes the grousers can’t find a feature to grip onto. This leaves us with the very limited friction of hard PLA plastic.

As an experiment to help Sawppy get a grip, we’ll try coating the wheel surfaces to see if we can improve traction.

Distributing Power Inside Sawppy the Rover

Now that Sawppy has a big battery pack sticking out the back, the next task is to think about how to distribute that power to internal components. This is not yet a big problem in Sawppy’s current configuration because we only have two things right now: the Raspberry Pi and the serial bus servo controller. But since Sawppy has ambition to grow in sophistication, it’s worth thinking about the problem while it’s still easy.

With two components, Sawppy already has two different voltage level requirements. The Raspberry Pi 3 requires regulated 5 volts up to 2.5 amps though fortunately that’s a problem with a known solution. The serial bus servos may draw up to 1 amp each. With ten of them on board, the potential maximum draw would exceed the capability of the voltage regulator used for the Pi. Fortunately the servos are OK with direct 2-cell lithium cell power so there’s no need to find a beefy voltage regulator.

One solution for rover power is to create a master power supply module that can regulate and deliver power required by each component. But at this point in Sawppy’s evolution, it’s too early to know what components never mind what power they want. It’s better to go with a distributed system where raw battery power is sent out and each endpoint is responsible for its own power regulation. This will mean lots of duplication, but it also offers freedom to swap things in and out for experimentation.

For the moment, that means the existing solution for Raspberry Pi will be used. That solves the electrical problem but physical robustness leaves something to be desired. We can’t leave wires dangling by their solder joints!

Flappy Pi Power

A 3D-printed enclosure was designed to hold both the step-down voltage converter and the micro-USB plug used to interface with the Raspberry Pi. They are now connected by a short segment of rigid wire, eliminating movement and a potential point of failure. Power input wires for the voltage converter now have a little bit of help against physical forces from the enclosure. It’s not full and proper strain relief but it’s a start.

Converter Enclosure - open

The two halves of the enclosure are held with zip-ties. Again, not a full and proper solution but much better than dangling wires and bare circuit boards. It’ll be good enough while Sawppy evolves.

Converter Enclosure - closed

Powering Sawppy the Rover

Once we had our first powered test drive (hooray!) It was time to address the most obvious problem it unveiled: the power supply. The test had used a small 2-cell lithium polymer battery pack that was over ten years old. Originally purchased for small lightweight remote-control aircraft, its capacity has diminished over time as lithium chemistry battery cells tend to do. Sawppy will need a higher capacity battery pack.

Remote control aircraft battery packs like the old unit on hand tend to be small, lightweight, and correspondingly expensive. Fortunately there is another remote control hobby niche that is less weight-sensitive and has power consumption profile nearly identical to Sawppy: remote-control off-road vehicles. The 1/10th scale monster truck category seems to have standardized on using a pair of 2-cell lithium packs so that’s what I bought.

A few accessories were purchased alongside the battery. First a pack of power switches so Sawppy can be turned on and off more elegantly than reaching in and unplugging the battery. To protect the battery, we’ll want an always-on and visible volt meter to monitor its voltage. To protect the rover, we’ll add a fuse holder in line with the battery and a variety pack of fuses. The battery pack is advertised to deliver up to 30C which is far more than any Sawppy component would want (or can tolerate.) Hence a fuse to cut power if there should be an unfortunate short-circuit.

Once all the parts were on hand, the next decision is where to put them all. Since Sawppy is intended to be a mechanically faithful model of actual Mars rovers, the answer is obvious: we’ll put our power system in the back, sticking out at an angle just like real rovers have their radioisotope thermoelectric generator (RTG). Sometime down the line we might print a cosmetic cover that makes it look more like the actual RTG, but for now we’ll settle for matching its position and orientation.

Sawppy Power


First Time Sawppy the Rover Rolled On Its Own Power

Once the serial bus servo wiring harness was soldered (twice, once for each side) they were examined with a multi meter for obvious mistakes: First to make sure there’s continuity across all the terminals that are supposed to be connected, and make sure the bits that are supposed to be separate are indeed independent. After that was verified, it was time to hook everything up and try it for real. All we needed was a Raspberry Pi 3 to run SGVHAK rover’s software (modified to command Sawppy’s serial bus servos) and finding an old two-cell lithium ion battery pack to power it all.

Once everything powered up, the rover could move but in a haphazard uncoordinated fashion because the steerable wheels weren’t pointing in the correct directions. Before it can move well, we needed to find and record their actual center position. In theory there shouldn’t be any work necessary because a servo knows its center position and all we need to do is line up with it. In practice, each servo has a tiny bit of error, each 3D-printed shaft coupler has a little bit of error, etc. Overriding all these little errors is the fact these steel steering shafts were cut by hand on a poor man’s lathe so the set screw detents on either end of these shafts don’t line up at all. All these sources of error add up and they’re why we needed the ability to adjust steering center position.

Once center positions were established, Sawppy was able to roll around on its wheels. There was still a lot of work to do but it was exciting to cross this threshold.

Servo Rover

Solarbotics Photopopper 4.2 Photovore

And now, a completely unnecessary distraction.

While digging through the parts pile for stuff to help build Sawppy’s wiring, I came across an electronics kit that has been sitting, waiting to be built, for over a decade. Every time I came across this kit I decided “I’ll build it later.” And even though I’m in the middle of building rover wiring, I looked at this kit today and thought: “I kept saying I’ll build this someday… that day is today.”

Photopopper Bag

I’m not sure how old the kit is, but I’m quite confident it’s been over a decade. The only date visible is the last revision date on the manual – August 25, 2003. The manual said it is version 4.2, the Solarbotics catalog is now up to version 5.0. I thought its age wouldn’t be a problem, it’s not like electronic components decay, right?

Photopopper Contents

It’s a simple little kit of through-hole solder components. The first step – like all kits new and old – is to lay out all parts and check against the parts manifest in the instruction. Once all parts are accounted for, assembly can begin. Given the growth in my electronics skills over the past years, this “Skill Level 3” kit is now a breeze to assemble.

It took only about half an hour to reach the point where all power components are connected. I am instructed to take the partially built robot someplace bright to give the solar powered system a test. I placed it under sunlight and… nothing.

First I ran through troubleshooting steps outlined in the manual, and none of them helped. So it was again time to deploy skills I didn’t have years ago, this time for electronics debugging. Out came the multi meter and start probing the circuit.

Diagnosis: the electrolytic capacitor is dead. Remember when I said electronic components don’t decay with age? Well, that was wrong because electrolytic capacitors do. Back into the parts pile I go and I was able to find another 4700 uF capacitor. Problem: it is physically a far larger device. In this picture, the dead capacitor from the kit is on the right, dwarfed by the new functional capacitor on the left.

Photopopper Capacitor

Since the functional capacitor is much larger physically, it couldn’t fit in the same space under my photopopper. The big capacitor would have to go above. The dead capacitor also served as the third leg of the photopopper, so that job had to be reassigned to a little piece of wire. Now the robot sit on the wire instead of a capacitor along with its two wheels.


And now… it moves! The little solar panel charges up the capacitor, and ever few seconds that power is dumped into one of the electric motors, scooting the photopopper a tiny bit forward. A process that will repeat for as long as there’s light shining on the solar panel. I’m sure that it would move farther or maybe faster if the original sized capacitor was in place. This poor photopopper has to carry a big heavy barrel of a capacitor on its back.

Technically the kit has not been completely assembled. There are also two touch sensors that help the photopopper detect walls and steer away from them. But given that it is moving, and that I wanted to get back to assembling wiring for Sawppy the Rover, I’m content enough to leave the photopopper as is. I’ll pull it out every once in a while, so I could put it under sunlight and let it scoot around.








In A Distorted Computer Component Market, Buying Is Better Than Building

The typical rule of thumb is that building your own computer from components is far cheaper than buying a prebuilt machine. Buying parts from, Amazon, Fry’s Electronics, etc. results in a better machine for less money than getting something from Dell. This was certainly true when I embarked on the Luggable PC project but a few notable events have since occurred to make an exception to the rule.

The blockchain fad is the biggest disruption. Cryptocurrency miners’ demand for graphics processors drove up their prices tremendously. At the beginning of my Luggable PC project, a NVIDIA 1060 card with 6 GB memory is considered a good mid-range GPU. (Or an entry-level unit for the more demanding world of virtual reality). A desktop 1060 video card was available for around $200 and I expected its price to drop as I designed and built my luggable PC. Instead, it spiked up to over $400 at times and is now hovering around $300.

The second disruption is in 3D-NAND flash memory. It is a big step change in price/performance so flash memory makers had no choice but to switch to 3D NAND technology or risk going out of business long-term. In the short-term, chip fabrication facilities have to be taken offline for this conversion, which meant a shortage of flash memory, 3D and otherwise, across the market. Driving up prices of solid state drives.

The third disruption is in DDR4 memory. There isn’t as clearly a single factor here but manufacturing capacity seems to be lagging market demand over the past year or so. Right now, DDR4 memory is nearly double the price of similar capacity DDR3 memory when historically they should be closer to price parity at this stage of technology maturity.

There are a few other factors at play, but the short-term trend is clear: many computer components have risen in price over the past year, counter to the long-term historical trend of ever-cheaper electronics.

Computer manufacturers like Dell deal in large quantities, and therefore they buy through supply contracts whose prices are independent of day-to-day market disruption. The upside of this approach is that, in times of supply shortages, Dell pays far less for their parts than market price.

download (1)
Dell Inspiron 15 7000

Today’s example: a particular configuration of Dell Inspiron 15 7000 Gaming laptop is available for $750 after promotional discount codes. Let’s look at the components and the current (approximate) market price for their desktop counterparts.

  • NVIDIA GTX 1060 with 6GB: Admittedly the laptop variant of this GPU is slightly less capable than its desktop equivalent, but for the purposes of this comparison we’ll count it at the full $300.
  • Intel Core i5-7300HQ: Again this is a laptop-only part. It is similar to the desktop i5-7400 processor in that they both have a peak speed of 3.5 GHz, so $200.
  • 256GB NVMe M.2 SSD: Unlike the other parts, desktop machines are happy to use the exact same M.2 form factor solid state drives using the NVMe interface. 256 is a little cramped but on a laptop it should be fine. (I stuck with 256 until the flash memory crunch eased a bit for me to upgrade to 512.) Let’s call it $100.
  • 8GB DDR4 memory at 2400MHz: The smaller laptop-sized DDR4 modules are a little more expensive than their desktop counterparts, but we’ll round up to $100.

With these rough estimates, we’re already up to $700 and we’re still missing some major components necessary for a working computer.

  • Motherboard with M.2 SSD slot and built-in WiFi: Bottom of the line units are available for $70-80 but a reputable unit will be $100 and up. (It is the backbone of the system so not the best place to economize.)
  • Power supply: We can pinch a bit here, reliable though not super powerful units can be had for around $50.
  • Display: A 1920×1080 IPS monitor will be around $100.
  • Keyboard, Mouse, case (luggable or otherwise) and other miscellaneous parts: Round to $50 for a nice even tally.

That’s $1000 to build a desktop or luggable PC with similar specs as this $750 Dell laptop. And while the screen might be physically larger, the whole computer definitely won’t be as lightweight and portable. Such laptop-only traits – light weight, tight integration, ability to run on battery – usually demand a price premium over equivalent desktops.

But things are weird in a distorted market.

(Cross-posted to

Sawppy the Rover Needs Wiring Harnesses

With mechanical construction complete for Sawppy the Rover, the next thing to do is work on an electrical nervous system to drive this skeleton. First up: running wires for all ten LewanSoul LX-16A serial bus servos, six driving and four steering.

From an electrical design perspective this wiring is trivial. Each servo needs three wires: ~7.4V power from the battery, electrical ground, and a data wire over which they all communicate using 5V/ground TTL serial. Electrically they are all wired in parallel, and the physical shape of implementation is up to the builder.

The first option is daisy-chaining. Each servo has two ports that are electrically parallel so a single three-wire harness can go to one servo, then another harness can connect it to the next servo, and so forth. This works fairly well for small humanoid robots where there are a lot of servos in a line on a single robot limb, but it doesn’t scale very well to a rover with rocker-bogie suspension since there isn’t a convenient line to daisy-chain along.

The second option is run a wire from each servo to a central location in the rover’s body. This approach has the advantage of allowing us to use thinner wires. In other arrangements where multiple servos are hooked to a single wire, they may all be drawing power so wire gauge has to be beefy enough to meet the worst case power draw scenario even if it is rare. Giving each servo its own wire eliminates this power variability concern.

Each servo came with a short 10cm segment of wire for daisy chaining, which is not nearly long enough for Sawppy’s chassis. For reliability and neatness the best thing to do is to have custom long wiring harnesses built, but first we’ll try a few arrangements using parts on hand to figure out what works.

For the first build, each wire that came with the servo will be cut in half and additional wires spliced in to extend to length we need. A retired ATX PC power supply with lots of 18 gauge wire was scavenged for this project. Given the generous power capacity of 18 gauge wire, there was no need to worry about multiple servos drawing too much power for the wire.

Building Sawppy Wiring Harness

The topology chosen for the first build is to mimic the topology of each rocker-bogie suspension assembly. When laid out it looks like a tree branch. This involves making a Y-shaped solder joint at each branching point, a task that’s just outside my soldering skill comfort zone. The solder joints look terrible to start but each one is a practice opportunity. By the end, the joints are halfway respectable. Or at least, not painful to look at.

From a physical functionality perspective, mimicking the physical chassis topology made sense. From a soldering task difficulty perspective, I’m not sure this was the best way to go. If I build a future revision I’ll try a different arrangement for comparison, but for now we have enough to proceed.


Differential Bar Brace Completes Mechanical Assembly of Sawppy Rover

After the assembly session at April 2018 Third Thursday SGVHAK meet-up, we could see the major outline of a rover but some parts were held only by friction and not yet properly fastened. Once everything was buttoned up, it uncovered a mechanical issue: there was a surprising amount of stress on the differential. Enough to bend its 8mm steel bar.

We need a brace to reinforce that bar.

The first version of the differential brace was made of four pieces – two pieces above the shaft, left-right and two pieces below. This was a beginner’s mistake that didn’t help at all against flexing because the stress went into narrowing/widening the gap between left/right pieces. Second version of the brace eliminated the left-right split and consisted only of two pieces – one above and one below the bar. Again, there’s some looseness in the gap between these two pieces, but a few M3 fasteners kept its flex in check so overall bending of differential bar was dramatically reduced.

Differential Bar Brace

With the differential bar enforced, mechanical assembly for initial build is complete. The rocker-bogie suspension geometry is fully active and now we can proceed to build the electric wiring harnesses we’ll need to bring Sawppy the Rover to life.

Sawppy Mechanical Assembly Complete