It Belongs In A Museum

There’s an open-source solution for just about any problem out there — but getting it up and running can more often than not turn into a nightmare of chasing down one rabbit hole after another for dependencies, drivers, sample configuration files, and so on. (Ever tried configuring a mail server?)

So it’s especially nice to come across a purpose-made open-source solution to a problem that’s not only Free, but actually easy to use.

MP4Museum is such a solution. With absolutely zero setup other than downloading and flashing an image file, it turns a Raspberry Pi into a preconfigured, kiosk-style video player that’s ridiculously easy to use.

By “ridiculously easy to use,” I mean you load one or more mp4 files onto a thumb drive, plug it into the Pi, and connect the HDMI and power cables. It boots up and does its thing automagically.

There’s even a custom 3D printable RPi case (for a Pi A+).
Or, as always, Thingiverse can hook you up with a few hundred options.

MP4Museum, along with similar “appliance” images like OctoPrint/Octopi, represents a new way of looking at small computers like the Raspberry Pi. They run from downloadable images and boot up as essentially completely configured systems. (OctoPrint, being a server, does require you to set up a few things.) Instead of downloading an app and using a multi-purpose PC, tablet, or smartphone to do a task, you can pull a $25 Pi off the shelf, throw the appropriate image on it (using the almost-as-easy-to-use BalenaEtcher), and you have an information appliance up and running.

Now if only getting the monitor mounted to the wall were this easy…

Posted in HOW-TO, Reviews, System Administration, Tools | Tagged , , , , , , , , , | Leave a comment

Which Way Is Up?

3D printing is still a craft, to a large extent. For all but the simplest functional parts, a successful print requires at least a little thought about filament type, layer height, number of shells and top/bottom layers, infill density and type, and so on.

One subtle parameter is part orientation. In some processes, such as on a 6-axis CNC mill, this might not matter. With FDM 3D printers (ones that use plastic filament), it does. Printed parts are far stronger in the X/Y plane, where layers are laid down, than they are in the Z axis. A long, thin part such as a conductor’s baton would be fairly strong if printed horizontally on the bed. The same design, printed at the same settings, would be very weak if printed vertically (if you could get it to stay on the bed at all.)

In addition, you can often minimize or eliminate the need for support material simply by changing the part orientation so that no overhangs exceed 45 degrees or so. This saves material, but more importantly, makes part cleanup a lot easier.

As an example, consider the following cable clip. Which of the three orientations would be best?

The three basic possible orientations,
ignoring symmetries and clearly-worse options.

The contestant on the right seems to be the best choice, at first. It can print in place with zero support needed. This also means it will pop right off the bed ready to use. Is it viable? Let’s take a closer look.

The three orientations, as the Simplify3D slicer sees them.

First, we use Simplify3D to slice the three models, adding support where it is needed. Let’s look at the model on the right…

A closeup of the no-support-needed model on the right.

This orientation isn’t terrible, but it isn’t perfect. It won’t require any support, but those clip arms are rather weak, and could break under the stress of being clipped onto the bed.

But at least it isn’t the one on the left…

A closeup of the (worst choice) model on the left.

This one’s a disaster. That support is needed to print those cantilevered overhangs — and it will be a pain to remove unless it’s printed in something exotic like water-soluble PVA.

To add injury to insult, it’s the weakest of the three, too. The tension from clipping onto the bed will stress the back of the clip by the lever principle. Even money says it breaks while you’re trying to get the support removed. Double Plus Ungood. Let’s look at the third option.

A closeup of the center model (the one I’ll print.)

This one’s the winner. While it does need some support in the cable cutout — and while it’s weak along its length — it is strong in the one dimension that matters — the one that has to hold itself to the bed.

Now to figure out how to insulate it from the heat, so I don’t have to print it out of Nylon…

Posted in 3D Printing, HOW-TO | Tagged , | Leave a comment

Gone fishin’

Fishing in Minecraft isn’t exactly difficult. Once you craft a fishing rod, it’s mostly a question of waiting for something to bite, and right-clicking to reel it in, then right-clicking a second time to cast the line back out again. It makes “easy” look difficult.

Unfortunately, until you acquire a fully-enchanted fishing rod (or at least Lure III), it’s also about as engaging as watching paint dry, but still requires at least a good part of your attention, to avoid missing any fish.

Yes, it’s a sterile, isolated pool. No, that doesn’t matter. #minecraftlogic

Fishing in Minecraft does, however, have in-game advantages. There’s lots of stuff in there — some of which (including important “treasure” enchantments such as Mending) can’t easily be found in other ways. And it’s fun to see what new rare items have been added in recent versions of the game.

Fortunately, the fishing algorithm is simple enough that it can be readily automated:

  • Wait for a loud sound (the “fish” biting);
  • Right-click the mouse;
  • Wait about 250ms;
  • Click it again to re-cast;
  • Wait about two seconds to re-arm.

The Arduino Leonardo is an Arduino board specifically designed to allow the easy generation of mouse and keyboard input to a PC. With a few lines of C++ code, the Leonardo (attached via USB) can emulate a mouse and send right or left clicks and/or mouse movement commands.

A short sketch and attached microphone sensor later, and the Leonardo is on duty in front of one of the speakers, listening for the sound of a strike. Now the fish catch themselves.

The microphone sensor is from one of those cheapo sensor kits on Amazon.
I forget which one, but it doesn’t really matter.

It’s a temporary project (and the $30 or so cost for the Leonardo is a bit expensive for a dedicated Minecraft fishing robot) — but it’s a fun example of what can be done on a whim with even very simple microcontroller electronics. Technologies like USB have many layers of complexity. They make lots of things possible, but are inherently complex to use, out of the box. Progress speeds up when those technologies are packaged in easy-to-use modules.

Civilization advances by extending the number of important operations which we can perform without thinking about them.

–Alfred North Whitehead

Posted in Analog, Arduino, Audio, C, Digital, Games, Minecraft | Leave a comment


Talk about a curb alert.

A friend of a friend had a 3D printer which needed some repairs, so he was planning to put it out on the curb. He contacted me at my friend’s suggestion and gave it to me to fix up. (Thanks, Dan and Grandin!)

Large printer is large. (Banana for scale.)

The printer turned out to be a “Mankati Fullscale XT Plus” printer. (Yeah, I hadn’t heard of Mankati, either.) They may not have great name recognition (and it appears they may be out of business at this point), but they built a very solid printer. Not to mention a rather large one. 36kg doesn’t sound like much, but this thing is a beast. The build volume is insane for a hobbyist / consumer 3D printer — 260x260x300mm. (Yes, the Z axis is the largest.) This is over 20 liters — something like 2.3 times the size of my next-largest printer. It’s insane — and it can get away with it because it’s mostly enclosed, and …

Similar to Ultimaker-style machines, the XT Plus uses a CoreXY scheme, where the print head moves in X and Y, and the bed moves in Z. This has the advantage of moving the actual part hardly at all, while the (more secure) print head moves around rapidly. I’ve wanted to play with one for a while. It should certainly cut down on bed adhesion problems.

CoreXY means the print head moves in X and Y, and the part in Z.
This greatly reduces stresses on the part base due to shaking in Y.

Like pretty much all CoreXY machines, the XT Plus uses a Bowden extruder setup, with two NEMA-17 extruder steppers mounted neatly on the back case. These drive all-metal geared extruders which look as professional as anything I’ve seen on a 3D printer. From the extruders, the filament follows a Bowden tube to the print head, which rides on a set of Cartesian rails at the top of the printer.

The Bowden tubes are fed by two solid metal geared extruders.

The gantry appears to be a machined block of aluminum, with feedthrough holes for the filament and mounting holes for the hot ends and fan shroud. Like the rest of the mechanics, it looks and feels very solid.

When I got the printer, the left hot end had been disassembled, possibly because one of the wires to its thermistor had broken, causing the printer to throw an error. A quick solder job and some shrink tubing solved that.

It was at about this point that I noticed that this was a 3mm filament machine. I’m a 1.75mm shop — 1.75mm extruders, 1.75mm throats, 1.75mm nozzles … so 3mm hardware might as well have been built by aliens. At least it came with two reels of filament. I just had to hope I wouldn’t find any serious problems with the hot end, or I’d be ordering hardware before printing anything (hey, still an awesome deal.)

There’s nothing wrong with 3mm filament — and several reasons to prefer it. The vast majority of hobbyist 3D printers use 1.75mm, however, so it’s much easier to find parts for that format. It’s kind of like shopping for Beta videotapes, after VHS won the format war. They may be better quality, but your selection is lacking.

Fortunately, the hardware was all in good shape. After reassembly, the hot end was back up and extruding.

Extruder #1 is up and running. (Extruder #2 may get converted to 1.75mm.)

I initially tried printing one of the test pieces on the included SD card — a model couch sized as if for a dollhouse. I selected the 250u resolution one, and the printer started to do its thing. Everything looked OK except the #2 nozzle was dragging across the print, tearing up whatever had just been laid down.

Walk before you run, I figured, and once the hot end had cooled down, I removed the second hot end. A second try at the built-in couch model produced a good print at a surprisingly high speed.

The next thing I wanted to try was to get Simplify3D to talk to it. I had read that USB communication wasn’t possible (even though the printer has a visible USB port), and that prints had to be copied via SD card.

Apparently you can’t believe everything you read on the Internet, because S3D had no problems at all recognizing the printer and sending it commands. I was initially concerned about managing profiles and printer settings, since the Mankati is so different from either of my other printers, but creating a new S3D process solved that nicely. I wasn’t initially sold on the whole idea of processes — but I’m convinced.

Now that I had S3D set up to talk to the printer, the next obvious step was to print a 3DBenchy. Other than some horrendous stringing (to be expected on a Bowden running non-Bowden slicer settings), it turned out pretty well.

Next, I tried a high-resolution test: Wild Rose Builds’ interlocking cube puzzle, at 100u resolution. This took several hours even at 70mm/sec and high acceleration, but turned out nicely, with very smooth, even walls.

So, the verdict: It’s big, it’s heavy, it’s loud, and it’s certainly weird, but it’s mechanically a very big, solid, fast, capable machine — and those are some of the hardest (most expensive) things to get right in 3D printers. It’s too bad Mankati is out of business — but as modular as 3D printers are and as solidly built as this one is, at least this particular printer should be around for a while.

Posted in 3D Printing, Reviews, Tools | Tagged , , , , | Leave a comment