Reposition CNC Z-Axis Homing Switch

Top of the CNC mill electrical work items list was making sure it had a functioning Emergency Stop button. Once that was completed, the next work item was the Z-axis homing switch. For a vertical mill, we want the Z-axis homing operation to take it to its highest position, furthest away from workpiece. This is reverse of many 3D printers, which home against the print bed. This is because 3D printers have the luxury of  starting from an empty print bed as a characteristic of additive manufacturing. A CNC vertical mill, representing subtractive manufacturing, could not make such an assumption since the workspace would have work fixtures and material stock.

Our initial Z-axis homing switch was appropriate for our initial orientation of the mechanism, allowing it to home to the top of its travel. But once it was flipped around, the homing switch is now sensing the bottom of its travel instead. We need to find another mounting position before we could have a good Z axis.

Z homing switch wrong end

This switch had the luxury of sitting next to the motor and conveniently sensing the approach of the carriage. Its height was sized to match the length of the motor ballscrew coupler, engaging the switch just before the carriage would run into the coupler.

This linear actuator have no convenient location to sense the other end of the range of motion. Since there was no coupler on the other side, a similar mechanism would subtract from valuable range of motion. We didn’t have a good place until we installed the spindle motor mount plate, whose top edge gave us an feature we could use to trigger the homing switch.

From that point, it was a matter of running through a few 3D prints to find the correct dimensions to trigger a homing switch while maximizing useful travel distance. Now our Z-axis homes against the top of its range of travel again, let’s give it an useful surface to work on.

CNC Physical Controls Panel V2

When I started to build a panel for physical control buttons, I had planned to use arcade console buttons. Big, bright, and durable, they were designed to take a punishment and I thought they would serve well. But before I finished the first version, I had switched to a more task specific button for the emergency stop. I proceeded with arcade buttons for the other two, but [Emily] had a better idea.

She had salvaged some control buttons from retired industrial machinery, so these would be buttons originally designed for the purpose of machinery and not controlling a video game character. They should be given a second life doing their old jobs on a new pieced-together CNC vertical mill.

Salvaged switches for hardware buttons

Using them would require designing and printing another panel. They were smaller in diameter so I thought maybe I could get away with a shim, but even though their smaller diameter required less panel front surface, their mechanism for disassembly and installation actually required more clearance under the panel. As a result I had to rearrange the buttons from forward-back to side-by-side. This is a good thing – the results more closely mimicked that seen on real industrial equipment like this Haas console. My three-button panel is a poor comparison to that full featured beast, but is a lot cheaper.

I also appreciate the black rim on these buttons, making them more difficult to press them accidentally compared to arcade buttons lacking such protection. It was also interesting to note these buttons have provision for three switches underneath, controlling three circuits at once. These, however, only have a single switch in the center slot and given these were salvaged we are unlikely to populate the remaining two slots.

I started the physical button control panel task planning to use three arcade buttons I had on hand. By the time I completed the second version of the panel, no arcade buttons were used but the panel looked better and worked closer to the way they would be on actual machinery. I call that a success, and turned my attention to the Z-axis homing switch.

CNC Physical Controls Panel V1

Our mini CNC vertical mill project now has almost all the basic mechanical components in place. We’ve done a quick drill test, but that was under manual control. There still several very important things to add before we let the machine run G-code, the top of the list is an “emergency stop” button for when things don’t go according to plan. It would also be nice to have physical buttons for “cycle start” and “feed hold”, but that is less critical. I soldered some headers earlier in preparation for this, now I need to connect them to physical buttons.

I originally planned to reuse some arcade console buttons I already had on hand, but then realized there is existing convention for emergency stop buttons: once pushed, they stayed pushed until twist to release. They also have a distinct appearance everyone (not just myself) would recognize, and these are things I want to have on my own machine. I bought the cheapest one I found on Amazon (*) and the tactile feel of this unit definitely reflected its low price. If I were to do this again I’d hunt for a more substantial-feeling (and more expensive) alternative. But in the meantime, it seems to work well enough electrically and the low budget nature matches the rest of the project.

For the “Cycle Start” and “Feed Hold” buttons, I continued with the original plan of reusing arcade buttons I had on hand. I have a nice red one for “Feed Hold” but I didn’t have a green one for “Cycle Start”. I used a yellow one in the meantime, maybe I’ll paint it green later.

Then I designed and started printing a panel for these buttons, paying special attention to the emergency stop button’s support structure. I want people to be able to slam on this button hard in a panic without breaking anything. Unfortunately, due to an uncooperative 3D printer, I couldn’t get a finished print of the panel in time for a work session.

Hardware buttons panel - partial

No matter, it was enough for me to begin the wiring work for this project. Obviously I couldn’t mount the buttons on the machine until I returned later with a completely printed panel in another session. However, even as I was wrapping up this panel for physical buttons, we were already talking about an upgrade.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

CNC Spindle Mounting Plate

Once our new CNC spindle passed initial inspection, it was time to get to work mounting it to our Z-axis linear actuator. Again, the piecemeal nature of this machine meant the parts would not bolt up directly so we’ll need to fabricate another adapter plate. This meant cutting another piece off of the same 1/8″ aluminum stock used to mount the Z-axis on our gantry and marking up the dimensions we’d need.

Four holes were drilled to line up with the actuator extrusion beam, and four more drilled to line up with the motor mounting block that was part of the spindle package. The original plans were to use bolts and nuts across the board, but there was a problem with clearance: the motor mounting holes were almost exactly the width of the Z-axis rollers, leaving insufficient clearance for either M6 nut or bolt head.

The obvious solution was to tap M6 threads into the aluminum, avoiding the need for nuts and associated clearance. Unfortunately we had no M6 taps on hand, but [Emily] the resourceful improviser had a trick up her sleeve: We had plenty of M6 steel bolts, and we wanted to tap aluminum. Steel is harder than aluminum, and so with some modifications with the grinder, she turned one of the M6 bolts into a functional M6 tap.

Cheap spindle mounting plate creative tapping

Bolting directly into newly tapped aluminum, our M6 bolts would still just barely scrape the Z-axis roller assembly. Switching to thicker washers gave us the spacing needed to clear the rollers, allowing the spindle to move across the entire range of motion on our Z-axis.

Cheap spindle mounting plate installed

As a quick test, we mounted an 1/8″ drill bit into the spindle and performed the ceremonial first cut of this machine. I was moving the Z-axis via manual jog controls in bCNC, we still have a few more things to take care of before running this machine under automated program control.

Examining Air Cooled ER11 CNC Spindle

Up until this point, almost everything in the home brew vertical mill CNC project has been salvaged or reused from some previous project. But we’ve come to the point where the Z-axis drive has been properly configured for a spindle motor… that we don’t have. We have smaller lighter motors that aren’t strong enough for the job, we have big beefy motors too heavy for our gantry. While we could potentially use a Dremel or a RotoZip as a stepping stone, the decision was made to buy a cheap milling/engraving spindle from Amazon (*) for the project.

The product page proclaims a maximum of 500 Watts and maximum speed of 12,000 revolutions per minute. We’ll measure power draw once we can put it to work, and we have tachometers to measure its speed range. We don’t expect it to actually hit those numbers, but they seemed reasonable. The part that we were most skeptical about was the proclaimed precision: 0.01-0.03 mm of runout. This is a very high level that we doubted was reasonable in this price range.

The first test after unpacking all components was the obvious basic test: does it spin up? Once we established that it does indeed turn, the second test was then to mount a Starrett dial test indicator (*) to measure its actual runout.

Cheap spindle on Amazon getting dial indicator

The results were… surprisingly good! When the motor is not under stress and turning freely, it actually stayed within a very tight range. This specific dial test indicator was in Imperial units, measuring a range within +/- 0.0005 inch. This is in the ballpark of +/- 0.0127 mm, so the product listing was not a complete lie.

For practical purposes, though, we’ll never have that level of accuracy. There is a lot of flex in the system — from the motor output shaft to ER11 collet — to take us out of that range. A single finger press was enough to bend things beyond the technically-not-wrong runout, so we shouldn’t expect very high precision from this spindle after we mount it on our Z-axis and run under real cutting forces.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

Watching Operation Of Electron Microscope Live Was Surprisingly Interesting

It’s always amazing to see what people bring to the Hackaday Superconference. I think the audience would appreciate my project Sawppy, but I didn’t bring my rover to Supercon for two reasons. First, Sawppy is somewhat unwieldy and bulky and second, I expect to be pretty busy as part of event staff helping out on badge logistics.

The second reason held true throughout the weekend, but I was put to shame on the first front because Adam McCombs (Twitter @nanographs) brought a scanning electron microscope. I never thought they were very portable and I was right, but that didn’t stop Adam! It occupied what little open space there was in the DesignLab shop area. I’ve seen SEM imagery and thought it might be fun to take a closer look, but what I didn’t realize was how cool it was to watch one in operation.

I never got time at the operator console, but I watched others turn knobs at their disposal. I had not known how many different parameters were adjustable to highlight different features on the sample. When we see a published picture generated from a SEM, an operator has already adjusted these knobs to the appropriate settings. Seeing less-than practiced operators adjust them live and experiment to see what works was mesmerizing.

I was also surprised at how feedback is visible immediately. It was explained to me the whole machine is a very analog process. The path from the electron beams striking the sample to picture on operator console CRT has no digital frame buffers or processing inserting delay. Every once in a while an image is recorded to the adjacent laptop, and that process consumes several seconds, but the knob-twiddling is effectively instantaneous on CRT as are interactions with the sample. I saw some small specs of dust dance around and initially thought it was due to air movement, but then I learned the sample is held in a vacuum. What is moving the dust? The electron beam!

My mind evaluates this technology from the perspective of an optical camera, and from that perspective the available range of magnification is astounding. Traversing several orders of magnitude of magnification with a single twist of a knob. I saw no indication that a SEM has any equivalent of focus or depth of field limitations: everything in the image is always razor sharp. I was not surprised to see panning across the sample, but I was surprised to see tilt was an option as well to see some items from different perspectives.

Watching a SEM in operation was not something I knew I needed to see until I saw it. The pictures afterwards are a great reminder, but no match for the live experience. The opportunity doesn’t come often, but if one is available I highly recommend it.


Examining Composite Video Signal Generated By Microcontrollers

There was a several-years-long period of my life when I spent money to build a home theater. This was sometime after DVD became popular, because the motivation was my realization of how much superior DVD picture quality was over VHS. With movies on VHS, noisy visual artifacts were a limitation of the analog magnetic medium. With movies on DVD, the media-imposed limitations were gone and now there are all these other limitations I could remove by spending money, lots of it, to do things like upgrade from composite video to S-Video connections.

Eventually home theater moved to all digital HDMI, and I stopped spending big money because even the cheapest flat panels could completely eliminate classic CRT problems like color convergence. (My personal peeve.) I thought I have left the era of CRT and composite video behind, but throwing out my pile of analog interconnects and video equipment turned out to be premature.

Now I’ve found an interest in old school video again, because they are accessible for the electronics hobbyist. It is much easier to build something to output a composite video signal rather than HDMI. Local fellow maker and tinkerer Emily likes the old school tech for aesthetics reasons in addition to accessibility. So one day we got together at one of our regular SGVTech meets to dig a little deeper into this world.

Emily brought an old portable TV with composite video input, and two candidate Arduino sketches each purporting to generate composite video. (arduino-tvout and one other whose name I can’t remember now.) I brought my ESP32 dev module running Bitluni’s composite video demo. For reference Emily had an actual composite video camera, the composite video Wikipedia page and the reference document used by Bitluni for his demo.

All three were able to get the little TV to show a picture. However, they looked very different under the oscilloscope. The [name will be filled in once I remember] sketch had the wildest waveform whose oscilloscope trace didn’t look anything like a composite video signal, but the proof is in the fact an animated 3D vector graphic cube showed up on the TV anyway. The waveform generated by arduino-tvout was a little rougher than expected, but unlike the previous, it was clearly recognizable as a composite video waveform on the oscilloscope and accepted by the TV. Waveform generated by Bitluni is the best fit with we expected to see, and matched most closely with output generated by the composite video camera.

Knowledge from tonight’s investigation will inform several of our project candidates.


Monoprice Maker Ultimate (Wanhao Duplicator 6) Dead Again But This Time It Was Not The Relay

My Monoprice Maker Ultimate (branded variant of Wanhao Duplicator 6) is dead again. This has happened before, but this time is different. Previously, the main 24V relay would die of overwork, and when that happens all stepper motor and cooling fan activity stopped while the display UI thinks it’s business as usual. This time around, the fans turn on but the display was dark.

Since the primary user interface was dark, the first order of business was to see if it’s just a dead display or if the problem went deeper. As a data point I tried an alternate control scheme: I put OctoPrint on my laptop and attempted to communicate with the printer via USB serial. This was only intermittently successful, and even when communication was established, it would quickly disconnect. So it’s not just the display that was dead, but the printer isn’t entirely dead, either.

Suspecting a bad power supply, all voltage output lines were measured and power levels would dip occasionally. Eventually we figured out something was causing the main system board to reset on a regular basis, and upon ever reset, there would be a brief spike in power draw.

Diagnostics moved on to unplugging components one at a time from the control board to see which component is overloading the system. The printer powered on and stayed on once I unplugged the wires for the front control panel and display.

Maker Ultimate front panel disconnected

Removing the display and control panel, we took a closer look at the circuit board and found our culprit: component U3 has suffered some calamity that caused the chip inside to burn a hole in its casing.

Maker Ultimate fried U3

Judging by surrounding traces, U3 had some sort of power management role. It has either failed short, or it has failed open causing some other component to trigger a system reset.

With the display and user control panel disconnected, I could control the printer via USB using OctoPrint. However, this did not eliminate the random system resets, it just made it much less frequent. Apparently there was more damage elsewhere on the system. Unless the source could be found and repaired, it will be time for an upgrade of this printer’s main control board.

Sawppy at PCC Maker Festival

The city of Pasadena is fortunate to have an organization like Innovate Pasadena to build a community of companies and organizations around Pasadena. The city is large enough that people don’t always know what’s literally down the block. The flagship event is open to the public, to try to get everyone involved. This is Connect Week, a week long event in October filled with events that open doors and hopefully form connections.

Sawppy’s participation in Connect Week is the Maker Festival held at Pasadena City College (PCC). Representing one of the many subsets of San Gabriel Valley Technology enthusiasts (SGVTech.) Sawppy’s nominal job for the day is to roam around, get people’s attention, and direct them to the SGVTech table for more information.

Sawppy and JPL OSR at PCC

Sawppy wasn’t the only rover present, though. SGVTech’s neighboring table represents JPL and one of their Open Source Rover was also present. This is the exact same rover present at Sawppy’s first public outing.

I was a little disappointed at how many people suggested the rovers fight each other. These are robots celebrating exploration, science, and knowledge. They are not combat robots. I am not a fan of Battle Bots, Sumo Bots, or derivatives thereof and I wished these combat-oriented robots didn’t have such a high profile in people’s minds.

For the immediate future, the best thing I can do to raise the profile of non-fighting robots is to show off Sawppy to more people. Hopefully seeing that there’s more to hobby robotics than battle bots will open people’s minds about it.

Turn That Z-Axis Mechanism Around

Fourth iteration of Z-Axis was mounted expediently for the pen plotter test, where we found the ball screw was bent but everything else looked good enough to proceed. Following that success, I will make a better mount for this linear actuator to solve some problems with the quick test configuration we had used.

Zv4 mounted by vertical extrusion with old bracket

Problem #1: the test mount was a 3D printed plastic bracket. The best thing that can be said about the rigidity of the mount was that it is better than tape.

Problem #2: old mount leaves long Z-axis mechanism in place, moving the small carriage. Fine for plotters, but for a small vertical CNC mill we want the Z-axis mechanism to move out of the way of the work piece. This means flipping the mechanism around, mounting it by the small carriage so motor moves the entire assembly out of the way.

Zv4 aluminum mounting board in progress

A scrap piece of aluminum was drafted for this purpose. Holes were drilled by hand for fasteners. The accuracy leaves something to be desired, but the hope is that the machine will eventually get to a point where it can make a superior replacement for itself.

Zv4 aluminum mounting board almost ready

Because the carriage aluminum extrusion beam does not have the same spacing as the gantry aluminum extrusion beam, this plate allows us to bolt them together. Here it is almost ready for installation.

Zv4 mounted by aluminum sheet

Installation complete. Now when the tool moves up, the rest of the Z-axis moves up and out of the way with it. It is now ready for a CNC spindle.

Plotter Test With New Z-Axis Exposed Screw As Bent

One of the reasons I didn’t design and print yet another iteration of the pen holder was that I thought it was more important to design and print a mounting bracket for the Z-axis stepper motor. Up until this point, the stepper controller module was merely taped to the gantry. This was never going to be an acceptable long term solution.

Stepper driver - tape mounted

Once the stepper driver was mounted with a proper bracket and tested with the Z-Axis version 3, we removed Zv3 and installed Zv4 in its place. Complete with simple homing switch and parallel link pen holder. For this first test Zv4 was held with the same 3D-printed bracket used in Zv3, though that is already on the list for replacement.

After the fourth Z-axis assembly was installed, I loaded and ran the Sawppy portrait program used for testing the third Z-axis assembly. The Y-axis flex really messed up the plot far more than originally expected.

After watching the thing mangling a Sawppy wheel, I stopped the test. There was no point in going further. Here’s Sawppy wheel drawn by fixed mount for comparison.

Sawppy portrait result of flexible pen holder

But a beautiful pen plotter was never the point of the exercise. Making the machine act as a pen plotter was merely a way for us to visually confirm that the Z-axis is moving more-or-less in sync with the rest of the machine. So as poor as the new pen plot is, the main objective was accomplished.

The test did, however, uncover a problem with the salvaged Z-axis: the ball screw is bent. Now that it is under computer control we can run it at a consistent speed (better than turning it by hand) and now we can feel a small but definite wobble in the carriage. This would explain why it was retired! This wobble was evidently too much for its previous owner, but it’s still too early for us to give up on it. It is possible the wobble won’t be the biggest source of inaccuracy in this pieced-together CNC mill, and even if it is, we’ve established that this is a common and affordable form factor we can easily replace.

Therefore, we shall leave Z-axis version 4 in place and continue working on the rest of the machine until the wobble proves to be a problem.

Parallel Link Pen Holder Only a Minor Improvement

Abandoning rubber band flexible mechanism as too weak, I started thinking about using the 3D printed plastic itself as the compliance mechanism. I’ve long lamented about the lack of rigidity in 3D printed plastic, now is my chance to turn that flexibility to my advantage. Thus was born the second pen holder iteration, using two printed plastic links in parallel to keep the pen vertical.

Most of the thought went into how to print these links so that they could move independent from the underlying base. I toyed with the idea of printing support structures, or have them hang in air and take my chances, before I realized I could take another long-standing headache of 3D printing and turn it to my advantage. The weakest part of a 3D print are the bonds between layers. When a part starts to fail, it almost always fails along layer lines. So I will print this design in one piece, fully planning to break the two printed plastic links apart at the layer line to achieve my goal of two flexible links.

I printed these links across the entire width of the space I had to work with, because I thought longer links will shorten horizontal deflection as the links bend. As it turns out, such horizontal deflection was not the most significant problem. The two parallel links did indeed constrain motion along X-axis, and allowed pen movement along Z-axis, but it was not very resistant to forces along Y-axis.

At this point I ran out of time to create yet another iteration of pen holder before the SGVHAK meet, so I brought this print with me to test on the machine.

Rubber Band Pen Mount Was Too Flexible

Now our Z-axis version 4 has a homing switch, I thought I would again repeat the pen plotting test that I performed with Z-axis version 3. And to do that, I will need a pen holder.

Our problem with the previous plotter test was that our pen was rigidly held. This meant it could not adjust for the uneven height of the drawing surface. We compensated for this by mounting the paper on squishy foam, but still the pen was borderline drawing in one part of the paper and on another part, it pushed so far into the foam to risk tearing the paper. I thought I should build a flexible (“compliant”) pen holding mechanism.

This first draft here had a vertical channel for holding the pen, and rubber band to keep the pen inside that V-shaped channel allowing for vertical movement. In theory the pen would only move within the channel vertically and the rubber band will prevent movement along any other axis. In practice, the rubber band did not constrain movement very much, the pen flexed along every axis. This will be a problem as the pen is drawing, as it needs to resist sideways bending forces.

Onward to the next draft.

A Simple Homing Switch for New Z-axis

So we’re changing the Z-axis mechanism yet again, but before we can mount it on the machine, the newly salvaged hardware needs a few additions. First on the list is a homing switch. The switch itself is a small momentary roller lever micro switch multipack purchased from Amazon (*) and its mounting bracket will be 3D printed. The bracket will in turn be installed to one of the conveniently tapped hole that already existed on the motor mounting plate. This set of holes might be for compatibility with a larger printer, but for this machine’s purposes it will host a homing switch.

The height of the homing switch mounting bracket will be dictated by the distance between the top of the carriage and the blue rigid coupler connecting the ball screw and motor output shaft. If the bracket is too tall, we lose valuable range in our linear travel distance. If the bracket is too short, it would be useless because the carriage will hit the coupler before it triggers the switch.

We actually have some debate which way should be Z-axis “zero”. There are two potential ways to mount this linear actuator module, and there are two schools of thought on where Z zero should be. Should it be the top of the range of travel (common in CNC vertical mills) or the bottom of the range (common in 3D printers and plotters)?

For today we’ll proceed with this simple switch mount because we’re not even sure this mechanism will work yet. It is the easiest thing to do right now, so let’s not overthink things until we establish it works. The test we’ve been using for motion control is to try drawing with a pen, so I’ll set that up.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

Yet Another Z-Axis Candidate Emerges

This whole project started with a pair of salvaged Parker linear motion stages, bolted at right angles to each other. That formed X and Y axis which has always been the center of the project, but there has been a few iterations on a Z-axis. Shortly after squaring away 12V power for the third iteration, we already have a candidate for number four.

This linear stage was retrieved from a pile of retired electronics & hardware due for recycling. The main reason it is interesting is because of the ball screw at the heart of the mechanism. If this works, it would have less backlash than the ACME leadscrew of iteration three, and certainly higher precision than the belt drive mechanism of iteration two.

Ballscrew Z axis label

The tag at the bottom says DBX1204-100. Plugging that into a web search found it and several very similar items broadly labeled as “100mm Linear Stage Actuator”. Here’s one example (*) among many. Starting at about $65 USD, they are pretty affordable. A closer look unveiled a few factors contributing to this price. The first is the bearing at the bottom (under the tag in this picture) which appears to be a commodity 608 form factor bearing. These bearings might be highly precise… or they might be out of tolerance QA rejects and there’s no way to know.

Ballscrew Z axis rigid coupler

A similar mark is the top end: the commodity sized NEMA17 stepper motor’s internal bearing directly handles the top end, mounted with a rigid coupler that will not adapt to misalignment or slack. This simple design makes things cheap, but it also means precision alignment will vary as wildly as the range of quality found at these mass commodity sizes.

Ballscrew Z axis pinched wires

Beyond the design considerations, we looked over this specific unit for reasons why it might have been retired. The wires seem to have been routed through some tight spots, with pinch marks showing on insulation. A bit worrisome, but an electrical continuity test passed so they should still work well enough.

Ballscrew Z axis gouge

We’re more worried about this. This gouge in the backbone aluminum beam implied this assembly absorbed an impact of some sort. Did this damage retire the assembly? Or was it injury from being thrown in the retirement pile?

Regardless of these question marks, this mechanism will become the fourth version of the Z-axis. Mainly on the promise of its ball-screw accuracy. And if it doesn’t work out, we’ve got more Z-axis candidates and worst case, replacements are affordable. Let the integration work begin!

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

Limiting Range of Motion for Sawppy Suspension Bogie

Sawppy’s appearance at LA Maker Faire was also the first public trial of the latest feature: a way to limit the range of motion on Sawppy’s suspension bogie assemblies. They were previously joints that were allowed to spin freely. I had known that the bogies shouldn’t actually turn too far, because that would break the wires running out to the wheels. But I didn’t think it would be a problem as long as Sawppy is rolling on the ground.

It turns out I was wrong. When Sawppy explores extreme terrain, it is possible for the bogie to tilt a little too far and gravity works the rest of the way and sprain a Sawppy ankle. I’m sure the actual rovers had a clever mechanism inside their bogie joint to limit their range of motion, but the details of their implementation aren’t apparent from pictures.

Ideally I would redesign both parts of the bogie joint in a way to limit their range of motion, but I didn’t want to reprint all the parts and recut a shaft just yet. For the first draft of this angle limiter, I changed the smaller part to add a nub that restricts the range of motion.

I originally wanted this nub to live underneath out of sight, but due to the angle of the suspension bogie, it turns out there’s no place for such a nub underneath if I wanted to preserve the desired range of motion. So the nub lived above as a very visible difference between it and the rovers that inspired Sawppy.

The angle limiter did function properly during Downtown LA Maker Faire, but I’m not satisfied with its appearance. The part is available directly from Sawppy’s Onshape CAD file, but I think there will be a few more iterations before I push it over to Sawppy Github.

Overlooked Gem: The Princess and the Frog

Ten years ago today, The Princess and the Frog opened to general theatrical release. At first glance, people saw hand-drawn animation in a computer-animated world, retelling an old fairy tale in the 21st century. As a result, people did (and still do) dismiss the film as out of date without taking a second glance. Which is a shame, because it is a wonderful film that can stand tall among all its modern contemporaries.

For photorealistic detail, state of the art computer animation in 2009 had long surpassed what hand drawn animation could deliver. This has happened before: painters used to focus on realism, but once color photography could handle all the realism we would want, good painters switched focus on applying their art in ways a camera could not. Similarly, good hand drawn animation projects would focus on their strengths. My favorite example in this movie were the dramatic changes in tone and style employed during the Almost There and Friends on the Other Side sequences. There are times when hand-drawn animation is the best tool for the storytelling job.

It also helps that beautiful art is backed by fantastic music. Of course, a film set in a fictional historical New Orleans couldn’t go without music, and this film delivered one of the best soundtracks of any film. Animated or otherwise.

This film was lovingly made by people who appreciated the art of hand drawn animation. From the high level executives who approved the project, to the Disney alum directors who returned to tell great stories, to the individual animators drawing the subtle curves found within every frame. The team had high hopes that Princess and the Frog would herald a new age of Disney animation.

Alas, it was not to be. Audiences remembered the lackluster low-budget animation projects that had come before, too much inertia for a single film to overcome. Still others dismissed it as a plot they’ve already seen, missing out on the unique twists offered by this particular version. And worst of all, getting the word out for this film proved to be impossible: promotional efforts were drowned out by advertising for James Cameron’s mega project Avatar, which would open a week later to herald a new age of 3D cinema. (It didn’t do that, either, but that’s a different topic.)

Disney released one more hand drawn animated feature film two years later with Winnie the Pooh. Both of these films were far more successful than Home on the Range that proceeded them, but still farther short of The Little Mermaid and Aladdin who were credited with building the previous peak of Disney animation. With blockbuster success of the computer-animated Frozen, Disney hand-drawn animation retreated from the big screen except for small appearances like “Mini-Maui” in Moana.

But as long as there are bored creative kids and blank corners in paper notebooks, there will be hand drawn animation. And Disney has no monopoly on the art form: smaller projects alive and well, delivered via new channels like YouTube. I’d like to believe hand-drawn animation is only waiting for the right combination of story, artistry, and audience to make its next great return to the big screen.

In the meantime, The Princess and the Frog is available for digital purchase at all the usual outlets (here’s my Amazon affiliate link) and is available for streaming on Disney+.

Sawppy at DTLA Maker Faire 2019

Sawppy returned to the downtown Los Angeles Mini Maker Faire for 2019 as a roaming exhibit. This is a change from last year where Sawppy was part of a rover themed booth with other JPL Open Source Rovers. Sadly this year we were missing representation from the JPL Open Source Rover project, none of the three rovers from last year were present this year.

Los Angeles Maker Faire has grown even more this year and spilled into the street, specifically 5th Street adjacent to the library which was shut down for the event to make room for an additional row of exhibits. Many of the larger booths were out here, including a robot combat arena and a few car projects like the Eggscape Eggsperience.

There was forecast for rain, which dampened things literally and otherwise. Fortunately Sawppy is prepared for rain with a rain coat developed for Maker Faire San Mateo earlier in the year, so the light rain was not a problem.

I have fun showing Sawppy to interested attendees, but it is also an opportunity to chat with other like-minded exhibitors. I started trying to strike up conversation with people as soon as I got in line to check in as a maker. It turns out I was behind a member of the Air Quality Management District’s Air Quality Sensor Performance Evaluation Center. They were here at Maker Faire to tell people about the availability of low-cost air quality sensors. Both for AQMD’s own purposes and as something that could be fun for makers to tinker with. They brought a few sensors for show and I asked if Sawppy could act as a mobile air quality sensor for a day… and they said yes!

Even though no JPL OSR builds were present, Sawppy was not the only rover there but most of the others were static 3D-printed models. Probably from here. The one I found actually interesting is a motorized version that was done as an example application of the 3DoT board by Humans for Robots.

It was a fun day of adventure for Sawppy, topped off with a shout-out from Make!

Mounting Z-Axis 12V Power Supply

Wiring was never my favorite part of a project, but it needed to be done. A lot of it at that. After the latest plotter test, I picked up the next item on the to-do list: the 12V power supply for Z-axis. It was just set on the table for testing the second and third iteration of Z-axis, held only by gravity which meant it started shifting position and threatened to fall off the edge when the XY stage movement hit the table’s resonance and everything started shaking. We should mount it rigidly on some part of this machine.

My first thought was to 3D print a bracket for this power supply, and mount it to one of the aluminum extrusion beams. But then I thought it would make more sense to put it alongside X and Y axis control boxes which are combination power supply and stepper driver modules. I’ll mount the Z-axis power supply here, but I’ll hold off moving the stepper drive here as well since that would involve re-routing many more wires.

CNC 12V PSU mounted on plate below

I drill three holes in the metal panel mounted below the table for X and Y axis driver modules. Even after the 12V power supply was bolted in place, there’s plenty of room left on this panel for the Z-axis stepper driver in the future, and possibly also the ESP32 control board. This is the eventual destination for all electrical components, but one step at a time. Of course, it would help if I don’t keep changing parts of the machine

Pen Plotting With Third Iteration Z-Axis

After third iteration of CNC Z-axis was installed, we wanted to perform a simple test. This particular assembly already had brackets to hold a spindle of some kind. We don’t know what it used to be, but measuring the hole we infer it was approximately 65mm in diameter. We didn’t have a suitable cutting tool on hand, so we reverted back to the old standby: testing it as a pen plotter.

We didn’t have any 65mm diameter pen, either, but we do have plenty of plastic bits in the form of failed and abandoned 3D prints. A few blocks were fished out of the bin and took up space so we could clamp a pen in the spindle holder. A pen could not reach the surface of the XY table, so a cardboard box and a few sheets of foam were used to raise the working surface. It’s not precise by any stretch of the imagination, but it’ll suffice for a pen plotting test.

The test plot was the ~25 minute variant of a Sawppy portrait. This file previously helped us determined UGS was not going to work in this particular configuration, and that bCNC worked better. Now we’ll feed this G-code throub bCNC to plot with the new Z-axis holding a pen.

Since the pen was clamped rigidly in the holder, and the work surface was crude with boxes and foam, the paper was not level. For one side of the sheet, the pen barely made enough contact to draw. On the opposite side, it dug deeply enough to start damaging the paper. But it did not tear, so we’re calling it unintentional embossing.

The results looked pretty good! It’s a good confidence booster before I return to more housekeeping tasks of building this machine.