I’ve been building my own CNC machine this year, and slowly designing parts to go with it. I needed a dust shoe to collect all the wood and MDF shavings. Didn’t want to pay $150+ and it seemed like a fun project to design to get acquainted with airflow.
The pink version was my first design. It was comprised of 2 parts (actually 3 but 2 were glued together for better printing orientation without supports).
The idea is to have 1 piece permanently attached to the spindle. The other piece snaps down vertically into the mount. In theory it seemed like it would work, but in practice, as the CNC cut deeper, the materials would push up against the brushes and make the piece pop off 🙁
Into the trash and onto V2. I still wanted the show to have multiple pieces so I could remove the parts and have room to work under the spindle.
The ring, after being squeezed into the flat plate under it, mounts onto the 80mm spindle. Then the front and back pieces slide on to the plate via a groove, then the front and back pieces are secured with binder clips!
The brush strip can be found online, and is just cut to length. There is a groove inside that lets you jam the bristles and the part was designed to be nice and snug. It was printed in PETG for durability.
There are many spool holders out there. The problem is there are many spool sizes that makes it hard to build a universal one that works well. I decided to make a spool holder that mounts horizontally and uses the weight of the spool itself to keep the spool in place.
This is version 7 of my design, it’s still in progress and was a good motion study for the joints in CAD. How will it work in practice? We’ll soon find out.
Not sure why, but I wanted to create my own street light. It features LEDs, an ESP8266 microcontroller with WiFi and notifications, resin-cast lenses from silicon molds, 3D printed parts, as well as some store bought piping.
3D printer (Creality CR-10)
dremel with saw attachment
hot glue gun
C/C++ (Python3 server)
black and clear PLA filament
2 part silicon mold compound
2 part epoxy resin compound
food coloring and epoxy tiny
M2 bolts and nuts
grey filling undercoat rattlecan
high temp matte black paint rattlecan
ESP8266 micro controller
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.
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!
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.
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.
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.
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.
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!
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.
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.
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.
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!
I bought a cheap PVC pipe to use as the metal light pole and just fabricated the base, cap, and mounts. I then painted everything with silver/metallic paint which came out much better than I expected. I had to sand the smooth PVC pipe a bit which gave the paint a grainy metal finish which was perfect.
The base fit the PVC pipe perfect, thanks to my trusty digital caliper. The base is slightly hollow to allow the ESP8266 controller to fit within the base flush. The only thing that is needed is a 5v micro USB cable which I left a cutout for.
Above is the C/C++ source code for the light itself. In order to keep code flexible, it acts as a thin client that connects to WiFi and listens to requests on the LAN via UDP packets to port 31337. I chose UDP just to keep it simple. I didn’t need any packet acknowledgement because I consider this low priority traffic (pun intended).
Basically light turns on, connects to wifi, then waits for a light pattern to be received. The pattern then plays continuously until the next pattern is given. The code is organized as a basic solid state machine with only 2 states for the time being.
The pattern string is 2 characters.. “XY” where X is the color (or brightness intensity) and Y is the time interval. R is red, Y is yellow, G is Green, C is clear. If the first character is a number 1-5, then that signals (pun intended) the light to change the brightness. Finally, the letter E specifies the end of the sequence.
For example, “11R5C1R355Y3C5E” – Sets brightness low, then long red light, quick clear, medium length red, set max brightness, medium length yellow, then clear for a long time, then repeat. Currently there is no way to turn on more than 1 light at a time.
The server side code is where all the heavy lifting gets done to monitor weather, stocks, pings, and other fancy events. I thought about building all that into the light to be standalone, but then realized how spoiled I am with high level coding and didn’t want to bother.
I’ll post the server-side code later after a bit more work. It’s running on Python 3 right now. I’m currently working on it to allow “plugins” so anybody can add a plugin for “weather”, set their own thresholds, and design their own light patterns for each event.
Ok, I got kind of lazy here. I used hot glue to mount the ESP8266 board to the bottom, and used an old broken USB cable to power it via the Vin pin. The board itself runs at 3.3v but the Vin pin accepts 5-20V dc. The broken USB cable red/black wire is a 5V/gnd and I cut off the extra data cables.
I’ve been running this and slowly iterating the code on the server-side. It works great, just writing new plugins when I get the time.
The big black panel was 3D printed.. what a waste of time. Next build I would opt to use the laser with a piece of acrylic or plexiglass instead just for durability and time savings.
Emma’s paint collection is getting pretty big. It was impractical to find colors in her basket, so I decided to create some parametric wall-mount removable paint racks to hold her Apple Barrel paint collection.
CO2 laser cutter
5mm birch wood
I wanted the racks to be easily removable so I made slots for the screws to easily go in at the ends of the rack. I initially made it to hold 12, but it ended up being too wide.
I would post the Lightburn/SVG/DXF files, however, the design is dependent on the thickness of the material. 1/4 inch MDF ranges from 5.5-6.3 mm. The birch I used was 5mm. Also, the laser kerf (thickness of the laser cut) even though small, may be different than your machine. To do it right, you really need to open the file in Fusion and save the sketches yourself after updating the parameters.
The design is completely parametric so the bottle diameter, height, count, and material thickness are all customizable so I can use this to hold anything else like paint cans, sauce bottles and spices, etc.
Birch wood seems to have a lot of ash when cut on the laser so I had to take a damp towel to clean off the edges otherwise the glue job is a complete mess.
The stock I used was slightly curved which caused distance issues with the laser’s focal point. Not a big deal, but I should add some weights next time to flatten out the stock
Rubber bands are not ideal for gluing things. After the initial prototype, I utilized some strategically placed clamps and the result was much better. Also, if the wood is slightly curved, I realized that you can use the curve to your advantage to put pressure on the connecting edges.
I did a first draft in fusion that was all one piece to test the stability and sizing. 3 fins for balanced stability, a bulge-y toy like rocket shape, and some windows for fun
The first pass at it was pretty good. I wanted to make sure the bottom had a hole for the cone, so I wouldn’t have to worry about cleaning up leaky cones. Also, i set the height to try to make the tip of the cone look like the flame.
Emma did QA testing on the first design by eating a lot of ice cream. She knocked it over once, which made me make the fins wider. From a physics standpoint, the scoop of ice cream can not extend past the imaginary triangle drawn between base.
I was kind of worried about kids getting their fingers stuck in the window holes, so I filled them up and decided to add a 3rd color. Also, the windows have a raised texture to provide better grip. Version 2 fins were glued in (using a 3D pen). This version has no glue! The fins were redesigned with tabs that pop in to the silver base. It did require some sanding to account for the tolerance of my printer. The windows were a tight fit, but popped right in with some light force.
And here is the final design!
None. I never make mistakes.
Just kidding, this is the best part. I actually had several fails related to the same issue. I printed the silver body upside down to avoid adding support material, however, because of the smoothness of the PLA, the piece did not adhere and the prints messed up several times. To fix this I added a “raft” support that you can see in the pictures below which is just disposable material that easily separates from the print, to allow for more adhesion area.
Although the black windows push in and are firm, I would consider adding some tab to help keep it in place. For the fins, PLA is not a very flexible material and will snap. This is called low “tensile” strength which is the amount of give before it breaks. If I were to use something more flexible, I would add tiny clips to the fin notches, so that it could snap into place. Right now the fins push into place, but without any material flexibility to snap and keep it in place.
After more QA testing, I’ve found that not all cones fit this. Keebler sugar cones are too long. Great Value ones work fine. I need to update the fins to make them longer.
I receive (and send) lots of packages from my front door. I love creating scaled versions of things, particularly undersized. I decided to recreate a small version of the classic USPS mailbox for my front door as a place for packages to be held.
Additionally, my idea is to add LEDs, a camera, and make it WiFi enabled so I can monitor at all times, assuming the delivery carriers understand what it’s for. Hopefully I can make it intuitive enough but still retain the classic unmistakable design.
I envisioned this to be about 2 feet tall. The parametric design would let me adjust the dimensions. The hardest part of the design (and newest challenge for me) is the curved top. So far, everything I’ve created is pretty square. For this, I’ll have to use some tricks to make the curved top.
Cutting this took forever! It’s basically an alternating pattern of cuts. In Fusion360, I measured the inner curve length, and built a new piece based on that. The outer curve length is irrelevant for this because the cuts would provide the longer length that I need.
It came out super bendy! So excited. After test fitting the top curve, in the future, I’m going to make the piece slightly shorter than the inner curve surface. Even the the top is doing most of the stretching, the bottom also stretches as well so leaving some room would do just fine. I didn’t leave any tolerance to i had to really tape down the piece well during the gluing process.
Always remember to use the correct height when setting your laser/bed distance. The laser beam is hourglass shaped, and the middle of it should be the middle of your material. I didn’t quite adjust it right so the edges were slightly angled and required a little sanding.
Emma wanted to be the first one to deliver a message in the new mailbox. She is the best!
I had a difficult time deciding on the right amount of storage. I think the majority of packages will fit in here. it’s roughly 13x13x17.
Glued all the pieces together. I used tape to hold down the top curved wood while using wood glue. Everything came together as expected!
After painting, I added the logos and also lined the inside with colorful rainbow card stock. I also added a little disclaimer label in case somebody actually believes it’s a real mailbox.
Here is the mailbox with all the logos and actually being used outside!
MDF legs on concrete are not great. I’m going to design flexible TPU feet for it to protect it from bumps and scrapes, but also leave it off the ground to prevent moisture.
My original designs were built for 6.4mm MDF. I adjusted the material thickness to 8mm, then generated this STL for flexible TPU. The reason is that I’ve found that TPU needs quite a bit of tolerance. Even if there is extra room, I can fill it with glue.
20% flexible TPU infill + 2mm tolerance fit perfectly! The flexible material really helps to protect the piece and also prevent it from sliding.
Using double sided padded tape, I mounted a camera to the top and now get motion alerts. Going to finally put this project to rest for awhile. Thanks for reading!
Machines that serve a single purpose are fun. But it’s even more fun to combine different materials and machines. I decided to make drink coasters that were laser cut out of foam place mats and print 3d coasters and a holder to test all my filaments for moisture.
cork placemats from IKEA
tons of different filaments (PLA and wood)
This build is pretty simple. I cut out 80mm circles from the cheap cork placements I got from IKEA.
The real reason to make these is to test my filament. All filament spools are subject to moisture which causes print quality to have issues. With PLA, you will hear cracks and pops (which is the water vaporizing at 200C) and the prints will become flakey and uneven.
Several of my PLA spools were damanged from long term exposure to humidity. If you want to test filament without printing, simply bend it and if it snaps easily, then there is moisture in it. Good dry filament should be able to be bent (permanently deformed) but not snap.
In order to fix filament, you can put it in the oven at about 140F-160F for a few hours.
I didn’t want to use the oven and preferred to do a longer slow moisture extraction, so I used my food dehydrator, removed the top, cut a circular hole in a cardboard box, and put the top of the blower in the hole. I also cut out air outlets at the bottom of the box to allow the air to flow out from top to bottom.
After drying out the filament, the prints started looking much better. No flaky surfaces or brittle filament. I then designed a holder for it that fits 6 coasters.
This special wood-infused filament can be stained like normal wood and even smells like charred wood when printing. Overall, happy with the coasters and it was a good exercise in understanding the affects of moisture and how to fix it and save my spools.
It’s not too late but I want to add engraved logos on the coasters to make them a little more interesting. Not sure what the logos should be yet, but it should be easy to throw under the laser and etch in.