TL;DR: I made a robot whose only purpose is to hold up a spotlight… At
least it’s a step up from passing butter :D. I am extremely pleased with how
this guy turned out. The light is adjustable both in leaf rotation and tilt
A few weeks ago, I desperately wanted a lamp for my nightstand to keep me
from needing to stumble around in the dark trying to find the bed while
avoiding squishing the dog after turning off the lights at night. Thus, I
decided to do the most practical thing, and began designing my own.
I began my design around the idea of creating something in a modular manner.
I knew I wanted to have some sort of character holding up the light source, but
was unsure about the specifics of what was going to be feasible, and what would
be accepted by my landlord to have around the house. I landed on the idea of
building around a spotlight—I like the simple shape and general aesthetics and
the character-neutral nature.
Over the next few weekends, I kicked around a few ideas and asked some
friends for inspiration when I had my eureka moment—THE BUTTER BOT FROM RICK
AND MORTY IS PERFECT FOR THIS!!! I am a huge fan of the show, wanted to use up
my silk silver plastic filament, and thought I could give this little guy a
better purpose than just passing butter. Really, it was a win/win/win scenario.
I don’t have any photos detailing the electronics, but I’ve got a simple ATmega32U4-based
Arduino board with a micro-USB interface. I found this awesome inline DC jack
power switch and paired it with an even cooler DC jack to micro-USB cable to
provide power and add the ability to turn the light on/off.
Designing and implementing my idea was relatively straightforward after
deciding what to build. The trickiest part was designing the parts in such a
way so they could be broken up and printed in different jobs—the overall size
is roughly 7” x 8” x 18” (although the 7” width can change depending on how the
spotlight leaves are oriented, and the height can change depending on the tilt
angle). I am particularly proud of my insight of creating a domed peg to enable
the printing of the main body without the need for supports.
The only thing missing from the completely finished design are a red wire, a yellow wire, and a red led bulb. Anyway, here’s a gallery of my design and build process:
TL;DR: I made a divider for our new laundry bin using material from our old
bin and printing some threaded pins to hold it in place.
We used to have a stiff cloth laundry basket, but there were two main
problems with it. Whenever I tossed my clothes on it inaccurately (this
happened all the time, let’s be real), the walls would buckle a bit under the
weight. Secondly, there’s just a single compartment, and I’m allergic to the
laundry detergent Tiff likes to use.
To fix the first problem, we actually used the ubiquitous 20% off Bed Bath
and Beyond and bought a new hard plastic hamper. To address the second, I got a
bit more creative. Since our old laundry basket was cloth-based, I was able to
fold it up using binder clips. The divider fit very tightly near the bottom, so
I only needed a way to hold it in place closer to the top. I created a pocket
on each side by adding two binder clips around where I wanted to place the
The custom design I went with was very simple—it’s a simple threaded pin and
retaining nut. I measured the hole I needed to fill, extruded a few cylinders,
and added threads, ezpz. About two hours on the printer later, I installed two
pins with nuts on the basket and put the divider into place.
I’ll be the first to admit that this isn’t my sexiest design ever, but it’s
TL;DR: I finished the EL headbands I’ve been working on :D.
I finished up the electroluminescent headbands I described in my post a few weeks ago here. Since my prototype was close to the final product, completing the production was fast after I received the custom fabric components.
As in the prototype, EL wire was passed through the printed channels and
connected to a DC to AC inverter for power. I found nifty coin battery sized
inverters, which fit directly on the bands without too much interference. The
most time consuming portion of the build was attachment of the plastic to the
fabric, since I’m bad at hand sewing.
Here’s the build gallery:
Here’s a bonus gif, with a little preview of a flag project I’ve been working on as well…
TL;DR: I made a lithophane lamp shade for my sister’s birthday. I used an
online tool that combined multiple images with specific measurements to create
a part that fit around my particular desk lamp. This was probably my longest
single part print to date—about 60 hours, but the results were well worth the
I continued playing around with lithophanes and made my sister a birthday
present—a litphophane lamp shade! I found another online tool at: https://www.lithophanemaker.com/Lamp%20Lithophane.html.
This one lets you enter various parameters to create an entire ready-to-print
part very quickly. While I would design this part a bit differently if I were
to do it from scratch, the speed of use was pretty undeniable.
I only had a two small hiccups—the size of the lamp retaining lip didn’t
quite match what I expected. That is—the cylinder turned out undersized for
what I needed. Luckily, I had the foresight to first print only the inner
cylinder for a fit check. After I started the print the first time, I realized
that I forgot to add supports for the cylinder retaining lip to come out
properly, so I had to restart the print after a few hours >.<.
Once I started the print for real, I had the full lamp shade in hand after
about 60 hours. This was my longest single part print to date, and I think it
turned out incredibly well 😀
The gallery with descriptions below shows the process:
TL;DR: For Valentines Day, I made a lithophane—a 3D object which reveals an
image when light is shined through it. The operating principle is
basic—different “pixels” are created since thicker areas block more light.
Lithophanes are really cool. Essentially, they’re 3D photos that physically encode pixels of an image by varying the amount of material. Thinner sections of the lithophane allow more light to pass through. I discovered a simple to use, yet highly customizable online lithophane generator at http://3dp.rocks/lithophane/. Upon making this discovery, my mind immediately went to the perler project I worked on last year… I saw I could reuse most of the components (back plate, switch, LED backlight), only making a new front plate. Since I designed the perler project housing in Onshape using top-down design principles, all the modifications only took a few minutes to complete and export for printing.
It took me three tries to finetune my print settings. In the first print, I
inadvertently made the image inverted:
For the second print, I ended with a lot of blobs on our faces. Clearly this was because the nozzle dwelled a bit too long on the top surfaces since I printed this part flat on the bed:
To correct for this, I reoriented the part on the print bed. I was worried
about the part falling over (hence my original print orientation), so I added a
really large brim to keep it rooted:
The third time really did turn out to be the charm, and I was very pleased
with how it turned out:
There’s a ton of ways in which the lithophane idea can be expanded and
improved upon. First, I need to redesign the housing unit to incorporate the
switch and battery. Others on the internet have wrapped lithophanes around
objects like cylinders to make custom lamps, trophies, and other neat projects.
The possibilities are endless… as you can see in the summary photo below, you
can use pretty much any light source and have the images turn out well:
I’m excited to play around more with this type of stuff!
TL;DR: I made custom Nintendo Switch Joycon Controller holders in the shape
of Star Wars Y-Wing and A-Wings.
I’ve been traveling quite a bit this year, and my Switch has been a great
companion surprisingly easy to bring around. However, the biggest gripe I and
everybody else has with the device is that it is no fun to use the controllers
in single joy-con mode. I found and printed some neat grips that make it a bit
easier to use them in this mode, but I’ll cover them in a future post.
In this project, I made some ridiculously tardy birthday presents for two of
my Switch-owning friends: Y-Wing and A-Wing Joycon holders. Honestly they aren’t
that practical, but they technically *are* functional, and I think they look
pretty cool. I started by downloading STL
files from thingiverse of various Star Wars ships and a simple dual-joycon
In Fusion 360, I chopped off the joycon rails and saved the bodies as
separate components so I can reuse them in multiple projects. Next, I started
processing the Y-Wing by simplifying a lot of unnecessary mesh details, cutting
off the engines, then making the mesh into a solid body. I inserted the joycon
rails where the engines used to be and played around with the scaling of the Y-Wing
body to fit well. From there, it was a simple merge bodies, slice, and print…
or so I thought.
Unfortunately, I messed up some of my slicing settings in my first attempt,
and part of the print fell over. Even though part of the print had failed, I
was still able to do a geometry check, and I was pleased with how well the
joycon and strap both fit into this model.
My slicing error was in a boneheaded misconfiguration of adaptive layer
settings. Using adaptive layers in slicing software allows for faster prints
since the printer is programmed to use larger z-steps if it is safe to preserve
model details. The base layer height for this was 0.12mm, and by entering the
deviation to 0.2mm, for some reason I thought I was setting the absolute height
limit for the print to 0.2mm, but this was not the case, and my printer was trying
to print with 0.32mm layers, which it just was not able to do. On my subsequent
attempts, I dialed the deviation back and was able to get a really nice print.
Y-Wing gallery here:
The A-Wing model took a bit more pre-print processing. First, I noticed a
small hole in the surface, so I used meshmixer to mirror the better half of the
model. Second, the model I had was hollow (there was an internal surface),
which would have caused issues later on in combining with joycon holders and
printing. The hollow body was simple to rectify—I created a block larger than
the A-Wing then used combine to cut the A-Wing from the block. This left several
bodies, including one that was the ship model cavity, which was added back into
the main ship model. Just as for the Y-Wing model, I imported the Joycon rails,
scaled the Awing body, and moved everything in place before combining the
I’ll admit the joycons on the A-Wing are less than ideal, but I still think it looks cool. 😛
TL;DR: I printed and painted Peach from Mario Kart for a friend’s birthday. The
model came from the video game and I think it turned out pretty well.
Back in the ancient days of Sophomore year of undergrad, my drawmates and I
spent hours playing MarioKart 64. My roommate would always grab Peach before
anybody else, so I decided to make him one for his birthday. I got surface
models from a Mario Kart video game then did a bit of patching work to make
everything into a nice solid model. The Kart and Peach came as two separate
files which I combined into a single model for printing.
During support clean-up, I had an unfortunate accident with our dear
Princess, and she pulled a Marie Antoinette on us. This actually turned out to
be advantageous since I’m not sure how I would have accessed a lot of the body
for painting without the decapitation. The only truly custom parts I made for this
project were the wheels, which were printed in black and simply hot-glued on.
I already missed the birthday of the other drawmates, and I feel bad… but I
have prepared the racer models for both him and the last of the drawmates… We’ll
all be getting together in June 😀
TL;DR: I printed and painted a Totoro Ocarina for my girlfriend’s birthday. There
are 4 finger holes and is actually tuned to play notes correctly. After that, I
created a positive model of the cavity so I can use a Boolean subtract to make
ocarinas out of custom models :D.
I came across this amazing model on Thingiverse (https://www.thingiverse.com/thing:1798728)
while looking for inspiration of things to make for my girlfriend’s birthday.
She loves Studio Ghibli films, and this is a cool application of 3d printing I
had not really seen nor tried before.
In 2016, Autodesk research developed a software package called “PrinTone”
which analyzes any arbitrary 3D model to add a cavity and holes so you can play
tuned notes. Unfortunately, they have yet to release the software, so I couldn’t
use it to transform any custom model into an ocarina. Luckily, the only
customization I wanted to make was the addition of a birthday message through
an extruded text cut.
The poor settings on my initial print attempt led to some underextrusion on
some of the walls, and some small gaps in the head, which is no good for a wind
instrument. I also tried printing a larger version at 1.5x scale, but the holes
became too big for my fingers. I’m very happy with how the present came out
after painting J.
After I finished this part, I still wanted a way to design and print custom ocarinas. Inspired by physical molding techniques, I was able to use CAD tools to create a digital model of the cavity, finger holes, and mouthpiece. I am now able to subtract this new “core” model from any custom model, as long as it has a similar-ish shape. The very first custom ocarina model I created was Snorlax. I admit… it looks kinda disturbing since the air inlet is basically his butthole, but I still think it’s a neat idea. Unfortunately I probably need to bring the cavity closer to the surface since this ocarina is broken as a PokéFlute.
I waited 10 years and 18 movies for Infinity War, and as a superfan with a movie club, I obviously needed to watch it opening night. I bought 22 tickets in the center of the theater within 15 minutes of their availability, but unfortunately, Alamo Drafthouse’s site wasn’t ready when I was. Alamo is by far my favorite movie experience, and the moviegoers there are true fans. It’s pretty normal for opening night premiers to be filled with people dressed up (scroll down far enough and you might see a familiar face :P).
I managed to cajole a few members of my movie club to join in geeking out and dress up for the premiere at AMC. As somewhat expected, we were like the only group dressed up there, but whatever. We had fun and that’s all that matters.
I continue to be pleasantly surprised at the utility of my cheap little 3D printer. This was the first project I completed that involved painting post-print. I found some decent STL’s for Ironman and Black Panther on Thingiverse. While these base STLs worked, there were some changes I wanted to make but didn’t have time to do so, cause of course I procrastinated. I didn’t start making the masks for Abaho and I until 5 days before the movie.
The first part I printed was the faceplate for the Ironman MK50 (Bleeding Edge armor that debuted in Infinity War) helmet. I measured the space between my eyes and scaled everything accordingly. I tried it on and it seemed to fit well, so I continued with the rest of the helmet. It turns out that my head does not have the same proportions as that of the guy who originally designed the model, so I couldn’t get the skullcap on:
At this point, I only had 3 days to print and paint 2 masks, so I decided to cut and print only the front part of the Ironman helmet to save time and ensure wearability. It was pretty easy to make planar cuts of the mesh files using Fusion 360, which was good.
I noticed that the STL I was using was not perfectly symmetric, and the parts didn’t actually fit perfectly together. It’s definitely something I’m going to address before I make my next print.
I needed to do a decent amount of work to prepare the Black Panther mask for printing. First, the raw STL had a ton of unnecessary detail and sharp edges on the inside of the mask, which would have increased the print time and made the helmet more uncomfortable to wear, so I did lot of simplification and smoothing of the inner surfaces. Next, I needed to slice the helmet into a bunch of parts to both fit on my printer, and print in time (I only had about 36 hours cause I ended up printing TWO Ironman masks). Initially, I was worried about having visible weld lines in this mask, but luckily, I bought some BLACK GLUE STICKS a few weeks earlier at Daiso (I didn’t know these were even a thing) to hide them perfectly.
Here’s a gallery of the build process:
Painting the Ironman masks was a huge pain since I needed to cover quite a bit of surface area using three different colors of paint (gold, silver, shiny red). To make the shiny red, I needed to mix a metallic copper paint with the basic red I bought (the red was too flat and bright to match the gold). The Black Panther mask in contrast was ridiculously easy to paint… the mask was already printed in black, so only a few raised areas needed to be highlighted in silver.
I was incredibly happy with how the finished helmets turned out. I added a fabric strap to the back of the Ironman helmet with some hot glue for wearability. It turns out that Abaho’s head fit perfectly within the Black Panther helmet with no additional modifications needed.
Next up, I’m going to be printing out and attaching parts of the Black Panther mask we removed earlier. I’m also going to fix the model symmetry and adjust the dimensions to fit the proportions of my head.
My friends James and Cat found photos of dog owners putting Cubone masks on their doggos like this online, and asked if I could help them make one for Cat’s shiba, Azuki. I searched and found this STL file graciously uploaded to thingiverse to use as a baseline, so I agreed to help.
Here’s the finished product on a very dapper looking, but unhappy dog:
For the uninitiated, here’s the inspiration for the mask:
Since this was my inaugural long print (previous record was about 5 hours) on my 3D printer, I had a number of upgrades I wanted to complete to ensure a smooth print. I found all of these mods on this very useful site.
By far the most time saving mod I completed and by I, I mean my roommate did most of the work, was setting up an Octoprint server onto a spare Raspberry Pi I had. This lets me monitor print status from any computer on my network and allows me to send gcode wirelessly rather than need to futz around sending files with physical SD cards.
Next, I swapped out the stock cooling fan for a radial blower using the diicooler mod. This mod cools the part from all directions around the hotend, which greatly improves the print finish and dimensional accuracy. I ended up needing to change the wiring on my new fan’s connector. It was a bit of a pain, but I ended up non-destructively disassembling the connector by pushing the pins in and pulling the wires out.
After I swapped the cooling fan, I realized that I would need to recalibrate the heating element PID parameters. Unfortunately, the stock firmware did not make this super accessible.
In order to calibrate the PID parameters more easily (and add a number of cool new functionality) I changed the firmware running on my printer. I’m currently running the open source ADVi3++ v2.1. Octoprint proved to be incredibly useful here since it let me flash the firmware on the printer from my laptop. Seriously, how cool is that??
After installing new firmware, I went and recalibrated the X, Y, Z, and Extruder motors using tools built into ADVi3++ and by printing a calibration cube.
All of the printer setup above took about 2 nights of work. I’m not gonna lie, it ended up being more involved than I originally anticipated. I made the mistake of thinking I obtained all the required hardware, but this ended up not being the case. Oh well, all things considered, it was well worth it.
With all of the printer mods out of the way, I was able to focus on modifying the base STL to fit Azuki better. I asked Cat to take a bunch of photos of Azuki from the profile, top, and front views as best she could. I imported the photos directly into Fusion 360 and used the tape measure she included in the photo (genius move) to scale them exactly. I imported the base file, simplified the mesh, and converted it to a solid for edit-ability. The biggest modification I made other than scaling was the addition of ear cutouts, since Azuki’s head structure was a bit different from that of the base dog’s. I should have added nostril cutouts and could have added additional thru holes for string attachments to hold the mask on more securely, but those can be added after the fact with a regular drill.
The total print time was about 20 hours, using approximately 220g of material. Additional print settings in Cura were as follows: 0.3mm layer height, 30% infill, supports from base only. Cleanup of the supports was pretty simple, I was able to clear almost all of it by hand in less than 2 minutes.
The resulting mask fit Azuki pretty well. The ear holes were in a pretty good location, but the eyes sat a bit closer to his face than ideally desired. The fix for this is pretty simple though, foam padding can be added to the top of his head and along his snout to move the entire mask up a bit. Making the mask sit a bit further from his face will also give his nose a bit more room to breathe as well. From a distance of 2 feet away you can’t see any layer lines or notice any triangular surfaces. I’m incredibly happy with how this print turned out and hope that Azuki won’t hate me too much for making it 🙂