FreeCAD Takes Off With A Rocket Design Workbench

Here’s how FreeCAD works: the program’s design space is separated into different “workbenches”, each of which is intended for a particular set of operations, and a piece of work can be moved between them as needed. There is a sketching workbench, a part design workbench, and now a Rocket workbench has been added to the healthy ecosystem of FreeCAD add-ons. There’s even a series of video tutorials; ain’t open source grand?

It all started when [concretedog] posted on the FreeCAD forums, making a strong case for a Rocket-themed workbench. People got interested, and a short while later [DavesRocketShop] had some useful tools up and running. Here’s a blog post by [concretedog] which goes into detail and background, and while the Rocket workbench is available via FreeCAD’s add-on manager, the very latest experimental builds are available for manual installation on [Dave]’s GitHub repository.

This sort of development and utility is exactly the kind of thing our own Elliot Williams was describing when he made the point that one of open source’s greatest strengths is in the little things, like the FreeCAD ecosystem letting people scratch strange and specific itches, and the ability to share those solutions with others.

New Part Day: Onion Tau LiDAR Camera

The Onion Tau LiDAR Camera is a small, time-of-flight (ToF) based depth-sensing camera that looks and works a little like a USB webcam, but with  a really big difference: frames from the Tau include 160 x 60 “pixels” of depth information as well as greyscale. This data is easily accessed via a Python API, and example scripts make it easy to get up and running quickly. The goal is to be an affordable and easy to use option for projects that could benefit from depth sensing.

When the Tau was announced on Crowd Supply, I immediately placed a pre-order for about $180. Since then, the folks at Onion were kind enough to send me a pre-production unit, and I’ve been playing around with the device to get an idea of how it acts, and to build an idea of what kind of projects it would be a good fit for. Here is what I’ve learned so far.

Continue reading “New Part Day: Onion Tau LiDAR Camera”

A Look At The “Risky” Tech In NASA’s Martian Helicopter

On February 18th, the Perseverance rover safely touched down on the Martian surface. In the coming days and weeks, the wide array of instruments and scientific payloads tucked aboard the robotic explorer will spring to life; allowing us to learn more about the Red Planet. With a little luck, it may even bring us closer to determining if Mars once harbored life as we know it.

Among all of the pieces of equipment aboard the rover, one of the most intriguing must certainly be Ingenuity. This small helicopter will become the first true aircraft to take off and fly on another planet, and in a recent interview with IEEE Spectrum, operations lead [Tim Canham] shared some fascinating details about the vehicle and some of the unorthodox decisions that went into its design.

Ingenuity’s downward facing sensors.

[Tim] explains that, as a technology demonstrator, the team was allowed to take far more risks in developing Ingenuity than they would have been able to otherwise. Rather than sticking with legacy hardware and software, they were free to explore newer and less proven technology.

That included off-the-shelf consumer components, such as a laser altimeter purchased from SparkFun. It also means that the computational power packed into Ingenuity far exceeds that of Perseverance itself, though how well the helicopter’s smartphone-class Snapdragon 801 processor will handle the harsh Martian environment is yet to be seen.

On the software side, we also learn that Ingenuity is making extensive use of open source code. Not only is the onboard computer running Linux, but the vehicle is being controlled by an Apache 2.0 licensed framework developed by NASA’s Jet Propulsion Laboratory for CubeSats and other small spacecraft. The project is available on GitHub for anyone who wants it, and according to the changelog, the fixes and improvements required for the “Mars Helicopter Project” were merged in a few releases ago.

The fact that code currently ticking away on the surface of Mars can be downloaded and implemented into your own DIY project is a revelation that’s not lost on [Tim]. “It’s kind of an open-source victory because we’re flying an open-source operating system and an open-source flight software framework and flying commercial parts that you can buy off the shelf if you wanted to do this yourself someday.”

Of course, it took a whole lot more than some Python libraries and a handful of sensors from SparkFun to design and build the first space-going helicopter. But the fact that even a small slice of the technology inside of a project like Ingenuity is now available to the average hacker and maker is a huge step towards democratizing scientific research here on Earth.

Continue reading “A Look At The “Risky” Tech In NASA’s Martian Helicopter”

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!

Why Blobs Are Important, And Why You Should Care

We are extraordinarily fortunate to live at a time in which hardware with astounding capabilities can be had for only a few dollars. Systems that would once have taken an expensive pile of chips and discretes along with months of development time to assemble are now integrated onto commodity silicon. Whether it is a Linux-capable system-on-chip or a microcontroller, such peripherals as WiFi, GPUs, Bluetooth, or USB stacks now come as part of the chip, just another software library rather than a ton of extra hardware.

Beware The Blob!

An ESP-01 module
The cheapest of chips still comes with a blob.

If there is a price to be paid for this convenience, it comes in the form of the blob. A piece of pre-compiled binary software that does the hard work of talking to the hardware and which presents a unified API to the software. Whether you’re talking to the ESP32 WiFi through an Arduino library or booting a Raspberry Pi with a Linux distribution, while your code may be available or even maybe open source, the blob it relies upon to work is closed source and proprietary. This presents a challenge not only to Software Libre enthusiasts in search of a truly open source computer, but also to the rest of us because we are left reliant upon the willingness of the hardware manufacturer to update and patch their blobs.

An open-source advocate would say that the solution is easy, the manufacturers should simply make their blobs open-source. And it’s true, were all blobs open-source then the Software Libre crowd would be happy and their open-source nature would ease the generation of those updates and patches. So why don’t manufacturers release their blobs as open-source? In some cases that may well be due to a closed-source mindset of never releasing anything to the world to protect company intellectual property, but to leave it at that is not a full answer. To fully understand why that is the case it’s worth looking at how our multifunctional chips are made.

Continue reading “Why Blobs Are Important, And Why You Should Care”

What’s The Deal With Chromium On Linux? Google At Odds With Package Maintainers

Linux users are more likely than most to be familiar with Chromium, Google’s the free and open source web project that serves as the basis for their wildly popular Chrome. Since the project’s inception over a decade ago, users have been able to compile the BSD licensed code into a browser that’s almost the same as the closed-source Chrome. As such, most distributions offer their own package for the browser and some even include it in the base install. Unfortunately, that may be changing soon.

A post made earlier this month to the official Chromium Blog explained that an audit had determined “third-party Chromium based browsers” were using APIs that were intended only for Google’s internal use. In response, any browser attempting to access features such as Chrome Sync with an unofficial API key would be prevented from doing so after March 15th.

To the average Chromium user, this doesn’t sound like much of a problem. In fact, you might even assume it doesn’t apply to you. The language used in the post makes it sound like Google is referring to browsers which are spun off of the Chromium codebase, and at least in part, they are. But the search giant is also using this opportunity to codify their belief that the only official Chromium builds are the ones that they provide themselves. With that simple change, anyone using a distribution-specific build of Chromium just became persona non grata.

Unhappy with the idea of giving users a semi-functional browser, the Chromium maintainers for several distributions such as Arch Linux and Fedora have said they’re considering pulling the package from their respective repositories altogether. With a Google representative confirming the change is coming regardless of community feedback, it seems likely more distributions will follow suit.

Continue reading “What’s The Deal With Chromium On Linux? Google At Odds With Package Maintainers”

How The Gates (Almost) Stole Christmas

‘Twas the night before Christmas and all through the house
Blue screens were everywhere; no response from the mouse
Windows, it seems, had decided to die
Because it had updated; we didn’t know why
But Santa had a plan while we were all in bed
He reformatted our server and installed Linux instead
In the morning we rushed in and what did we see?
Programs were running, and most of them free!
There was Chrome and Open Office and emacs for me
Not a penny was going to Mr. Gates’ fee
Now we have no more blue screens, ever, of course
Because Santa turned us on to that sweet open source