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.

Luggable PC PSU Layout

To help optimize arrangement of Luggable PC components, I sketched them out in Fusion 360 so I can experiment with layout in CAD space. I was able to find the specification for the ATX motherboard and power supply, which allowed me to use official dimensions. Unfortunately I wasn’t able to do the same for the PCI-Express cards, because I needed to be a member of the PCI SIG to access the official specs. So I measured and guessed dimensions from the specific implementation I have on hand.

Power Supply Unit (PSU)

As the heaviest single component, I wanted the PSU at the bottom so the overall system is not top-heavy. The question is then: which way to orient the PSU? There were two considerations:

  1. PSU cooling intake: The standard ATX case layout places the PSU at the top of the case, drawing air from beneath. I can’t do that with the PSU at the bottom since a downward-facing intake would be blocked by the table surface. I tried the upward-facing intake once, in the Mini-ITX “Easel Frame 2.0” design. That turned out to be a bad idea because every time I dropped something (usually a screw) it would fall inside the PSU and I have to retrieve it to avoid short-circuiting the internals.
  2. PSU wiring: One side of the PSU takes the standard IEC AC cable. The opposite side is where all the DC wires go to the rest of the components. The decision is then whether to point them front-back or left-right. I didn’t want either of them to point towards the user, so I went with a left-right orientation for the wiring.

Taking care of those two considerations leave two good orientation for the PSU. One with the cooling intake facing front towards the user, or facing away from the user. In the current design, facing backwards allows an unobstructed air path so that’s the preferred position today.

Next post: Positioning the motherboard.




Luggable PC Gets Fancy Screen

closelidThe latest iteration of the home built luggable computer gets a fancy rotating screen to protect the screen while in transit and hold the screen up while in use.

The time pressure of making it ready for show-and-tell at the February Hackaday LA meet meant I hadn’t been documenting my lessons learned here.

Which is a shame, because there were quite a few 3D printing lessons learned while building this thing. I briefly mentioned a few of them on the project log update up on but I intend to find the time to expand on those ideas as future posts on this blog. I just hope I can get them all written down before I forget.

Homebuilt Computer now “Luggable PC” on

hackadayioprojectI’ve known about Hackaday for a while, both the professionally curated site and the public participation site Some of the people behind the site are nearby which allowed me to easily attend some of their local events.

Most of the project pages I browsed through dealt with Arduino boards, Raspberry Pi boards, or even lower-level hardware. I wasn’t sure if a home built PC is the right kind of topic for the site until I brought my current prototype to one of these local meets. The staffers present assured me that it’d be a great project to document on

All right then! I’ve created a project page to document my work so far, and I’ll continue documenting future iterations over there instead of here.

One of the Hackaday staffers took an interest in the project, wrote up a short blurb and posted it on the curated I am very flattered by the attention and it was a great opportunity to see how other Hackaday users viewed the project.

The best comments are from people who appreciate the project and had constructive ideas and suggestions – this is what the site promised for project builders and I’m happy to see it working as intended.

There were a few variants of “This isn’t what I want. I want to see…” and while they are good project ideas, they’re not what I’m trying to accomplish here. Maybe they’ll feel inspired by my project to bring their own ideas to life!

And finally, the comments that dismissed the project. Pointing out shortcomings (some fair, some not) as criticisms without offering anything constructive to address the alleged issues. I just shrug off such criticism and focus on my work.

Positive or negative, the overall quality of the comments are far more articulate and intelligent than your average comment on YouTube.

I call that a win for Hackaday.

Homebuilt ATX All-In-One Computer

Scaling upwards from the previous project, I’m moved up from the Mini-ITX board to a (nearly) full sized ATX motherboard. The larger motherboard required a few more fastener locations but was not a significant challenge. The new challenge in this version was the addition of the GPU and properly securing it to the case.


Given the triangular profile of the frame, it took a little effort to design the triangular frame to fasten the GPU metal bracket against. At least, as compared to the normal rectangular computer cases. Thankfully CAD software like Onshape have no fear of trigonometry calculations.


It all works together but I’ve lost most of the size advantage over the standard mid-tower case. Here it is standing in front of the case that used to contain these components.


While the overall volume is still smaller than the generic PC case, it isn’t smaller by a whole lot. Yes, I do incorporate a screen while the standard case does not, but like the standard case I have a lot of unused empty space in my volume. Even though this made cable management easier and neater, a lot of waste is left over.

I decided the previous Mini-ITX version was on the “too small” side, and we’ve overshot into “too large”. The next iteration of this experiment will try to shrink the design and work towards “just right”

The small 3D printed brackets seen on this page were designed in the OnShape project “Easel PC“, which is available as an OnShape Public Document.

Homebuilt All-In-One Mini-ITX Computer

The previous experiment 3D printed just an enclosure for the Mini-ITX motherboard itself, it didn’t have much of a computer around. This project expands on the idea by building something to hold the rest of the computer components.

The physical size is larger than the build volume of the 3D printer so additional hardware were brought into the equation. Emulating the design for some early RepRap 3D printers, I started using commodity hardware store threaded rods as building structure.

The power supply unit is the heaviest single element and employed to provide the stable base. The new addition to the project is the screen built out of the LCD panel salvaged from an old broken laptop. I used a controller board that translated standard VGA/DVI signal to the panel’s proprietary signal to connect the panel to the rest of this system. Such controller boards can be purchased from one of several vendors on eBay.

The cable management is better than the previous effort, which admittedly set a low bar. The PSU is nice and heavy providing a stable base. Compared to the commodity Mini-ITX case: the overall package takes less desktop space (especially considering the screen) and overall roughly the same volume of space.

A better-managed but still a tangle mass of cables.
3D printed all-in-one “Easel PC” with a commodity Mini-ITX case.

This is a perfectly usable (if not very neat or pretty) PC. If this were the final goal, I would take a Dremel cutting wheel to cut off the extraneous ends on the threaded rods. Since I have no real need for a Mini-ITX AIO PC at the moment, though, I’m taking the lessons learned and recycling the metal bits for the next project.

Enclosure for Mini-ITX board

Customized computer cases are an interesting area to explore for 3D printing. The home-built desktop PC market is blessed with the luxury of choice, with a wide selection of components a builder can choose from. As a result of this, most desktop PC cases are wide-open designs capable of taking most combinations of components. This directly proves the old adage: “Jack of all trades, master of none.” In contrast, someone with a home 3D printer can custom design for a specific need built around specific components on hand. The result would be a master of one.

Before I can embark on some grandiose vision, I started with a small project built around the MSI AM1I motherboard. It is an inexpensive and highly integrated PC motherboard on the Mini-ITX standard. It had been installed in a Mini-ITX case that, though smaller than most desktop PC cases, still had a lot of wasted volume present to accommodate for components that I never installed.

Mini-ITX computer with a great deal of wasted volume.

The Mini-ITX standard restricted the motherboard size to 17cm squared, which is convenient because my 3D printer can print up to 20cm squared. This meant I could print something encompassing the ITX dimension in one piece. I pushed for full minimalism resulting in this design available as OnShape public document “Mini-ITX enclosure“.

3D printed Mini-ITX enclosure.

It has screw holes for only the mainboard and the power supply. The large hole on top is tailored for the specific power supply I had on hand, positioning its fan immediately above the motherboard. This allowed removal of the noisy CPU fan as the large power supply fan can pull double duty cooling the whole works resulting in a small neat compact setup.

When I assembled the parts, though, things didn’t look as neat as I imagined:

My, what a tangled nest you have.

I had underestimated the chaotic bundle of wires coming out of the power supply. Most of the wires were completely unnecessary and could be cut if this were the final product, but I didn’t want to do that just for an experiment. The remaining wires could be shortened for such a compact layout, but again I didn’t want to break out the wire clipper and soldering iron for sake of the experiment.

The other item I didn’t account for was the storage device, in this case an old SSD in 2.5″ form factor, awkwardly wedged into a slot. (See the red SATA cable in the picture.) I justified this oversight by the fact that most modern ITX boards have on-board M.2 SSD slots, making a separate mounting bracket unnecessary. Truthfully, though, I forgot.

I had fun building this proof-of-concept with old expendable components in case something went wrong. Next custom PC project will be bigger, with more powerful components, and hopefully the wires will be better managed as well!

Delta Robot: First Draft

The first attempt at a delta robot has come and gone, a fun experience with valuable lessons. This design used a central spine that locates the axis for each of the three arms. The servos were mounted to a bracket that was in turn mounted to the spine. The arms themselves were mounted on bearings then mounted on the spine. A long machine screw holds the arms and the servo brackets together.

Design in OnShape
3D printed and assembled

The main motivation behind this design is to isolate the servo motor from load bearing duties. The load on the arm goes to the bearings, which then go directly to the spine. The servo is only responsible for the movement.

The linkage from servo horn to arm, combined with the servo mount bracket to spine connection, added significant play to the entire assembly. It is possible to move the arm freely across around 10 degrees of range. I decided this was unacceptably poor accuracy to trade off against bearing the load, which turned out to be very light and not a concern like I feared.

Closeup of the unnecessarily complex assembly.

Each of the arms also featured a mounting point for a counterweight. The idea is to balance out the mass of the workload, but everything was light enough that the servos can easily keep things in place without counterweight assistance. The arm for the counterweight took away from the length of the working arm, which reduced the working volume of the robot assembly. So that wasn’t a good trade off, either.

It was an easy decision to scrap this version and move on. I’ll try again with a different design incorporating lessons from the first draft.

Ball Jointed Parallelogram

ball-joint-parallelgramAnd now another entry in the “3D printer is not the solution to everything” file.

I’ve had ambitions to build my own delta robot ever since I watched an YouTube video of ABB FlexPicker industrial robots at work. Key part of the robot geometry is a set of parallel links and I thought I’d try printing my own.

The reason why I thought this exercise might be interesting is that 3D printer offers the unique possibility of printing objects in place. This means the socket can be designed purely to hold the ball in place, without any provision for the ball to be inserted or removed because there’s no assembly.

Drawing the test piece up in OnShape was fairly straightforward. A few prints were required to dial in the precise gap needed between the ball and socket so they print as tight to each other as possible without fusing together. Once that was figured out, I had a set of parallel links that moved very poorly.

On the upside, the theory was correct. The ball was printed inside the socket and was held tightly. It’s never coming out, because it never had to be inserted in the first place.

On the downside, 3D printers can’t (yet) print very smooth surfaces. Which resulted in rough movement as the printed layers moved past each other. Far inferior to standard polished metal joints, except maybe when they have sand and dirt inside.

Close up of ball joint, showing the printed layers that give it a rough surface.

Ah well, it was worth a try. If I want to build my delta robot, I will go buy some mass-produced ball-and-socket joints that’ll be much smoother than anything I can print with the 3D printer I have. Small projects can use joints from the remote-control hobby world, big projects can draw from the McMaster-Carr catalog.

Caliper Battery

caliper-batteryI had been using an inexpensive digital caliper to take measurements feeding into my Onshape CAD projects. It has proved sufficiently precise for my hobbyist level work but I’d definitely recommend paying for higher quality caliper for professional level work.

One annoying aspect of this caliper is that pushing the on/off button doesn’t really turn it on/off. It’s more akin to on/standby, where the display turns off but some part of the electronics are still on. This is clearly visible by turning the caliper “off” then moving the caliper – it detects the movement and displays comes back to life showing the new reading, which is impossible if the device actually turned off.

The consequence of this feature is that the device is constantly draining the little LR44 battery, which lasts only a few weeks no matter how little the caliper is used.

I decided to solve this problem with a bigger battery. I had set my eyes on the AA battery, which has significantly more capacity and far less expensive than a LR44. When the dimensions didn’t work out, I downsized to AAA battery size.

I didn’t want to make any permanent changes to the original caliper, so no drilling, gluing, or soldering. This meant that I had to:

  1. Find an attachment point: I settled on the thumb wheel, which is held in place by a plastic hook screwed into the main assembly. My project will displace this hook, taking over the thumb wheel retention duty. This allowed a solid connection conveying movement force parallel to the axis of caliper movement. Unfortunately, it doesn’t help hold things in place perpendicular to the axis of caliper movement, which led to…
  2. Grasp the rail: The battery tray needed to grasp the rail both above and below the rail in order to remain aligned to the slide at all times.
  3. Clear the rail end: The tray necessarily reduce the travel range and thus the maximum value I could read on the caliper. An early draft reduced the usable length by the length of the battery, which was unacceptable. Redesigning the battery case reduced the loss to roughly 1cm of range.
  4. Emulate a LR44: Since I didn’t want to solder, something would have to pretend to be a LR44 battery. This took the form of a cylinder with strategically placed wires exposed to make contact with the battery terminals inside the caliper.

AAA batteries are far more plentiful and far less costly than LR44 batteries. The reduced measurement range hasn’t proven to be terribly annoying. Certainly far less annoying than replacing an expensive LR44 battery all the time!


This was the most geometrically complex shape I’ve created to date. The dimension requirements were to hold the thumb wheel in place, grasp the rail tightly enough yet still allow sliding motion, and present the cylinder pretending to be a LR44 battery. It took quite a few iterations to get all the pieces positioned relative to each other.

It was also too complex of a shape to be printed directly on the flat bed of a 3D printer. All of my previous projects avoided any need for printed supports by creative positioning, but I couldn’t circumvent the need this time. The support requirements were complex and the automated support generation in Cura proved insufficient. I needed a way to adjust the support to fit the requirements of the project and the capabilities of my specific 3D printer.

Eventually I gave up on Cura and switched to Simplify3D as my slicing software, mostly for the ability to customize the generated supports.

That’s a story for another post.

Cardboard VR Tapper

utopia-tapAnd now, a story of failure not the fault of the 3D printer. The previous project allowed my Nexus 5X phone to sit correctly in the Utopia 360 VR viewer. This project addresses the next problem: the need to tap the screen during use of the VR app.

The first step is to buy a “touchscreen stylus” available everywhere (marginally useful) electronics accessories are sold. I planned to design and 3D print a small contraption to put inside the headset to hold the stylus and press it against the screen on demand.

The holder part was a tube whose dimension needed to match the stylus so it can be held tightly. That took a few trials and errors. Then the problem is how to mount it and how to control it from outside the viewer. After a failed design using rotation motion and a small spring, I switched to a linear motion design with a rubber band.

The rubber band’s role is to keep the stylus at a particular location. Then I can use a length of string to pull the stylus away from that position, against the screen. Once tension is released from the string, the rubber band will pull the stylus back to standby position.

Touchscreen stylus widget inside the VR viewer.

Mechanically, this screen tapper contraption worked – I could pull the screen and the stylus would push against the screen, but nothing happened!

After a bit of research, I learned that the stylus is not enough to trigger the capacitive touchscreen by itself. To trigger the necessary capacitance effects, the stylus needed to be in electrical contact with a person’s finger, so it only works when held by hand, not when held by a plastic rubber band widget.


At this point I got frustrated with the whole thing and didn’t feel like designing a new V3 tapper mechanism. I went even lower tech – drill a hole so I can hold the stylus by hand and tap the screen from outside the viewer.

Sometimes, the solution doesn’t involve a 3D printer.

Ultra low-tech solution: Drill a hole for the stylus. Now it can be manipulated from outside the viewer and tap the screen inside the viewer.


Nexus 5X in Utopia 360 (Google Cardboard VR)

5x-in-utopiaEarlier this week Google officially released details about their upcoming Daydream VR. And we know what that means – massive discounts on the old Google Cardboard VR headsets!

Google Cardboard was launched with some fanfare two years ago. But with impending Daydream VR they are old news and retailers are clearing their inventory. I picked up one example of the breed, Utopia 360, as a Deal of the Day from Best Buy. This viewer allowed the lenses to adjust both for distance between eye and distance to screen. Much better than the fixed-lenses devices like the Mattel View-Master VR.

There are a few problems with the Utopia 360, though. The first I tackled was the phone mount mechanism. It was a sprint-loaded set of plastic clamps that has the unfortunate property of pressing and holding down the power button on the Nexus 5X, turning the phone off. Another mounting solution will be needed.

Since I had measured the dimensions of my Nexus 5X for the car holder project, the data easily translated into a project to make a replacement phone mount. The Utopia 360 bracket had to be two pieces as the phone mount area is too large for my little 3D printer to print all in one piece.

Since I’m customizing to a specific phone, there’s no need for sprint-loaded adjustability. The bracket precisely fits and grasps a Nexus 5X, with a cutout to stay clear of the power and volume buttons on the side. The end is also open, so I can plug in headphones and power if I needed to. And a little final touch: circular cutout to clear the phone’s camera bump, allowing the phone to sit flush.

Utopia 360 VR viewer with new custom mounting bracket for Nexus 5X

Now I can enjoy Google Cardboard VR experiences on my Nexus 5X in the Utopia 360 viewer without being rudely interrupted by the phone powering off or changing the sound volume. I am, however, unable to interact with the VR app. While more recent Cardboard VR viewers like the View-Master included a lever for the user to tap the screen, Utopia 360 did not.

That’ll be the next project.


3D Printer, Fix Thyself.

fan-adapterI’ve enjoyed using my 3D printer to solve little problems around the house. This project was extra amusing: I wanted to solve a problem I had with my 3D printer that I wanted to solve with the 3D printer.

My Monoprice Select Mini 3D Printer is a basic unit built to a low cost, and I’m probably using it a lot more than it was designed for. The first component to show serious wear was the tiny 30mm cooling fan, a simple unit with a cheap sleeve bearing that wore out. As a result the fan started vibrating and making quite a racket.

I could easily buy a direct replacement fan online, but where’s the fun in that? I have a 40mm fan just lying around anyway. Let’s make an adapter!

For a while I was stymied by the fact that the two fans were mounted in opposite and inconvenient directions. The original 30mm fan screws were pointed in the direction of airflow, and the original 40mm fan screws were pointed against the airflow. This meant that when one set of fasteners were mounted on an adapter, holes for the other set would be blocked.

I spent approximately an hour tearing my hair out trying to design something clever, to no avail. Then clumsiness came to the rescue: I held the cooling duct (which the fan would be mounted on) in my hand, trying to think, when I accidentally dropped it. When it hit the floor, it fell apart into two pieces.

The duct was actually two pieces fit snugly against each other. All this time I had thought it was a single piece! With the two pieces apart, the interior of the duct became accessible. This meant I could use the 30mm fan screws opposite of the original direction (pointed against the airflow) where it is no longer blocked by the 40mm fan.

Suddenly the adapter project became trivial.

“Oops” moment for the win!

Nexus 5X holder for Mazda RX-8

nexus-5x-holderGiven how popular it is to have mapping and navigation on the phone, there are a lot of phone mount products on the market. Unfortunately, given the diversity of phones and of cars, it isn’t feasible for product manufacturers to custom make individual design for every car + phone combination, so every mount is a generalized trade-off of some sort.

Which is, of course, the ideal situation for a 3D printer. Making an unique product to solve an unique problem. In my specific case, I wanted to mount a Nexus 5X phone in my Mazda RX-8 vehicle. This was the result.

The base of the phone slides in to the holder, and fortunately its position and basic friction is enough to hold the phone in place. I didn’t have to add any kind of clasp or snap to hold the phone in place.

The two slots in the base are for the two cables I wish to plug into the phone. The center slot is made to precisely fit a Monoprice USB-C cable. The side slot is made to precisely fit the plug of the Kensington audio cable I am using, one with ground loop isolation.

I didn’t want to do anything permanent to the car such as drilling holes for mounting. So I shaped the base to fit in the ashtray. I originally intended to print a large block so it fills the whole ashtray cavity but changed my mind when I realized the extra space is useful for coiling up the extra length of cable and make things tidier. Using the ashtray had the bonus side effect of placing it adjacent to the cigarette lighter power socket.

The entire design is too large for my little 3D printer to print all at once, so it has been divided up into three parts that can each be printed without support.

  1. The ashtray insert
  2. The phone holder
  3. A cylinder to connect them, one face truncated at the appropriate angle to hold the phone for display.

I printed this design in ABS plastic because of its higher melting temperature. The interior of a car gets hot and I wasn’t sure if 3D-printed plastic would melt in the heat. Printing in ABS also had the additional benefit of letting me use acetone as glue, melting the ABS pieces together results in a very strong bond.


Spotting Scope Webcam Adapter

scope-adapterSpotting scopes sold for bird watchers and rifle marksmen can be quite inexpensive compared to serious camera lenses of similar zoom capability. I knew there was a difference in the picture quality but wanted to try it first hand.

Since the picture is zoomed in so far, any physical movement is greatly magnified in the image. Which meant simply holding the webcam up against the eyepiece by hand just resulted in many blurry pictures. Taping them to each other wasn’t good enough – the small movement allowed by tape was enough to distort the picture. What I needed was a solid adapter to hold them against each other.

3D printer to the rescue!

The scope eyepiece unscrews easily, which makes for a convenient mounting point for a 3D printed bracket. The webcam is then attached to the bracket by means of a ring matching the diameter of the webcam. I didn’t want to spend too much time on fancy fastening designs on the first draft, intending to use tape. As it turned out friction was enough to hold everything together well enough for a quick experiment.


Results of the experiment: you get what you paid for. The image quality of a cheap webcam looking through a cheap scope was barely legible. I don’t intend to put more money into this investigation, so I’m unlikely to upgrade to better scopes. What I do have, though, are some better cameras which might be worth experimenting down the line.

One problem that I should have foreseen was the very incompatible fields of view of the two instruments. A webcam is designed to capture a very wide field of view, because during video chats the face is very close to the webcam. A spotting scope is just the opposite – it has a narrow field of view of a very distant object. When I put them together, what I get is the narrow scope view in the middle of a big wide field of black.

A stray cat resting in the backyard under a leafy bush against a yellow brick wall.





Flan jar lid

flan-jar-lidNowadays people are familiar with recycling. But some people forget recycling is only the third alternative in “reduce, reuse, recycle.” The goal of this project is to reuse small glass jars instead of tossing them into glass recycle.

The jars came from an eight-pack of flan in little single-serve portions. The jars were sealed with a layer of foil, which was sufficient to preserve the flan until the expiration date, but the foil top was not reusable.

In order to reuse these jars, I need to make some lids. At first I thought a simple revolve would do the job – draw the profile of a lid with a lip, revolve it 360 degrees, done! Sadly it wasn’t that easy.

Problem #1: neither ABS nor PLA were flexible enough to make a practical lid. What I had drawn up is the shape of a Tupperware lid but my material did not have the flexibility of Tupperware lids. I thought this was solvable by making the lid precise enough so that it only needed a tiny bit of flexibility to work. That’s when I ran into the next problem…

Problem #2: The flan jars were not perfectly round and varied from jar to jar. This was perfectly acceptable for their original usage of sealing with a foil top, but tremendously inconvenient for me! It’s not practical to try to match the precise shape of each individual jar just to make a lid.

To work around these  problems, I switched the design so that the lid slides on to the jar sideways. Half the lid is rigid, reinforced by a strong lip to hold on to the jar. The other half has a small lip at the far end keeping the lid in place. The lack of a strong lip gives the lid a tiny bit of flexibility, so the small lip can be bent out of the way and the lid can slide off the jar.

The lids make the jars useful for holding small tools and parts.



Shade for the Garage Door Opener

blindersAll modern garage door openers have a safety feature: a small light beam to detect objects that might be in the way. Most of the time this feature is unobtrusive working in the background for my safety.

Occasionally, though, the sun would be at an angle that blinds the beam receiver. When the sensor is blinded, the garage door opener defaults to safety and behaves as if there was an obstruction in the door. Great for safety, not great for actually getting the door closed. What we needed was a sunshade.

The tolerance requirements were very relaxed relatively to the other projects. I didn’t even need the precision of a caliper, a ruler was enough to get me in the right ballpark.

I rotated the shape 90 degrees, so that it faced down, to enable easier printing. By doing this the shape could support itself as the 3D printer built up the layers, no need to waste material printing supports. Aligning the object in this manner also resulted in a cleaner inner surface for the tube.

At the time of this project, my 3D printer was loaded with transparent filament. I decided to perform a test print even though a translucent shade would be counterproductive to the goal of shading light. I thought I’d make a few test prints and iterate to the final design as my 3D projects usually do, and load a different filament for the final print.

My plan was foiled by the realization it fit and worked right off the bat. Even though the end result is not opaque to light, I suspect it breaks up enough of the sunlight. If the transparency ever becomes a problem, I can always spray paint the exterior of the object.

Good enough! I declared the project complete and moved on to the next thing on the to-do list.

Update: I’ve printed and installed an opaque replacement.


Worn AA Batteries Get a Second Life

battery-tray-exploded-viewThe “Duck light” project earlier was a lot of fun, crafting an object to be lit with a little LED tea light. I liked the result so much I kept it lit around the clock, which led to the obvious next problem: battery life.

These lights came with a standard CR2032 lithium battery good for 2-3 days of continuous use. Replacement batteries can be found for less than a dollar, but that’s almost as much as the cost of the entire light! I embarked on a project: find a better way to keep my lights glowing.

Online search found some basic details on CR2032. The full power voltage is 3 volts, conveniently a multiple of the ubiquitous AA battery’s 1.5 volt. More interesting, however, is that the quoted minimum voltage is 2 volts. Most AA-powered devices would stop working well before an AA battery drops to 1 volt, which implies that a “spent” AA would still deliver sufficient power for the tea light LED.

With this research in hand, I proceeded to design and 3D-print a small battery tray as simply and inexpensively as possible. Normally an AA battery tray has metal springs to push against the negative end of the battery. My project takes advantage of the fact the 3D printed plastic is flexible, and print a curved arch to provide this holding force.

I need something at each end of the tray to complete the circuit. One end is easy: I pulled the LED component out of the tea light base and used pliers to shape the wires into a Y shape to connect the battery terminals. At the other end, I used a piece of aluminum foil from the kitchen. Normally this is a bad idea because a thin foil of aluminum can’t carry much current, but it should be fine given the extremely low power flow of the LED.

To make the base more presentable, add a cosmetic shell to cover the battery tray and provide support for whatever we want to keep lit, and voila! A small lighted base for any purpose.

I had a pair of AA batteries that had been in my Xbox One wireless controller. I received “battery level low” errors for about a week before the controller refused to turn on at all. Yet these batteries were still powerful enough to light up the LED and keep them lit for many days.

A cheery light powered by batteries that would have otherwise been thrown away. Success!




Duck Light

Duck lightAnd now for something with aesthetics as its primary function: A duck light. I started with the battery-powered LED lights imitating little tea light candles. These lights are widely available at very low cost from discount stores and dollar stores. My local 99-cent store sold a pair of lights for 99 cents.

The lights consist of the functional base, incorporating the battery, the switch, and the LED. It sits under the cosmetic shell, which is a cylinder pretending to be a candle with an unconvincing imitation flame above it. A little prying action should be sufficient to separate the shell from the base.

The unremarkable cosmetic shell can go in the trash. Then measure the diameter of the remaining base. Use that as a starting point: Go into Onshape and design a custom shell for that base.

My custom shell project started with a surface that describes a variant of the popular bathtub toy duck. It was not difficult to import the surface data into Onshape, but making use of the shape turned out to be more difficult than anticipated. Onshape surface manipulation tools aren’t robust enough (yet?) to deal with arbitrary surfaces imported from elsewhere. In theory I can use the “thicken” command to turn the surface into a solid, but it and many related operations fail with a generic error message.

After some trial and error I found that the split operation works: Define a large rectangular solid, position it over the duck surface, and split the solid block into two: the duck and its negative. After deleting the negative, I have a solid duck shape.

In theory I can use the Onshape “hollow” tool to hollow out the duck shape, but again I was stymied by the error messages. To work around this problem, I started crafting shapes to manually carve out the interior. It didn’t take terribly long to hollow out the bulk of the duck this way.

After sending the hollowed-out duck to my 3D printer, I was able to mate it with the LED light base and now I have a custom duck-shaped tea light!