Luggable Frame Experiment #2

Catleap2The second iteration of the luggable frame experiment addressed the failings of the first version by relying less on acrylic and more on aluminum. The first iteration was a good experiment to see if acrylic was strong enough for the work. Once V1 conclusively proved the weaknesses, it’s time to fall back to the known quantity.

The following changes were made for version 2:

Extrusion upgrade: In the interest of greater rigidity, the extrusions themselves were upgraded from Misumi HFS3 (15mm x 15mm cross section) to HFS5 (20mm x 20mm). The smaller extrusions seemed to be doing the job but they did exhibit some flex. And we had HFS5 conveniently on hand so let’s use it!

Connection upgrade: In V1 the extrusion T-joint at the base of the frame was held together by the side pieces of acrylic. Though it seemed to work, V2 went with a stronger solution by using metal connectors for the joint. (Misumi HBLFSNF5).

Handle upgrade: The V1 handles were part of the acrylic assembly. With the reduction in acrylic usage, there wasn’t enough left to carry the load of the whole frame. So the handle became another aluminum extrusion.

Catleap2-RearPC tray upgrade: This was the first acrylic thing that failed in V1. The PC is now held in place by aluminum structure instead of an acrylic cutout which makes it quite secure. Three of the extrusion right-angle connectors were re-purposed as “claws” to keep the PC case in place.

Catleap2-SideVESA mount upgrade: The worrisome flex in the Catleap monitor enclosure was traced down to the metal threads inside the Catleap enclosure that were longer than the thickness of the enclosure plastic. This meant when the mounting screws fully engaged, there was still a bit of space between the VESA mount plate and the monitor’s rear surface, allowing movement. A spacer plate was added to fill that gap. Now the VESA mounting plate on the frame is fully pressed against the monitor’s rear surface, greatly reducing the flex.

All this additional structure added up to a very secure frame for carrying around the Yamakasi Catleap monitor with the HP Z220 computer. Unfortunately it also added weight which was a concern even before the frame came into the picture. The heft means this is probably the end of the line for the Catleap + Z220 experiments. Frame V2 will serve as a perfectly good workstation albeit not a very portable one.

The idea of building a Luggable PC around a commercially available monitor will continue, with the focus shifting to using smaller and lighter components.

Luggable Frame Experiment #1

Catleap1The dimensions for my Luggable PC project were determined by the components within. The width and height, specifically, were dictated by the LCD screen module. Even though I made the CAD files public for anybody to build their own Luggable PC, in practical terms only people with the exact same LCD module would be able to use the files without modification.

A friend who saw the Luggable PC was interested in generalizing the concept and create a frame for lugging a (not disassembled) screen alongside its (also not disassembled) PC. Relative to my project, it would be easier to build and less specialized to the components within, with a trade-off in larger size and heavier weight.

I thought it was a great idea to explore and joined in the experiment. We each came up with a design, and we built both of them at Tux-Lab to see how the ideas translated into reality.

This blog post is a brief summary of my first experiment.

The Components

The monitor is an Yamakasi Catleap monitor, built around a 27″ IPS panel with 2560×1440 resolution. The specific dimensions don’t really matter, as it will be mounted via the standard 75mm VESA pattern on the back. Any large monitor with 75mm VESA pattern would fit as-is, and only minor modifications would be necessary to accommodate monitors with a different mounting pattern.

The PC is a HP Z220, small form factor PC from the HP business line available with a range of components to trade off processing power against price. For the purposes of this experiment, the important details are its height of 331mm and depth of 100mm. Thought not a standardized dimension, many small form factor PCs are roughly the same size.

The Construction

The core of the frame are built from 15mm aluminum extrusions (Misumi HFS3) for strength and the remainder of the frame are made from 6mm laser-cut acrylic fastened to the extrusions via M3 nuts and bolts.

Making the panels from laser-cut acrylic has the advantage of simpler modifications. Many of the critical dimensions in my Luggable PC 3D CAD file has the problem that, when changed, they trigger cascading changes that need to be reconciled. When designing for the 2D tool path of laser laser cutting, it is easier to keep modifications in mind so that a change in one sheet does not cascade to other sheets.

Example #1: The frame has a 331mm x 100mm hole to fit the Z200 case. This can be adjusted to fit any other SFF frame without cascading changes to other components.

Example #2: The monitor mount pattern can be changed, and the mount position can be moved up or down to adjust elevation of the monitor.

The Result

CompleteI had never designed for laser cutting before and was happy for the chance to do something on the Tux-Lab laser cutter. I knew that, having little experience with the material, my first few designs will have some amateurish flaws. So this frame #1 was fairly minimalist just to see what happens.

I didn’t have a good grasp how many fasteners I would need to hold everything together. I laser-cut roughly double the number of fastener positions than what I think I would need, as it is easier to have more options rather than less. For the assembly I only installed fasteners in every other hole.

The screen mount was surprisingly successful. We questioned whether 6mm acrylic would be suitable for holding up the Catleap monitor by its 75mm VESA mounts. When we found some worrisome flex, the suspicion went immediately to the 6mm acrylic but it turned out the Catleap monitor enclosure was the source of the flex.

When attempting to install the PC, we found that the case itself would fit just fine but the rubber feet attached to the side of the case did not. I added cutouts in the CAD file but it seemed wasteful to cut entirely new pieces of acrylic just for the little feet cutouts. For purposes of experimentation, a Dremel tool was used to cut gaps to clear the rubber feet.

After the frame was assembled with the screen and the PC, we started plugging in all the cables and wires and I realized I had forgotten to account for the cables. There’s no good place to coil up the excess so they kind of dangle and stand ready to catch on something inconvenient.

The entire assembly was built in a tiny fraction of the time of my Luggable PC and included a much larger monitor with a much higher resolution. The trade off was almost doubling of the weight. The handle, part of the acrylic assembly, appeared to be sufficient to manage the weight.

I carried it across Tux-Lab and quickly encountered the first failure.

The Failure

Lesson of the Day: Sharp internal corners are bad.

My amateur mistake was cutting a sharply cornered rectangle to hold the PC. The sharp corners concentrated the physical load of the PC into a small point in the 6mm acrylic, which protested the poor design by breaking apart.

The next experiment will incorporate this lesson.

Build, fail, learn, iterate, repeat.



OpenSCAD for Motion Visualization

Now that I’ve climbed the initial learning curve for OpenSCAD, it’s time to start working towards my goal for doing this: I want to visualize arbitrary motion between components as a rough draft to see how things move in virtual space.

This is not an unique capability in CAD packages. Both Fusion 360 and Onshape have ability to define object hierarchies and visualize their motion. However, they are both focused on the assemblies that have been mechanically defined in CAD. If I wanted to visualize a  hinge-like motion between two objects, I first need to build that hinge in CAD or the software would “helpfully” tell me I’m trying to perform an impossible motion in my design.

In contrast, OpenSCAD does not care. I can place a rotate() operation anywhere I want and it won’t care if there’s no hinge in the design. It is happy to let me rotate about an arbitrary point in 3D space with no hardware around it. This makes OpenSCAD ideal for trying out how wild ideas would (or would not) work in virtual space, before getting down to the nitty-gritty about how to build the mechanisms to implement those wild ideas.

This means some cool-looking ideas would turn out to be impossible to implement, but that’s OK. I wanted something with a lot more freedom than I can get in the CAD packages that limit what I can do for (in their view) my own protection.

But that’s still in the future. For now I’m still climbing the learning curve of moving objects around in OpenSCAD in a way that ties into the built-in animation capability and generating animated GIF to illustrate concepts.

As a learning exercise, I’ve re-implemented the motion of the Luggable PC hinge. Thanks to OpenSCAD flexibility, I didn’t have to spend time building the hinge before I move it!


Luggable PC Project Complete!

The Luggable PC project page on has been fully documented for anybody to build their own home-built 3D-printed computer chassis. All the components required for assembly have been listed, and all the steps of assembly documented with pictures taken at each and every step.

I expect to continue to make small tweaks to the design, improving little things here and there, but the machine is usable enough that I should stop tinkering with it and actually start using it. This means no new versions rebuilt from scratch for the foreseeable future. But if inspiration strikes, there will be!

When I’ve taken my Luggable PC to various maker events in the local area I’ve received generally positive reception and appreciation. Now I wait to see if anybody actually takes me up on the information compiled and build their own.


Luggable PC Drive Bay Revisions

Here’s the 2.5″ drive bay in the initial iteration of the threaded-box Luggable PC design. It is a simple, basic place to hold one laptop-sized drive, but not a very efficient use of space.

IMG_20170228_090310 - Copy

The most obvious thing to do is to vertically stack another drives adjacent to the existing drive. Easy to do in CAD, but has problems in the real world.

Problem 1: How do you access the fasteners? The laptop storage market have mostly settled around two basic fastener schemes: four screws on the bottom of the drive, or four screws along the sides. If we use the side fasteners, they would not be accessible for drive replacement without taking the whole case apart. The bottom fasteners would be accessible, except that bracket would be impossible to print on a FDM 3D printer.

Problem 2: How do you connect the wires? While at first glance there is enough space to physically accommodate the drive and its plugs, it fails to take into account the wires. The wires for the existing drive barely clear the edge in the picture. Stacking another drive into that space (even if moving it another cm or two to the right) would demand wires make relatively sharp right-angle turns. This would place strain on the connectors including the fragile unsupported SATA connectors on the drive itself.

After some experimentation with the available space, keeping in mind the requirements above, I decided to angle the two stacked drives:

IMG_20170228_091421 - Copy

Now the Luggable PC has two independent drives: One for Windows 10, and another for Ubuntu Linux 16.10.

This design solves the fastener issue: in this arrangement, it is possible to 3D print the drive bay so both drives are held in place by the shape without use of any screws on the sides or on the bottom. Both drives are held in place by a single 3D printed clamp that is secured with just two screws. The downside is that the design only works when both drives are present. It is unable to hold a single drive in place.

This also solves the initial wiring issue: By angling both drives, the wires do not have to make sharp turns and would not place unreasonable strain on the connectors. However, this comes at a cost of usable interior volume. By angling the connectors, and avoiding sharp turns, the cables consumed more precious interior volume than the previous design.

Going back to the idea of drives stacked in the available volume, we revisit the problem of forcing wires to make sharp turns. The turns can be relaxed if we can find more room for the wires without angling it into precious interior volume. The solution turned out to be… turning the drives instead! By rotating 90 degrees a drive can be positioned to make room for the cables’ turns. It also allows two drives to exist side-by-side, allowing the bay to work with a single drive or dual drives.

This design was incorporated into the following iteration of the chassis, built using aluminum extrusions instead of threaded rods as the metal structure.



Luggable PC Feet Design Considerations

After some time using the assembled Luggable PC prototype, I wanted to adjust the screen ergonomics. While the screen has been raised to a height much more comfortable compared to a laptop, after a few hours of use I wished I could tilt the screen upwards a few degrees.

At first glance this would have been impractical – the screen hinge design is already complicated and adding a tilt adjustment mechanism would only make it more so. So instead of tilting the screen, let’s achieve the goal by tilting the entire Luggable PC by adding 3D printed feet that can be bolted to the bottom of the machine.

The easiest approach would have been to print a simple solid wedge with the desired angle, but I decided to be a little more experimental. I played with Fusion 360’s spline tool to sketch out feet that are designed to move and flex a tiny bit. The flexibility adds two features:

  1. Shock absorption: We still need to be careful setting it down on a surface, but the minute bit of flexibility we gain will help cushion the harshest part of initial impact and make it feel less like we’re breaking the machine every time we set it down.
  2. Flatness compensation: With a bit of flexibility in the feet, the Luggable PC can now conform to surfaces that are not perfectly flat. Previously, the solid bottom means it will rock on 3 out of 4 feet on any surface that isn’t perfectly flat (which is most of them.)

Here is the first iteration, which accomplishes the desired goals:

IMG_20170228_173547 - Copy

Unfortunately it also has a problem: by moving the contact points inward, the front feet are now uncomfortably close to the center of gravity. A slight push from the rear will send the whole thing toppling forward. The design needs to be adjusted to have a wider stance… but we are constrained by the fact the fastening nuts still need to be accessible.

In this case, the short-term fix is to move the feet as far front as possible while still allowing wrench access to fasteners.

IMG_20170228_174620 - Copy

The real solution is to redesign the bottom of the case to accommodate the feet while maintaining a sufficiently wide stance. This idea was incorporated into the following iteration of the Luggable PC. As it used aluminum extrusions for backbone instead of threaded rods, the new wider feet were installed on the bottom extrusion.


A Tale of Three Corners: Design Evolution

The use of threaded rods to hold the Luggable PC case together was borne out of necessity: The print volume of the 3D printer is much smaller than the volume of a PC case so it must be printed in pieces then fastened together. A threaded rod provides strength along its length, but how do we best handle the inevitable corners?

The key constraint is the strength of a 3D printed part, especially the adhesion between layers. This is an unavoidable fact of life for FDM-type printers: the part is weakest between layers, so designing for 3D printers must consider the layers similar to how designing for wood must consider the grain.

Version 1: basic asymmetric

In this design (as used in the “Easel PC” iteration) two of the rod axis are aligned with the direction of the layer. Stress along those two axis would mostly be held in check by the strength within each layer, but a fraction of the force would try to push the layers apart. To guard against this, the third axis is orthogonal so its fastening nuts would also try to hold the layers together.

Corner 1 B
Two of the rods are co-planar with the print layer. (Rod pointing left, and rod pointing down.) The nuts fastening the third rod (Rod pointing away) also exerts a clamping force on the layers.
Corner 1 A
Same hinge viewed from a different angle.

The problem with this design is that the corners are asymmetric by nature. Not just in appearance, the loads it can tolerate are also asymmetric.

Version 2: symmetric but space consuming

The goal of a corner that handle loads symmetrically across the plastic layers means finding a way to make sure the plastic grain is equally strong across all three axis. The solution is to print at an orientation that lies at the same angle to all three axis.

The corner laid flat on the print bed for slicing in Cura.
Corner 2 B
Results in a corner that is equally strong across all three axis.

While this design solved the problem of symmetric appearance and strength, it introduced a new problem: by printing this way, the hinge consumes a lot of the enclosed volume making it unusable. When the goal is to pack the computer components inside a minimalist PC case, every cubic centimeter counts!

Corner 2 A
Angle showing the problem with this design – it consumes a lot of space inside the enclosed volume.

This hinge was used in the “Threaded Rod Box V1” and the space it consumed severely hampered the packaging of that layout. It is definitely not the optimal solution so the search continues.

Version 3: Let’s All Huddle Close!

The previous two designs both depended on the plastic to take some part of the load and hold on to a few steel rods. These rods were a few centimeters apart because we needed room for a wrench to tighten the nuts. We needed the nuts to sit inside the corner because…

… um, why do we need them inside? The key for version 3 is the realization that we don’t need that. By offsetting the rods slightly, we can extend the rods past the corner so the fastening nuts are outside of the enclosed volume and not competing for space with the components inside the box.

When the nuts (and the required wrench clearance) are no longer inside the volume, it allows the rods to sit much closer to each other. Now the closest distance between rods are measured in millimeters instead of centimeters. It also means the three sets of fastening nuts help exert a clamping force across all three axis, compressing everything together. This compression means the alignment of the print layers become much less critical allowing significantly more freedom in designing the rest of the case.

This corner design was used successfully in Threaded Rod Box V2 as shown. (In these pictures, some of the threaded rods have yet to be trimmed to length.)

Corner 3 BCorner 3 A

Luggable PC Screen Hinge

In the previous post we have established all the desired traits of the ideal screen layout, and how it’s impossible to meet them all simultaneously. The only solution is to design a mechanism allowing us to convert between two different configurations, each designed to provide the traits desirable for its corresponding condition.

  • Closed: the travel configuration.
    • Compact: We want to be able to lug this around without too much worry of catching on things, so the screen should align with the rest of the case (vertical or portrait orientation.)
    • Protected: To protect the screen, it should be facing inward so the glass surface is less vulnerable to damage.
  • Open: the computing configuration
    • Landscape: Unlike phones and tablets, desktop computer applications are not designed for the possibility of vertical/portrait orientation, so the screen needs to be in horizontal/landscape orientation.
    • Ergonomic: Unlike laptop screens that sit at table height, we can turn our extra heft into an advantage as support to hold the screen up to eye height. Ergonomically superior to the tabletop height of laptop screens.

To transition between these two states, we need movement along at least two axis:

  • Flip: The screen needs to move from facing inward (protected) to facing outward (visible)
  • Rotate: The screen needs to move from vertical/portrait orientation to horizontal/landscape orientation.

My ideal was to devise a mechanism that can execute both of these movements in parallel, so the user sees a single continuous movement from one configuration to another. After quite some thought and experimentation without success, I decided to postpone this ideal for later. For now, I’ll implement a hinge that has two separate degrees of freedom so the two desired axis of movement can be accommodated.

The open in-use configuration, with the screen offset to the left instead of centered

Originally the open configuration would have the screen up and centered relative to the rest of the body, and I had a few overly complex mechanical linkages attempting to make this happen. But then I realized it isn’t really necessary: the body has enough heft to hold up the screen even if it is not centered left-right. If we accept that the screen can be offset to the left, the rotation axis becomes a very simple hinge, leaving plenty of room to implement the flip axis.

The closed travel configuration

This “ah-ha!” moment of realization, letting the screen be offset, greatly simplified the design. With the side bonus of reliability as simpler designs tend to be more reliable.


Demonstrating the open-to-closed transition. (Animated GIF by Shulie)

In the back of my mind, I will continue to dream of a continuous single degree-of-freedom unambiguous movement between open and closed. Maybe I’ll have another “Ah-ha!” moment to make it happen. I’m happy with this as the first draft.

Luggable PC Screen Layout: Challenges

The previous two posts discussed the design reasoning behind the positioning for the power supply unit and the motherboard. Now we get to the most interesting problem: Where do we want to position the screen?

The easiest approach is to line the screen up with the existing components, so I tried that first. A 17″ screen is almost the same length and width as the ATX motherboard plus PSU. But that means the screen would be at a vertical (portrait) orientation. While common for phones and tablets, it is not a typical layout for a desktop PC. (Historical trivia: The Alto by XEROX PARC, recognized to be one of the first computers with a graphical user interface, uses a portrait orientation.)

threadrodboxisoThe easiest solution to that problem is to rotate the whole works 90 degrees. I tried it for a while and the upright screen sitting at table height level was ergonomically poor.

Laptops also have their screens at table height (one of my peeves against laptops) but at least their screens can tilt. I wanted to do even better than merely tilting: I aim for the OSHA ergonomic recommendation raising the top of the screen to eye height.

spaceThe wasted volume between the screen and the motherboard was another problem exposed by this prototype. The space looked small in CAD because the CAD model blocked out all the volume allocated by ATX spec. Since the actual motherboard consumed only a fraction of the allocated volume, the real world example had far more wasted space.

screenwingsI had the idea to solve both issues by raising the screen high to eye level, oriented horizontally, and tilt it into the empty volume. I never got as far as building it. Looking at the CAD layout, it is quite clear that the horizontally-oriented screen sticks out on either side of the case. This makes for a shape awkward to transport and also leaves the screen extremely vulnerable to damage. The screen height was good, but everything else was bad.

Plus, there was one more problem not addressed by any of these ideas: The screen glass surface is exposed while in transit. Laptops fold closed to protect the glass while travelling, but all these designs leave the glass exposed.

It became clear that no single static arrangement will have all of the desired qualities. Similar to a laptop, we will need some kind of mechanism to switch between two states.

  • Closed: A compact configuration for easy transport while protecting the screen from damage.
  • Open: An ergonomically desirable screen position.

Next post: The mechanism to address these challenges.

Luggable PC Motherboard Layout

a360mobopsu2The previous post described how I decided to position the PSU (Power Supply Unit). Once the position was decided, the next task is to determine the motherboard position.

The first challenge is my desire to accept a full-sized ATX motherboard. Full-sized boards are the easiest to work on and has the best feature set. They also have highest sales volume, which usually mean less expensive. I knew my project would be easier with a smaller microATX or Mini-ITX motherboard, but I wanted to accept full-size.

However, accepting the full size board doesn’t necessarily mean I intend to use all the expansion slots. In fact, I am happy to block the majority of them, leaving just the primary PCI-Express slot available to the GPU.

selectcardsThe GPU itself is the next challenge. The primary slot is close to the CPU, which means it is going to stick up in the middle of the board, making the whole assembly awkward to fit. Again, I have an escape if I want it: there are PCIe extension ribbons available for purchase that allows more positioning flexibility for the GPU. They range from $89 well-regarded units from Digi-Key to $7 roll-of-the-dice units via mystery retailers on Amazon. I want to make this idea work without use of an extension, and avoid the variable that introduces to the system.

While researching the layout, I learned the primary slot is not in the same position across all motherboards, adding to the challenge. While most boards position them in the slot closest to the CPU (all of the Mini-ITX boards have to by necessity) some of the boards place it in the second position. And since high-powered GPUs are two slots wide, that means I need to allow for three expansion slots worth of space.

selectcomponentsThe GPU in the middle of the board leaves two rectangular volumes on either side: Both volume are candidates for use. One volume sits over the remaining expansion slots, and the other volume sits over the CPU.

The volume over the expansion slots are predictable. ATX spec restricts height of motherboard components in order to maintain clearance for expansion cards. If I’m OK with the absence of cards, that entire volume can be reclaimed.

In contrast, the volume over the CPU is less predictable. While the ATX spec allocated volume to CPU and accessories (most significantly, the CPU cooler) that volume is highly variable. Stock CPU coolers typically take much less volume than allocated, and many fancy CPU coolers exceed the volume.

Given those two choices, it was an easy choice to snug the PSU up against the motherboard in the volume allocated to expansion cards that won’t be there.

The last factor in positioning the motherboard is which direction I wanted the ports to be accessed. Pointing down is inconvenient to access. Pointing up makes ports vulnerable to damage from dropped items. So that leaves pointing left or right. Since the PSU power cable port is already on the right, I decided to face all the ports that way as well so everything the user needs to plug in is facing the same way.

All of the above considerations resulted in the PSU+motherboard layout I used.

Next post: Positioning the screen.