Picture Frame

Emma made me this beautiful ceramic heart for Valentines Day! I decided to make a lightbox style frame to hang it on the wall using slots and glue to keep everything secure.

Test cut done with Amazon boxes!

I designed the frame in Fusion360. It was built with 3 different materials and thicknesses: plexiglass, MDF, and supportboard for the back. This is my first multi-part laser piece.

Cutting like butter through the 1/4 MDF

These settings work for me for 1/4 dry MDF. 60watts, 10mm/s, 40-50% power, 2 passes (roughly 13 milliamps). It’s just enough to see the burn through the bottom and pop the pieces out of MDF.

Cut with the final materials

Pieces fit together perfectly. My laser hasn’t been calibrated yet so the cuts were slightly at an angle but for such small connections, it wasn’t an issue.

Added heart to the box, secured with hot glue gun

I added the piece to the frame. The light blue/white heart didn’t show to well with the white background.

Red really made the piece stand out

And here is the final product! Might engrave something on the bottom right later just for fun, but for now it looks amazing.


Squeeze Bottle Rack

In order to save counter space, I designed a rack in Fusion 360 to cut out 1/4 inch MDF rack. The rack is designed to be mounted to the side of a cabinet, and use double sided mounting tape (along with some physics) to securely hold the bottles in place.

Here it is mounted, perfect fit, snug


Yi Home Window Mount

Yi Home cameras are inexpensive, but you can’t use them outdoors. I built this 2 piece window mount (with SVG sticker for those who have a Cricut). This project was an exercise using Fusion 360 and threads, as well as practicing assembling components which is much like assembling parts in SolidWorks.

The Tools

  • 3D printer
  • Cricut Maker
  • Fusion 360
  • Cricut Maker

The Materials

  • PLA filament
  • double sided mounting tape
  • vinyl adhesive
  • Yi Home Camera

The Design

In order for the Yi Home IR (night) lights to work, the camera must be completely touching the glass of the window you’re mounting it do. Since mounting tape comes in different thicknesses, I decided to make this 2 pieces with threads so that the depth could be adjusted.

Mount the base to a clean window with your choice of double sided mounting tape, insert the camera into the other piece, screw in the camera until you feel it press up against the glass. If you leave a gap, you will see the reflection of the infrared lights.

Final printed product

Here is the final 2 piece product mounted to the window. It works great! The threads are really tight, and had to do some light sanding and screw and unscrew many many times to wear down the edge a bit.

Builds In Progress

Street Light

Not sure why, but I wanted to create my own street light. It features LEDs, an Arduino controller with WiFi and notifications, resin-cast lenses from silicon molds, 3D printed parts, as well as some store bought piping.

The Tools

  • 3D printer (Creality CR-10)
  • dremel with saw attachment
  • mini blowtorch
  • hot glue gun

The Materials

  • black and clear PLA filament
  • 2 part silicon mold compound
  • 2 part epoxy resin compound
  • food coloring and epoxy tiny
  • M2 bolts and nuts
  • sandpaper
  • grey filling undercoat rattlecan
  • high temp matte black paint rattlecan

The Design

Designing the initial pieces

I eye-balled the design after staring at pictures of street lights. I noticed that they are different everywhere. Some have fully round covers, others are cut out like I have. Some have small backs, some large. Some are black with yellow outlines, some don’t. The pro is that I just need to design something close, the con is that there’s no single classic design.

The above files were all designed in Solidworks. They are meant to be assembled using M2 bolts/nuts to give it the industrial look. I didn’t design the pole/stand yet because I wanted to get a feel for the size first before deciding on the pole height and thickness.

The Build

Initial print with “transparent” PLA

I was really unhappy with the “transparent” PLA that i used to print the lenses. There were 2 versions I printed in attempting to get it clear. They were a big fail, but I ended up using it to make a silicone mold which I use to cast resin which worked out much better!

Old silicon mold compound was rock hard

Of course my existing silicone compound had expired. I didn’t even know they have expiration dates. You can see it’s nearly full, only used it once for a test. Had to buy compound as these have about a 1 year shelf life, or a few months if you open the bottle.

Making the silicon mold

I used a glue gun and foam board to put together a tiny box for the mold. I also glued the lens the bottom to prevent it from shifting.

Mold poured

The mold takes about 12 hours to cure. There was absolutely no smell, and the compounds were easy to clean, unlike 2 part epoxy resin.

Green resin casted!

I normally color resin with a few drops of food coloring, but usually you can use acrylic paint. I bought some resin coloring just for kicks and the green came out perfect. The red however was way to opaque and I resorted back to food coloring to get a more translucent resin.

Finally looking legit!

Green and yellow came out perfect the first time. Red took me 3 times to get right. I don’t have a degassing chamber so there are tiny bubbles, I think it will help with diffusing the LEDs under. We shall see!

First test with level converter for 3.3v to 5v signalling on the 8212b

ESP8266 is a 3.3v controller. 8212b is a 5v signal. Here I am doing a quick prototype test to see if the signalling works… spoiler alert, it didn’t. Adafruit’s NeoPixel library didn’t like it.

Soldering took forever!

I used 5v neopixels (8212b) to form an array of lights, 10 LEDs for each street light. I mounted card stock under it to help with the color and adhesion.

Debugging digital signals from the 8212b channel

Using 5v Arduino Nano I was able to get good signalling to the 8212b neopixels. However, this needs WiFi so I switched to a beloved ESP8266 3.3V microcontroller. I could not get the signal to work correctly using Adafruit’s NeoPixel library. Instead I had to switch over to FastLED.

Nightmare comparing signals between Nano and ESP8266!

I used my trusty Rigol to try to diagnose the difference between the signal libraries. At the end of the day, I don’t have time to debug the Adafruit library and running with FastLED. Also look how clean the signal is! those series resistors really help with bounce!


Triathlon Bike Phone Mount

I spend hours and hours on my bike. I needed an aerodynamic custom phone mount designed specifically for my phone/bike setup. This is my first multi-part assembly in Solidworks. So satisfying!

My Ironman triathlon bike.. a Felt DA3

Before I begin, let’s stop and take a look at this beautiful bike. It’s not as high end as some of the $15k+ bikes out there, but it’s gotten me through many Ironman races.

The Tools

  • 3D printer
  • digital caliper

The Materials

  • M2 screws and nuts of varying length
  • PLA filament

The Design

Assembly built in solidworks

I measured the diameter of my aero bars and also the distance between the stem where it would be mounted. I decided on a 3 part assembly to make it easier to print. The pieces of the assembly where designed to be held together with M2 screws/bolts.

The Build

Width fail… used the wrong variable

Always used variable names in Solidworks, but also give them meaningful names so you don’t end up using the wrong measurement for the mount gap width here to account for the stem.

Design fixed and reprinted

After re-printing the design, I pushed in the hex nuts into the slots I designed and screwed bottom mount together. The 3D printer needs a good amount of tolerance for a good fit. I used 2mm for these M2 screws but the fitting was too tight.


Bathroom Sign

Why create a bathroom sign in your own home? Why not! This project was super fun because I got to play with heat guns, resin, and multi-colored prints!

The Tools

  • 3d printer
  • heat gun
  • disposable gloves

The Materials

  • green and white PLA filament
  • 2 part epoxy resin

The Build

The most interesting thing about this build was the resin coating. There are a few things to learn here. First, resin is nasty, smelly, and sticky so wear gloves. Also, 2 part resin mixed together ends up with tons of bubbles. You remove them by pouring the resin from really high up, but also using a heat gun or torch to pop the bubbles. This only works if the layer is thin — if you are pouring a thick layer of resin, then you need a degassing chamber to vacuum all the bubbles out.

Post-processing g-code

The second interesting thing about this is the dual color extrusion. I do not have a dual color print so I had to modify the G-Code to “pause” the print at the right height so I could swap out the green filament for white. This is done with Cura3D.


Marshmello Helmet

Every project is cooler with LEDs. I made this neo-pixel and Arduino powered helmet with both battery or 5V plug in power.

Builds In Progress

Megaman Blaster

Front of the cannon

I custom designed in OpenScad this front of the cannon with LEDs

Backside of canon tip

The back was designed to have holes exactly the size to mount LEDs in. The pieces were printed with “translucent” PLA to diffuse the light.

Gotta have the helmet

I found a mini helmet online and printed a small scale version of it.

Initial print, super rough

This is the assembled first print. There was so much sanding that I had to do. I learned a lot about how to fill holes and smooth out the lines in the print. The support material that was broken off left so much work to be done.

I used some 3M filler to smooth out the print lines

Especially around the yellow lightbar the print was really rough. The post prep on this part was intense.

After sanding and painting

Did about 5 sessions of filling and sanding with bondo before I got it to a point where it was nice and round. Here’s me holding the canon. It has a handle inside. Still need to build the electronics.


Arcade Machine

My first really difficult built, that I did for me and my little girl. Didn’t have the right tools or experience, so it was built mostly with elbow grease, vision, and determination. The machine supports MAME emulation along with many other consoles.

The Tools

  • router – for t-molding slot
  • jigsaw – to cut everything
  • sander – to sand off the crap job that the jigsaw did
  • drill – to screw everything together
  • projector – to outline the graphics
  • 3d printer – to print speaker grills

The Materials

  • acrylic paint – for the graphics
  • 5/8 MDF panels – for the frame
  • 4:3 LCD – the screen
  • Xin-mo controller – buttons and joystick
  • spare computer – for the internals
  • t-molding – for the edge trim of the cabinet
  • power strip – to simplify powering everything
  • fluorescent light – to light the marquee
  • plexiglass – to cover the screen and for the marquee
  • spade drill bit – to cut out circles for the game buttons
  • speaker – an old Jawbone speaker for audio
  • mini foam paint roller – for a smooth finish
  • raspberry pi – worked better than the computer
  • wood screws

The Build

Initial frame of the machine

I built everything with 5/8 MDF because it was cheap, sturdy, and the 4×8 panels cut in half at Home Depot provided dimensions just about right.

Mockup of controller placement in cardboard

The buttons are from Ebay. You can find them by searching for “Xin-mo buttons” or Jamma. This kit came with all the wiring, 2 joysticks, and colored buttons. Button layout is up to you.

Measured twice then drilled and screwed on buttons and joysticks.

Using a “spade” drill bit that matched the button size, I attached the buttons and screwed in the joysticks. The buttons have a small lip so if the whole isn’t perfect, it’s not a big deal.

Final controls, painted, with t-molding

The rubber/plastic trim is called t-molding that I got from Pick your color, they even have light up molding. You need a router to make a cut in the middle of the wood. When you buy the t-molding, they’ll tell you the bit you need with the specs.

Painted and added trim all around

Do NOT paint with a rattle can, use a FOAM roller. The furry roller will not give you a smooth surface. So far all these pieces I cut with a jigsaw. Super dusty, not straight, tons of sanding, would not recommend. Also, I used Phillips screws… I would definitely go with hex. And always use pilot holes! The monitor I found on Craigslist — it’s strange to realize you can barely buy a 4:3 screen anymore.

The rear of the machine with the computer mounted

The computer originally was built with leftover computer parts. Later on, I replaced it with a tiny Raspberry Pi that worked even better than this linux based setup!

First MAME game, success!

In the useful links section at the bottom of this post, I’ll link where you can find MAME ROMs legitimately. Here is the first test, she likes it!

Getting ready to painstakingly paint the cabinet

I couldn’t afford to print graphics, so I used my projector to help me trace some graphics which I later painted.

Finished side… only took 4 hours

I used acrylic paint, lots of it, then finished it off with black outline, then coated it with rattle can clear coat. Emma is lucky I love her so much, never doing this again. It was incredibly difficult.

Here is the other side. I know, it doesn’t match, but whatever.
The marquee I custom designed and got printed at a shop.

I found a local shop that prints on translucent adhesive. I designed this logo myself (emma-arcade, get it?). I tried to print this on my color laser, but it came out like garbage. The translucent adhesive is stuck onto plexiglass which I cut and mounted with black duct tape. The light is a small 18″ fluorescent light that I easily mounted. I also cut plexiglass as a cover to the monitor.

Finally playing games!

After all that work and finding tons of ROMs, she only wants to play a few games like Simpsons or Teenage Mutant Ninja Turtles.. oh well.


  • jigsaw – doing everything with a jigsaw is a bad idea because things aren’t straight, needed a lot of post-sanding, should have used a circular saw w/ guide
  • router – the router was too big and hard to route the t-molding slot, should have used a palm router or added flat support to prevent uneven slots (sorta covered by the t-molding, but uneven slots makes for loose molding fitting)
  • paint – hand-painting the sides was pain-staking, if you have the graphics and can afford it, get something printed and stuck on
  • pilot holes – always drill pilot holes, mdf isn’t that strong
  • foam roller – for smooth surfaces, use a smooth roller, learned that the hard way
  • computer – I was stubborn and went with a computer, but ended up replacing it with a tiny raspberry pi and used RetroPie, soooo much easier with a nice interface to select games and switch between emulators
  • black duct tape – I used black duct tape to mount the front plexiglass pieces but electrical tape worked out much better


The speakers I used were battery powered, so I bought a pair of cheap computer speakers instead.

The computer setup had a really bad interface, so I ripped everything out and replaced it with a tiny Raspberry Pi running RetroPie, much better!

The speaker grill was terrible so 3D printed 2 speaker grills from, looks much better.

The fluorescent light I wasn’t happy with, so I replaced it with an LED light strip that was much brighter.

3D printed a little coin door that I will make functional later!