Open Source: It’s The Little Things

I use open source software almost exclusively; at least on the desktop — the phone is another matter, sadly. And I do a lot of stuff with and on computers. Folks outside of the free software scene are still a little surprised when small programs are free to use and modify, but they’re downright skeptical when it comes to the big works of professional software. It’s one thing to write xeyes, but how about something to rival Photoshop, or Altium?

Of course, we all know the answer — mostly. None of the “big” software packages work exactly the same as their closed-source counterparts, often missing a few features here and gaining a few there, or following a different workflow. That’s OK, different closed-source programs work differently as well. I’m not here to argue that GIMP is better than Photoshop, but rather to point out what I really love about open software: it caters to the little guys and gals, the niche users, and the specialists. Or rather, it lets them cater to themselves.

I just started learning FreeCAD for a CNC milling project, and it’s awesome. I’ve used Fusion 360, and although FreeCAD isn’t “the same” as Fusion 360, it has most of the features that I need. But it’s the quirky features that set it apart.

The central workflow is to pick a “workbench” where specific tasks are carried out, and then you take your part to each bench, operate on it, and then move to the next one you need. But the critical bit here is that a good number of the workbenches are contributed to the open project by people who have had particular niche needs. For me, for instance, I’ve done most of my 3D modelling for 3D printing using OpenSCAD, which is kinda niche, but also the language that underpins Thingiverse’s customizer functionality. Does Fusion 360 seamlessly import my OpenSCAD work? Nope. Does FreeCAD? Yup, because some other nerd was in my shoes.

And then I started thinking of the other big free projects. Inkscape has plugins that let you create Gcode to drive CNC mills or strange plotters. Why? Because nerds love eggbots. GIMP has plugins for every imaginable image transformation — things that 99% of graphic artists will never use, and so Adobe has no incentive to incorporate.

Open source lets you scratch your own itch, and share your solution with others. The features of for-pay, closed-source software are driven by the masses: “is this a feature that enough of our customers want?” The features of open-source software are driven by the freaky ideas of nerds just like me. Vive la différence!

FreeCAD Debugging

Powerful software programs often have macro programming languages that you can use, and if you know how to program, you probably appreciate them. However, sometimes the program’s built-in debugging facilities are lacking or even nonexistent If it were just the language, that wouldn’t be such a problem, but you can’t just grab a, for example, VBA macro from Microsoft Word and run it in a normal Basic interpreter. Your program will depend on all sorts of facilities provided by Word and its supporting libraries. [CrazyRobMiles] was frustrated with trying to debug Python running inside FreeCAD, so he decided to do something about it.

[Rob’s] simple library, FakeFreeCad, gives enough support that you can run a FreeCAD script in your normal Python development environment. It only provides a rude view of what you are drawing, but it lets you explore the flow of the macro, examine variables, and more.

Continue reading “FreeCAD Debugging”

FreeCAD Parametrics Made Simple

Simple drafting programs just let you draw like you’d use a pencil. But modern programs use parametric models to provide several benefits. One is that you can use parameters to change parts of your design and other parts will alter to take account of your changes. The other advantage is you can use one model for many similar but different designs. [Brodie Fairhall] has a nice video about how to use parameters in FreeCAD.

The nice thing about parameters is they don’t have to be just constants. You can put in formulae as well. For example, you could define one line as being twice as big as another line. You provide various constraints and parameters and FreeCAD works out the shape for you, keeping all the constraints and formulae satisfied.

Continue reading “FreeCAD Parametrics Made Simple”

FreeCAD Vs SolveSpace

When you are ready to design real things, you’ll find simple CAD programs can be pretty limiting. Serious modern designs tend to use parametric modeling where you don’t necessarily set dimensions and positions of everything but instead constrain the design by describing the relationship between different elements. For example, you can create a vertical line and constrain other lines to be parallel, perpendicular, or form a given angle with that line. There are many tools that can do that, including FreeCAD and SolveSpace, two programs that [Joko Engineeringhelp] uses to create a complex compressor blade and it really shows the differences and similarities between the two tools.

You probably don’t need this particular design, but watching over someone’s shoulder while they do a complex design can be very valuable. Being able to see the differences between the two tools might convince you to learn one or the other or maybe even switch.

Continue reading “FreeCAD Vs SolveSpace”

Designing 3D Printed Enclosures For KiCad PCBs

If you’ve used KiCad before, you’re certainly familiar with the handy 3D view that shows you a rendered view of what your assembled board would look like. But as [Vadim Panov] explains, you can take this capability a step further. With a few extra tools and a little bit of know-how, you can leverage KiCad’s PCB renderings to make custom 3D printable enclosures.

The first step is to design the PCB as you normally would in KiCad. This could be an original PCB of your own invention, or a digital representation of an off-the-shelf model you want to build an enclosure for. If the latter, then the PCB doesn’t need to be 100% accurate; the goal is really just to get the big components into roughly the right areas so you can get the clearances right. Though obviously you’ll want to make sure the board’s outer dimensions and mounting hole locations are recreated as accurately as possible.

From there, [Vadim] recommends a tool called StepUp. This will take your PCB KiCad PCB files and create either a STEP or STL file of the assembled board which can be imported into your CAD package of choice. For the purposes of this demonstration he’s sticking with FreeCAD, as he likes the idea of it being a completely FOSS toolchain from start to finish.

Now that you have a model of the PCB in your CAD software, the rest is up to you. Naturally, there are existing enclosure models you can use such as the ones produced by the “Ultimate Box Maker” that we covered previously, but you could just as easily start building a new enclosure around the digital PCB.

Looking for a bit more guidance? As it so happens, our very own [Anool Mahidharia] will be presenting a class on how you can develop a KiCad + FreeCAD workflow as part of our recently launched HackadayU initiative.

FreeCAD TechDraw Workbench Tutorial

FreeCAD started out a little shaky, but it has gotten better and better. If you are trying to draw a schematic, it probably isn’t the best way to do it. However, it is a great graphical alternative to OpenSCAD for 3D printing and even incorporates OpenSCAD if you don’t want to choose. However, if you have a 3D part — regardless of how you want to create it in real life — having a proper mechanical drawing is very valuable. FreeCAD’s TechDraw workbench makes this very easy and [Joko] has a tutorial that shows exactly how to do it.

Machinists everywhere are used to looking at these drawings that typically show a top view, a front view, and a side view. The program will automatically project the views you select and then allows you to pick dimensions. It creates them and keeps them up to date if you change them in the model later.

Continue reading “FreeCAD TechDraw Workbench Tutorial”

3D Printing New Cases For The TS100 Soldering Iron

About a year back, [BogdanTheGeek] found himself in need of a new case for this TS100 soldering iron. Unfortunately, while the product is often billed as being open source friendly (at least in the firmware sense), he was surprised to discover that he couldn’t find the detailed dimensions required to 3D print his own replacement case. So he took it upon himself to document the case design and try to kick off a community around custom enclosures for the popular portable iron.

The main goals while designing the replacement case was to make it printable without support, and usable without additional hardware. He also wanted it to be stronger than the original version, and feature a somewhat blockier design that he personally finds more comfortable. The case was designed with PLA in mind, and he says he’s had no problems with the lower-temperature plastic. But if you’re still concerned about the heat, PETG would be an ideal material to print yours in.

It took him many attempts to get the design to where it is today, and still, there are improvements he’d like to make. For one, there’s no protective cover over the iron’s OLED screen. He’d also like to make the switch from SolidWorks over to FreeCAD so the project is a bit more accessible, and says he’d appreciate anyone who wants to chip in. We’re excited to see what develops once the hacking world realizes that there are accurate open source CAD files for the TS100 floating around out there.

Our very own [Jenny List] put the TS100 through its paces not so long ago, and found a decidedly solid little tool. While it won’t replace your high-end soldering station, it’s very convenient for quick repairs and simple tasks, especially if you find yourself away from the workbench proper.