Is Fusion 360 Really My New Favorite CAD Tool?

Spoiler Alert: Yeah, I think it is.

I’ve been forcing myself to solely use Autodesk’s Fusion 360 for my personal projects for almost 2 years now and I’m starting to kinda fall in love with it. I say ‘force’ because it is so easy to give up on a new tool and go back to what you are comfortable with. When it comes to CAD, for me, that is Solidworks. It’s used everywhere, is great for high part count assemblies, and has amazing add-ons. It is the default. But for a number of reasons, not the least of which is cost, I decided to give Fusion 360 a shot and see if it could become my go-to CAD software for my personal projects. I figured, I would take it as far as I could and if it left me needing more, I would abandon it and go back to my trusty Solidworks (courtesy of an employer-provided license).

Over a year and change later, I have yet to be roadblocked by my decision to use Fusion 360. In fact, I have been pleasantly surprised at the pace of development by the Autodesk team. Fusion 360 updates roll-out regularly and the patch notes are transparent and useful. Somewhat recent additions, like merging in Eagle functionality, are huge undertakings that really improve the workflow of an Engineer like myself. I’ve been a longtime user of Eagle (way before Autodesk acquired them), and have been impressed with where that project was heading, but to then have that functionality pulled into Fusion 360 as well is incredible and really increases the value proposition of a Fusion 360 license.

To really get a feel for Fusion 360, I had to do as many apples-to-apples comparisons with SolidWorks as I could. I knew the workflow was different, so I didn’t let that tarnish my experience as much as I could avoid it. It’s true, you have to shift a little bit, but I actually found it far easier of a transition than some online commenters made it seem. I took a couple assemblies I had created in SW and re-created them from scratch in F360. One of them was a model of my favorite pen, the Zebra F301. And although, I still had a lot to learn about Fusion 360, I was able to get to a reasonable level of detail in my model in a fairly short amount of time.

I set myself a few other tasks to do some more forced learning of the various tools available in F360 and watched a decent number of the free tutorials on Autodesk’s website. Soon, I was feeling pretty confident and was able to tackle some actual design projects. So, I started working on an idea I’d had for my son’s crib. I wanted to make a baby mobile that used a camera and a neural net to determine when my son’s eye’s were open and activate it’s own motion. So, basically, eyes open, mobile spins. Eyes close, mobile slows to a stop. I’ll create a more detailed post on this project later, but suffice to say, Fusion 360 was up to the task. Is my baby mobile beautiful and perfect? No, but I was able to create what I had sketched, 3D print, assemble, and functionally test the project in a very short timespan thanks to Fusion 360.

All-Seeing Eye Baby Mobile

In the year or so since, I have designed around 50 projects of wildly varying complexity in Fusion 360 and have been incredibly happy with my experience. I even undertook a One-A-Day challenge (separate post to follow) and the ease of the Fusion 360 workflow really helped me churn out new designs each day even when they were terribly uninspired. When I was looking for an excuse to not create something, Fusion 360 gave me no friction and I found once I sat down and started sketching something, F360 just got out of my way.

So, would I never look back? Am I forever done with SolidWorks? Naw. If I’m given a license or easy access to a workstation, I would still be happy to use SolidWorks. I still love it (not the cost or Windows-only). Buuuut, I gotta admit, Fusion 360 is my new favorite. It is easy to be productive in it, the integration with Eagle is great, the cadence of updates is awesome, CAM tools are wonderful, cost is attractive, and cross-platform availability is a huge win. If you are a Mechanical Engineer, an EE who want’s to make your own enclosures, a maker, or a student, I highly recommend giving Fusion 360 a shot. I think you might start falling for it as well.

I’m in a commercial!

Here it is. Our first connected product is being launched into the world. Introducing, Glow! Proud to have worked with such an amazing team on this product. So much fun to see early prototyped interactions turn into a full fledged product.

The first connected product for Casper

It’s The Simple Things In Life…

Like many engineers, I tend to dive deep on technical matters and get a bit lost before coming up for air and realizing that maybe a simpler solution would’ve been the right approach after all. As I’ve grown older, I’ve also gotten better at noticing this tendency and steering myself away from it whenever possible. Sometimes I succeed, other times I fail. However, I have slowly started to appreciate the simplicity of a less designed solution. 

“Maybe we should add a few more tires… for redundancy.”

One way I try to practice this simplicity is by going through my list of “Problems in Need of Solutions” (this “need” for solutions is highly subjective as you’ll see later) on a regular basis and forcing myself to create as simple a solution as possible. Often times, I’ll take the first thing that comes to mind as a potential solution, lightly review it for feasibility, and then begin the process of making a next solution with the only additional challenge of having to be easier to implement than the previous idea. 

  • Step 1 – Identify a problem
  • Step 2 – Write down / sketch anything that works
  • Step 3 – Make something simpler than the last idea
  • Step 4 – Repeat Step 3

I would love to be able to say that I am great at this and have opened up a wonderful world of perfect engineering and design that would melt your face like the Ark of the Covenant if you were to ever lay eyes upon it, but alas, that is not the case. But by consciously following this process, it has helped me re-evaluate my own approach to many problems. 

It’s so simple, so elegant! Aaaaaaahhhhhh!

Occasionally, by following this above practice, I end up with something that gets used frequently, disappears into the background, and elicits a smile every time I think about its minuscule contribution to my life. One such object that I’ve recently made and get far more joy out of than any human rightly should is a small C-clip that fits the neck of SoftSoap dispensers and restricts the pump travel. 

Behold… salvation!

Why does something so small, simple, and possibly stupid bring me so much joy? I think it’s partly due to it being some kind of intensely benign attack against our corporate overlords who foolishly think they can pull the wool over our eyes and steal our hard earned dollars through means of over-dispensing liquid soap containers. But also, it is something that just does what it does. It is simple. It fits properly, the height is dialed in for the right amount of soap to be dispensed, and it isn’t a permanent modification. I started with much more complex approaches involving custom dispensers with monitoring abilities and feedback loops, then moved on to some adjustable universal clamp designs that could go on any kind of pump, but ultimately, I settled on a dirt simple extruded C clip. And I couldn’t be happier.

So, go look at all the tiny little things in your life that annoy you and solve just one of them. Don’t be crippled by thinking your next design has to solve world hunger and don’t overcomplicate things. Design something simple and bathe in that simplicity. 

Want to print a Softsoap Pump Clip of your own?

Grab the STL over at Thingiverse:  https://www.thingiverse.com/thing:2875359

Ultrasound Parks My Car

Every day I back my Toyota 4Runner into my garage at home. I have a backup camera which makes it very easy to not hit anything. But that’s not good enough. I like to maximize my available space and this requires me getting my truck just barely inside the garage door. My quest for the perfect parking job has cost me one slightly bent garage door handle. I do have some visual aids in the garage which get me fairly close, but these all rely on me aligning them to something in the car which means there’s tons of error due to parallax. I can do better than this…

So I decided to use a sensor to detect my distance and tell me when I had reached the perfect distance for parking. There are many options, but I wanted a fairly fast sample rate (~10hz) and max range wasn’t a huge issue since the maximum distance I cared about was only the length of my garage. I decided to go with a cheap ultrasonic ranging sensor (HCSR04 Datasheet). It’s a very simple sensor to work with. You just pull the trigger line high for 10uS, the device then sends out an 8 cycle burst of sound at 40kHz. I then just wait for the ‘Echo’ line to go high and time how long it stays high. I can then calculate the distance that the sound burst was able to travel in that amount of time.

Getting distance measurements was fairly easy. I then needed to be able to see this distance value as I backed up my truck. For display, I used an Osepp LCD Keypad Shield I had been working with on another project. It has a blue background and nice bright characters. Driving an LCD with an Arduino is dirt simple. I just used the built-in LiquidCrystal library in Arduino and it worked like a charm.

An Arduino Uno, an ultrasonic sensor, and an Osepp display shield ready to be joined together like Voltron.

 

An Arduino Uno, an ultrasonic sensor, and an Osepp display shield ready to be joined together like Voltron.

The image above shows the modules I used for this project. I decided to solder some male->female jumper leads onto the LCD shield to make it easier to connect the ultrasound rangefinder and position it wherever I wanted during testing.

Utmost craftsmanship goes into testing the firmware and getting some real-world values for where I need to park my car.

 

Utmost craftsmanship goes into testing the firmware and getting some real-world values for where I need to park my car.

I crudely taped the unit to the wall at about the same height as my backup camera on my 4Runner. This allowed me to get some quick measurements of an ideal distance as seen by the sensor. Turns out, the perfect parking distance for my truck in my garage is 87cm from where I expertly taped this sensor.

Things I learned:

  • Arduino proves once again to be super easy to work with
  • The display looks great, but it is difficult to view through my backup camera
  • 87cm is the perfect parking distance to allow my hatchback to open and not hit my outdoor gear on the wall.

Next Steps:

  • Explore other display options (big 7-segment, colored LEDs, etc)
  • Explore different types of feedback (audio, mechanical)
  • Make the unit shutdown the display until it is needed.
  • Design a custom housing (either vacuum formed or 3D printed)

Here’s some rough sample code:

#define trigPin 3
#define echoPin 2

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print(“Parking Distance:”);
}

void loop() {
long duration, distance;
lcd.setCursor(7,1);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance >= 300 || distance <= 0){
//TODO: Turn off Display
}else {
lcd.print(distance);
lcd.print(” “);
}
delay(100);
}

The Music of The Data Bus

One thing I’m really into is sound. A long time ago, I taught sound design and synthesis at a design college and loved being able to surround myself with everything audio. I still like to explore this area of creativity, but sometimes that can be tough to do. Especially when you are spending your days working in a very analytical mode. So, for this project, I figured “Why not combine the two?” I decided to make something to mash the two hemispheres of my brain together.

After some brainstorming and looking around my office to see what things I was currently working on that might fit, I came upon the idea of listening to the ‘music’ of a data bus. I had just finished designing a modular, CAN-based system and was fairly deeply immersed in the details of the internal communication bus. While watching data packets stream past my eyes for a few hours, I got the idea of listening in on them instead of watching them.

The idea was simple. Create an interface to the bus I just created, listen in on packets as they passed by, and trigger sounds based on the distinguishing features of these packets. I used a Microchip MCU for the brains and an MCP2551 as the CAN transceiver. The unit would listen for CAN packets, parse them, retrieve a certain value within the packet, and then turn around and output MIDI data over the serial output of the microcontroller.

Data Bus packets to MIDI device
Inside the box is a microcontroller that listens to CAN packets coming into the ‘Data Port’ and outputs MIDI note data based on the parsed values.

 

The end result was a fairly periodic recording where one can hear the late arrival of some packets from time to time. Enjoy!

 

Vacuum forming in the kitchen

Warning: Always make sure your work area is properly ventilated and know the materials you are working with.

NOTE: This is post from about 2013 that I am just now getting around to publishing. Please excuse any dated references. 

I wanted to experiment with some vacuum forming at home and found a great Instructable (Here) by drcrash that I used as reference. I won’t replicate those instructions here because once you understand the basic idea, you really can create your vacuum forming rig however you’d like.

In a nutshell, you want a frame that can withstand high temperatures into which you will mount a piece of thermoplastic. For your base, you want an airtight (as much as possible) seal between your frame’s bottom and the orifice connected to your vacuum source. You heat the thermoplastic up until it is soft and pliable, then you pull the plastic over your desired object while the vacuum is running. You push your frame down against your seal and the air is evacuated around your part. The soft plastic is suctioned around your part, it cools, and you are left with a plastic shell of your desired object. That is all there is to it. The rest is just details about material selection, distributed airflow, proper sealing, and master part design considerations.

supplies
Screen frame material, weather stripping, metal binder clips, & metal corners for the frame.

The materials are fairly inexpensive, I found the Instructable linked above to be fairly accurate regarding costs. Honestly though, you could make this rig even cheaper. Again, it is a simple concept that can be elaborated upon as far as your desire/pocketbook allows. Hack-sawing aluminum screen frame material is NOT the most ideal way to miter your corners. Mine came out pretty sloppy and if I were to make more frames, I’d use a band-saw with a jig.

metal frame
Metal frame all ready to go.

Regardless of the pain that was my hack-sawing adventure, the frame still came out fairly good. Not a perfect frame by any means, but it pulls just fine in the final rig.

Full assembly of vacuum forming rig
Vacuum forming base on stands with vacuum hose attached.

This is the entire rig fully assembled in my garage before it made its way into my kitchen for the actual vacuum forming process. I have a sample piece of plastic loaded into the frame ready to go. The hose coming out the bottom leads to my shop vac.

Vacuum forming base
Vacuum forming base with small, 3D printed shape over which the material will be pulled.

The photo above shows the small 3D printed part I prepped to be pulled. I was using this small dome for an LED enclosure of a small lighting project I was working on. The part is stuck to a small platform with some putty and this small platform is then resting on some folded mesh screen material. This allows the air to flow all around the part. The vacuum port is located beneath this mesh.

Thermoplastic in the oven
Thermoplastic in the oven

Ahh, the smell of fresh plastic in the oven. I keep all windows and doors open while I’m doing this to make sure my kitchen is properly ventilated. When the plastic starts sagging uniformly, it’s time to start the pull.

 

Final Verdict

If you don’t mind the smell, or have a spare oven lying around, this method works quite well. I wouldn’t suggest this for any production parts, but for roughing out an early concept or just validating a design before you pay to have someone else pull it for you, this is a very easy to do project at home/in the lab. Everything comes down to how good your seal is and how much vacuum pressure you have. My parts came out decent enough for the molds I was working on, but there was definitely loss of detail in some finer features. I recommend any hobbyist / professional designer have this skill in their tool belt. It doesn’t have to be perfect, sometimes, you just need a vacuum formed part today.

 

Projects on the move!

I’m currently in the process of moving all of my projects over to posts in WordPress. Stay tuned for more nerd eye candy.

In the meantime, enjoy this picture of a block of machinable wax I was machining on a Sherline bench top CNC mill. This was the master that I then used to create a silicon mold and cast some clear resin shapes for a project I’ve been working on.

IMG_0033.JPG

And here are some of the molds and castings.

IMG_0213.JPG

Hand-bent curved acrylic housing for Sherline

IMG_0216.JPGI was recently working with our Sherline desktop CNC mill and got fed up with the ancient PC Sherline provided with the unit. I decided to upgrade the rig myself and quickly located a usable and fairly modern PC. Using the linuxCNC live image, I was able to get the system up and running fairly quickly, but now needed to deal with how to drive the mill’s stepper motors. Sherline provides a stepper motor driver assembly that is housed within the decaying PC tower I so desperately wanted to upgrade from, so I gutted the tower and excised the driver board with the 24V power supply they were using to power it. The stepper motor driver uses a parallel port and since those can’t be found on a modern PC, I had to locate a PCI card that would work. Luckily, a local vendor had one in stock. I installed that bad boy and it worked like a charm under Linux. A quick test with the powered driver board showed this was going to work, so I turned my attention to housing the driver assembly in a new case.

I’ve been working with our laser cutter for a while now and felt confident I could design and fabricate a chassis that would bolt together using some kind of joinery technique. I sketched a couple designs on paper, but I wasn’t loving the look. Wanting to make it more of a challenge, I wondered if I could make a curved surface design of some sort. I hadn’t worked with shaping acrylic yet, but knew it was a thermoplastic and figured I should give it a try. I grabbed my trusty heat gun, some scrap metal and a vise or two and gave it a go. After a couple test runs, I was confident it could work. The hardest thing about bending acrylic is controlling exactly where the bend occurs and not stretching the material so much as to throw off your dimensions.

The images below show my final attempt. I was able to house the driver assembly inside a curved acrylic chassis. Though the dimensions aren’t perfect and there are some alignment issues, it is a completely usable housing. What I learned after this project is that bending against a form yields far more accurate results than the rig I was using to get these bends. I look forward to trying this again soon.

 

IMG_0217.JPG

 

Pick a Color… Any Color!

Gotta love Arduino!
Made a quick demo to show PWM intensity control of Red, Green, and Blue LEDs in a rotary encoder using the rotary encoder’s push button for channel selection and a 7 segment display to show the channel.

The rotary encoder in the pictures below contains three LEDS (Red, Green, & Blue).  They have a common cathode and so I tied their anodes each through a resistor to a separate PWM output of an Arduino Uno. This allowed me to adjust intensity of each independently with a value from 0-255. I then read the encoder output and push button state of the encoder (did I mention it has a push-button switch in it too? Yuup!) using a few more Arduino inputs. I used the push button to select which RGB channel the user was modifying and the encoder output to adjust the selected value. I then used a very inexpensive 7 segment display from Sparkfun with a built-in controller that accepts serial comms for control.

RGB Rotary encoder displaying full red color.
RGB Rotary encoder displaying full red color.

RGB Rotary encoder displaying full green value.
RGB Rotary encoder displaying full green value.

RGB Rotary encoder displaying full blue value.
RGB Rotary encoder displaying full blue value.

 

Using all built-in or easily available libraries from Arduino, I was able to have this entire demo functional in about an hour. After I had it functional, I easily spent hours just clicking the push button, selecting RGB channels and changing the mixture of Red, Green, & Blue. This was a simple demonstration meant to explore very minimal user interface options for input and control.

Total time spent making = 1 hour.
Total time spent mixing colors after the fact = too many!

RGB Rotary Encoder displaying PWM-mixed color as selected by user.
RGB Rotary Encoder displaying PWM-mixed color as selected by user.