Ask Hackaday: Help Me Pick A CAD Package

Of all the skills that I have picked up over the years as an engineer, there is one that has stayed with me and been a constant over the last three decades. It has helped me work on electronic projects, on furniture, on car parts, robots, and even garments, and it is likely that I will continue using it periodically for the rest of my career. You see, I am a trained PAD expert.

Don't build this, it's fundamentally flawed! Sometimes the front of an envelope is as effective as its back.
Don’t build this, it’s fundamentally flawed! Sometimes the front of an envelope is as effective as its back.

PAD, you ask? OK, it’s an acronym of my own coinage, it stands for Pencil Aided Design, and it refers to the first-year undergraduate course I sat many years ago in which I learned technical drawing to the old British standard BS308. If I’m making something then by far the quickest way for me to visualise its design is to draw it, first a freehand sketch to get a feel of how everything will sit, then a series of isometric component drawings on graph paper with careful attention to dimensions and angles. Well, maybe I lied a little there, the graph paper only comes in when I’m doing something very fancy; the back of an envelope is fine as long as the dimensions on the diagram are correct.

An Envelope Will Only Take You So Far

Working on paper is fine for the situations in which I tend to use it, running bits of wood or sheet metal through a bandsaw or pillar drill, leaning on the sheet metal folder, and filing intricate parts to shape by hand. It’s quick and simple, and the skills are intuitive and long-held. But it is of course completely useless when applied to any computer-driven manufacturing such as a 3D printer, and for that I will need a CAD package.

I’m not averse to CAD and my holding out with paper is only due to familiarity, but I have to admit that I have never found a package to which I have successfully made the jump. My need for it has been too infrequent to either take the time to scale the learning curve or for my new-found knowledge to stick. Reaching for the trusty pencil has always been the easiest option.

Hacky Racers in action
Hacky Racers in action (Mark Mellors)

All this has however recently changed, for as regular readers may have noticed I have a bit of a thing for the British Hacky Racer series. If I am to perfect my design for a slightly ridiculous contraption that will clean up on the track, it makes sense that I crowd my hackerspace with little 3D-printed scale models before breaking out the welding equipment and hacking a frame together with 25mm OD square tube. I thus need to pick a CAD package, learn it, and set to work.

So what are my needs? I’m a Linux user, so while Windows-only software is worth talking about in the comments for other people it’s less useful for me unless it’s easy to run under WINE. It’s also worth making the point that while I’m not averse to paying for good software as I did for my PCB CAD package I’m not anxious to shell out business-grade sums for something I’ll use only occasionally. This is an arena in which many of the offerings are aimed at enterprises, and I simply can’t justify spending hundreds or thousands as they can.

Round up the Usual Suspects

Given those prerequisites, there are still quite a few options. In the open source arena there are SolveSpace and BRL-CAD which I have never tried, OpenSCAD which is probably not my cup of tea (change my mind if you like), and FreeCAD which has been my tool of choice for previous attempts to dabble. I must have missed some others, what are your thoughts? If I don’t mind free-as-in-beer software there’s always TinkerCAD in my browser, is that up to a Hacky Racer chassis design in 25mm square tube? And if I’m feeling brave enough to play with WINE then perhaps I can make something of RS DesignSpark Mechanical.

My trusty pencil has given me stalwart service over many decades, but while I’ll not be hanging it up entirely it’s time to move into the 21st century for my design work. Can you help me decide upon which CAD package will suit me best? Have I even found all the choices within my criteria? As always, the comments are open.

Lessons Learned From A 1-Day RTL-SDR Enclosure Project

[ByTechLab] needed an enclosure for his R820T2 based RTL-SDR, which sports an SMA connector. Resolving to design and 3D print one in less than a day, he learned a few things about practical design for 3D printing and shared them online along with his CAD files.

The RTL-SDR is a family of economical software defined radio receivers, and [ByTechLab]’s’ enclosure (CAD files available on GrabCAD and STL on Thingiverse) is specific to his model. However, the lessons he learned are applicable to enclosure design in general, and a few of them specifically apply to 3D printing.

He started by making a basic model of the PCB and being sure to include all large components. With that, he could model the right voids inside the enclosure to ensure a minimum of wasted space. The PCB lacks any sort of mounting holes, so the model was also useful to choose where to place some tabs to hold the PCB in place. That took care of the enclosure design, but it also pays to be mindful of the manufacturing method so as to play to its strengths. For FDM 3D printing, that means most curved shapes and rounded edges are trivial. It also means that the biggest favor you can do yourself is to design parts so that they can be printed in a stable orientation without any supports.

This may be nothing that an experienced 3D printer and modeler doesn’t already know, but everyone is a novice at some point and learning from others’ experiences can be a real timesaver. For the more experienced, we covered a somewhat more in-depth guide to practical 3D printed enclosure design.

[ByTechLab]’s desire for a custom enclosure was partly because RTL-SDR devices come in many shapes and sizes, as you can see in this review of 19 different units (of which only 14 actually worked.)

Xbox One X Gets Aluminum Laptop Makeover

While many a gamer was willing to brave hand-to-hand combat this Black Friday just to get a few bucks off of Microsoft’s premium-tier game console, [jomega] was already cutting his to pieces from the comfort of his own home. Not dissuaded by the system’s fairly high sticker price or relatively limited modding scene, he decided to transplant his Xbox One X into an incredibly slick laptop-style aluminum enclosure.

Turning a game console into a “laptop” is hardly new, Ben Heck has been doing it for over a decade now, but in general they tend to look pretty clunky. With a few exceptions, the builder’s goal is not so much to make the final result look sleek and professional, but simply to take their favorite games on the go. But from the start [jomega] wanted something that would not only allow him to take long walks in the park with Master Chief, but look gorgeous doing it.

One of his goals was to make the final device thinner than the original system, so the first step was to assemble virtual representations of the Xbox’s principal components in CAD to find the most efficient placement for everything. Long before the first pieces of aluminum were cut, [jomega] already knew where each part and screw was going to end up. The time he invested in planning out the build in CAD more than made up for itself when it came time to assemble the final product, and also means this design is highly reproducible should he decide to build another one on commission.

Even though the final system seems impossibly thin, no hardware or functionality had to be left out. Even the optical drive, which on the stock console is something of an afterthought to begin with in an era of digital downloads (rumor has it the next Xbox will drop optical discs entirely), has been retained. Special consideration did need to be given to cooling the 4K powerhouse though, and [jomega] warns that running the system with the case open or the fans off can have dangerous consequences.

Thanks to the Xbox One’s wireless capabilities (for both Internet connection and controllers), there’s a notable lack of ports on the case. This made the design a bit easier, as [jomega] really only needed to have a connector for the AC power cord in the back and a couple of holes for the system’s power, eject, and controller sync buttons. He did add in a USB port for convenience, but even that could be skipped to make things easier.

In the past we’ve seen some rather husky Xbox 360 laptop builds, and at least one attempt to build a more slimline version, but this latest entry in the long line of portable-ized Xboxen has set the bar very high.

Continue reading “Xbox One X Gets Aluminum Laptop Makeover”

Scratch-Building A Supersized Laser Cutter

Now that 3D printers have more or less hit the mass market, hackers need a new “elite” tool to spend their time designing and fiddling with. Judging by the last couple of years, it looks like laser cutters will be taking over as the hacker tool du jour; as we’re starting to see more and more custom builds and modifications of entry-level commercial models. Usually these are limited to relatively small and low powered diode lasers, but as the following project shows, that’s not always the case.

This large format laser cutter designed and built by [Rob Chesney] is meticulously detailed on his blog, as well as in the in the video after the break. It’s made up of aluminium profile and a splattering of ABS 3D printed parts, and lives in an acrylic enclosure that’s uniquely isolated from the laser’s internal gantry. All told it cost about $2,000 USD to build, but considering the volume and features of this cutter that’s still a very fair price.

[Rob] carefully planned every aspect of this build, modeling the entire machine in CAD before actually purchasing any hardware. Interestingly enough his primary design constraint was the door to his shed: he wanted to build the largest possible laser cutter that could still be carried through it. That led to the final machine’s long and relatively shallow final dimensions. The design was also guided by a desire to minimize material waste, so when possible parts were designed to maximize how many could be cut from a one meter length of aluminum extrusion.

The laser features a movable Z axis that’s similar in design to what you might see in a Prusa-style 3D printer, with each corner of the gantry getting an 8 mm lead screw and smooth rod which are used in conjunction to lift and guide. All of the lead screws are connected to each other via pulleys and standard GT2 belt, but as of this version, [Rob] notes the Z axis must be manually operated. In the future he’ll be able to add in a stepper motor and automate it easily, but it wasn’t critical to get the machine running.

He used 3D printed parts for objects which had a relatively complex geometry, such as the laser tube holders and Z axis components, but more simplistic brackets were made out of cut acrylic. In some components, [Rob] used welding cement to bond two pieces of acrylic and thereby double the thickness. Large acrylic panels were also used for the laser’s outer enclosure, which was intentionally designed as a separate entity from the laser itself. He reasoned that this would make assembly easier and faster, as the enclosure would not have to be held to the same dimensional tolerances as it would have been if it was integrated into the machine.

[Rob] gives plenty of detail about all the finer points of water cooling, laser control electronics, aligning the mirrors, and really anything else you could possibly want to know about building your own serious laser cutter. If you’ve been considering building your own laser and have anything you’re curious or unsure about, there’s a good chance he addresses it in this build.

Short of having the fantastically good luck to find a laser cutter in the trash that you can refurbish, building your own machine may still be the best upgrade path if you outgrow your eBay K40.

Continue reading “Scratch-Building A Supersized Laser Cutter”

Mastering OpenSCAD Workflow

As you may have noticed in our coverage, we’re big fans of OpenSCAD around these parts. The fact that several of the Hackaday writers organically found and started using the parametric CAD package on their own is not only a testament to our carefully cultivated hive mind but also to the type of people it appeals to. Hackers love it because it allows you to model physical objects as if you were writing software: models are expressed in code, and its plain text source files can be managed with tools like git and make. If you’re a real Pinball Wizard you could design objects and export them to STL without ever using a graphical interface.

But as you might expect, with such power comes a considerable learning curve. OpenSCAD devotee [Uri Shaked] recently wrote in to share with us his workflow for designing complex interacting mechanisms, which serves as an excellent primer to the world of parametric design. From animating your models to recreating the “vitamins” of your build, his post contains plenty of tips that can help both new and veteran OpenSCAD users alike.

Perhaps the biggest takeaway from his post is that you should be thinking of your projects as a whole, rather than as individual models. [Uri] recalls his early attempts at designing mechanisms: designing each component individually, printing it out, and only then finding out if it fits together with the other pieces. This method of trial and error is probably familiar to anyone who’s designed their own 3D printed parts — but it’s slow and wastes materials. The alternative, as he explains it, is to design all of the pieces at the same time and “assemble” them virtually. This will allow you to check clearances and fitment without dedicating the time and materials to test it in the real world.

In fact, as [Uri] explains, you’re better off spending your time bringing real-world parts into OpenSCAD. By carefully measuring the hardware components you want to interact with (servos, gears, switches, etc), you can create facsimiles of them to use as a reference in your OpenSCAD project. As time goes on, you can build up your own library of drop-in reference models which will accelerate future designs.

He also spends a little time talking about something that doesn’t seem to be terribly well known even among the OpenSCAD converts: you don’t have to use the built-in editor if you don’t want to. Since OpenSCAD source code files are plain text, you can write them in whatever editor you like. The OpenSCAD model viewer even has an option specifically for this scenario, which will cause it to update the rendered preview as soon as it detects the source has been updated. For [Uri] this means he can create his designs in Visual Studio Code with a constantly updating preview in another window.

If you’re looking for examples of what the parametric capabilities of OpenSCAD can do for you, we’ve got no shortage of excellent examples. From creating customized computer cases to saving time by using mathematically derived components. Our very own [Elliot Williams] even has a write up about that most glorious of OpenSCAD commands: hull().

3D Printering: When an STL File is Not Quite Right

STL files are everywhere. When there’s something to 3D print, it’s probably going to be an STL. Which, as long as the model is good just as it is, is no trouble at all. But sooner or later there will be a model that isn’t quite right in some way and suddenly project progress hits a snag.

When models interface with other physical things, those other components may not always be exactly as the designer expected. Being mindful about such potential inconsistencies during the design phase can help prevent problems, but it’s not always avoidable. The reason it’s a problem is because an STL file represents a solid model as a finished unit; it is not really intended to be rolled back into CAD programs for additional design changes.

STL files can be edited, but just like re-modeling a component from scratch, it can be a tricky process for those who don’t live and breathe this stuff. I’ll describe a few common issues related to STLs that can hold up getting that new project together, along with ways to deal with them. Thanks to 3D printing becoming much more commonplace, basic tools are within reach of even the least CAD-aware among us.

Continue reading “3D Printering: When an STL File is Not Quite Right”

Digikey Tips Its Hat To Kicad With Its Own Library

Digikey might wow us with their expansive stock, but now they’re wowing us with a personal gesture. The US-based electronics vendor is nodding its head in approval to KiCad users with its very own parts library. What’s more, [Chris Gammell] walks us through the main features and thought process behind its inception.

With all the work that’s going into this library, it’s nice to see features showing that Digikey took a thorough look at KiCad and how it fits into the current state of open-source PCBA design. First off, this library follows a slightly different design pattern from most other KiCad libraries in that it’s an atomic parts library. What that means is that every symbol is linked to a specific manufacturer part number and, hence, gets linked to a specific footprint. While this style mirrors EagleCad’s; KiCad libraries usually separate symbols from footprints so that symbols can be reused and parts can be more easily swapped in BOMs. There’s no “best” practice here, so the folks at Digikey thought they’d expose the second option.

Next off, the library is already almost 1000 parts strong and set to grow. These aren’t just the complete line of Yageo’s resistor inventory though. They actually started cultivating their library from the parts in Seeed Studio’s open parts library. These are components that hobbyists might actually use since some assembly services have a workflow that moves faster with designs that use these parts. Lastly, since all parts have specific vendor part numbers, BOM upload to an online cart is more convenient, making it slightly easier for Digikey to cha-ching us for parts.

Yes, naysayers might still cry “profit” or “capitalism” at the root of this new library, but from the effort that’s gone into this project, it’s a warm gesture from Digikey that hits plenty of positive personal notes for hobbyists. Finally, we can still benefit from plenty of the work that’s gone into this project — even if we don’t use it as intended. The permissive license lets us snag the symbols and reuse them however we like. (In fact, for the sharp-eyed legal specialists, they actually explicitly nullified the clause stating that derivative projects need not be licensed with a creative-commons license.)

With maturing community support from big vendors like Digikey, we’re even hungrier to get our hands on KiCad V.

Continue reading “Digikey Tips Its Hat To Kicad With Its Own Library”