Category Archives: Open Source

Shepard Test Stand is now OSHWA Certified Open Hardware

Mach 30’s first hardware project was the Shepard Test Stand, a piece of hardware we designed to run tests on commonly available Estes rocket motors. From day one, it was a piece of Open Source Hardware. Now it’s an Open Source Hardware Association (OSHWA) Certified Open Source Hardware, receiving serial number US000006.shepard-oshwa-cert

OSHWA created the program primarily as a way to help people identify that a piece of hardware meets the commonly accepted definition of Open Source Hardware. This includes such points as the ease of access to the documentation, licensing, and others. All of these items are related to keeping the hardware as accessible as possible for others to recreate it themselves, modify, or even use parts to create their own unique piece of work.

Mach 30 was invited to participate in a closed trial of the process to certify that a piece of hardware should receive the OSHWA Certified Open Source Hardware badge, and as such we were privileged enough to receive one of the first serial numbers, US000006. If you’d like to learn more about the Shepard Test Stand, you can find out more on the project’s page on Open Design Engine.

Shepard Rocket Motor Test Stand | Apogee III | Mach 30

Shepard Rocket Motor Test Stand

There were 60 separate projects registered, from 9 different countries from around the world. For more information about these first projects, check out the post on oshwa.org. If you’d like to learn more about the registration process, that link also contains a link to the registration form.

Shepard Rocket Motor Test Stand | Apogee III | Mach 30

Hosting Open Source Hardware Projects on GitHub

In response to us posting some information about our 2016 annual plan, we got a comment with some great feedback from Benjamin Brink that touched on a lot of different things. One of those that we wanted to respond to in more detail was hosting Open Source Hardware projects on GitHub.

hosting open source hardware projects

GitHub is great for hosting software projects, and is a good tool even for hosting and collaborating on other text-based goods like books (you can see some on GitHub’s Writing Showcase). These could be quick, small pieces of software from a ‘hello world’ application that only prints a predefined message, to large, incredibly complex feats of engineering like the Linux kernel.

The difference between software or books and hardware is very important, though, and is why we feel GitHub isn’t a great tool for hosting open source hardware projects, or documenting and collaborating on them. This difference is that there’s a lot more items that make up what is really needed for a piece of hardware to be Open Source than text.

These items of the project that I’m talking about, for any project that is more complicated than a simple breadboard or a few components that are easy to see how they go together, are things like build instructions. Regardless of your expertise, telling someone how to build a physical thing from parts requires pictures. A good example of what I’m talking about can be found in our own Shepard Test Stand project.

hosting open source hardware projects

Shepard Demo Sneak Peak

There’s no way to describe in text how to assemble Shepard and expect people to be able to easily reproduce it. All the Open Source Hardware projects we’ve seen on GitHub either fall into the simple category, and even those that don’t, like KickSat, don’t have build instructions. KickSat sort of gets around this by using SOLIDWORKS to show the assembly, but this requires you to pay for SOLIDWORKS.

Now, you could put together build instructions into a PDF or another file format that isn’t just text and images, but this doesn’t make it easy to collaborate. What people working on Open Source Hardware, as well as those just using the designs to build their own need, is tools like a full-fledged Wiki, so that beyond just text and images like I mentioned, other media such as videos can be included all in the same documentation.

The needs don’t stop there either. As these projects get more complicated, and involve people with backgrounds that don’t include software development, there becomes a need to accommodate people that aren’t comfortable with version control software. These contributors might be mechanical engineers, or photographers, or any other discipline. Unless all of these people can contribute with gentle learning curves, the Open Source Hardware community won’t be able to grow as large or as quickly.

hosting open source hardware projects

Open Design Engine, where we host Shepard Test Stand and other projects, is our way of providing some of these capabilities in one place, instead of across a handful of different websites, making it easier and more likely for projects to be truly Open Source. In all openness and honesty though, Open Design Engine has its shortcomings. We haven’t had the resources to invest in making it great. It’s a minimally viable product, and gives us just enough to be able to make our projects able to be collaborated on and truly Open Source.

Ultimately though, different projects have different needs. Many projects, for a variety of reasons, are relatively simple, and GitHub might be enough. If the project is simple, I’d consider recommending GitHub, if only because of its polish. But hosting open source hardware projects need a better, more advanced environment than that offered for the software world, and that’s the whole point of ODE.

Applying Open Source to Rocket Landings

Blue Origin landed their booster back on the ground after lifting a capsule into space (or mostly into space, whatever). This is an awesome development. We need rocket landings and not just rocket launches to make them as reusable as airplanes to bring down the cost of spaceflight.

SpaceX and Blue Origin Rocket Landings

Of course, Jeff Bezos talked about what Blue Origin achieved and, of course, Elon Musk of SpaceX and other fame felt the need to throw a little shade and talk about how SpaceX is better. Billionaires will be billionaires.

I expect we can get this kind of development out of the way faster, and make everything about space cheaper, if we adopt an open source approach to the technology. Leaving aside concerns about export controls for the moment (which pretty much would put them in jail if they shared anything with people outside the U.S.), it’s just cheaper to solve problems if you already know what’s worked for someone else.

Open source was invented so that companies could safely use public code in their for-profit endeavors. People can use it too. Aliens could use it if they wanted. Anyone can use it, but the “people” who are happiest are the corporate lawyers because they don’t have to worry about their company getting sued. It’s an important distinction because sharing is an old idea, and open source is a lot like sharing, but open source ain’t sharing. Open source is a legal standard, not a moral or ethical standard. When individuals want to share they rarely bother applying a license to their work.

ohw_logo-golden_orb

There shouldn’t be any doubts about guys like Bezos and Musk knowing what open source is. Bezos clearly knows what open source is and intends to use it without commenting or contributing. Musk actually invoked open source when he allowed the world to use Tesla’s patents. However, in contrast Musk also said that SpaceX doesn’t patent anything because then China would know what they’re doing and copy them. Bezos tried to patent the idea of landing a rocket but Musk helped block the patent, arguing that tons of people already know how to do a rocket landing. So, if they know what open source is, why don’t they recognize its potential for creating cheaper solutions? I’ve got a theory on that, but first a bit of context.

There’s a bit of tension, then, between the perspectives of individuals and corporations. The corporations (SpaceX, Blue Origin, etc) only “share” when it’s safe and profitable. The masses share pretty freely, but only license what they share some of the time. So if we wanted to get lots of people throwing in on designs for reusable rockets we’d need to reconcile the difference between those perspectives.

Open source works best for infrastructure type technology; stuff that everyone needs. So we might be able to build up technology from the masses that’s used in many things and can also be used in spaceflight. A more fanciful possibility is using something like a Distributed Autonomous Corporation to organize the effort of the masses around actual spaceflight technology without a traditional corporation. We might even be able to eventually educate the people who run spaceflight corporations on the benefits of sharing development costs, but this is supposed to be a non-fiction piece.

There’s inherent issues with Open Source though when it comes to hardware. There’s a lot of activity in open source software because there aren’t really any barriers to building source code into object code, whereas things like an open source 3D printer (see RepRap for probably the first), you need to buy lots of materials that you might not otherwise have, and then, oh, you’ve got to build it. There’s not some machine that’s going to do it for you like software. There’s activity around many electronics projects, and a few mechanical projects, because turning the source into object isn’t too onerous. You can perhaps see how something like a rocket get’s hard to open source.

For something like rocket landings though, most of the systems are already in place. You already used the power of the rocket to go up, so slowing down can be done the same way (and is by Blue Origin and SpaceX). Just fire the rocket in the same direction, away from the ground, again. That’s super over simplified, but it’s to make a point. If Bezos and Musk (and NASA and ULA and maybe more) decided to start working together on the problem of landing, they already have 80% or more of the things they need. The last 20% is a bunch of hardware and software performing tricks for controlling the rocket on its way back down that they both sort-of have working, but it’s not 100%. Even if it has been proven to work after multiple orbital launches, there’d be more things to improve on. Like landing on a barge in the middle of the ocean where it’s moving around tons.

Falcon 9 Landing Stages

Landing the Falcon 9, via SpaceX

They could start open sourcing the landing systems so that they can do hard things like landing on a barge in the middle of the ocean with the likely super complex software SpaceX designed to take in all sorts of information from sensors all over the Falcon 9. It could then be worked on collaboratively with other organizations (again, NASA, ULA, etc). They could even sweeten the deal with a list of the sensors that they’re using with it, where they go on the rocket, etc. If they aren’t commercial, off the shelf (COTS) items, things like that would be great to share their design and manufacturing with the likes of Blue Origin under an open source license too. With that done, as Blue Origin uses that software and those sensors and integrates them with their rocket and whatever they’re using to “balance a rubber broomstick on your hand in the middle of a wind storm” (via SpaceX) that is rocket landings from space, they can suggest ways to improve it, or even contribute their own improvements! All of the other bits of the rocket like the engines don’t have to be open sourced as well.

What’s better, is now the rockets are cheaper for more reasons than one. Yes, they’re reusable. But there’s not nearly enough people doing the same thing at 2 or more different companies. Now they’re working together, and that means developing better landing stuff faster, whether that’s software controlling the rocket, or the hardware helping it stay upright and not turn into a giant fireball (see videos of attempts at rocket landings on a barge).

Mach 30 At the Open Hardware Summit

Mach 30 at the Open Hardware Summit

This is a bit late, but I still wanted to share what went down at this year’s Open Hardware Summit. I was excited to be part of the event because it was a great opportunity to meet like-minded people and share what’s been going on with Mach 30.

The key to “open source hardware for all” is high-quality open source engineering tools.

This message has been one of the key themes of Mach 30’s work in 2015.  Our technical projects have been shaped by this value, Jeremy has been connecting with a group from MIT to explore open source CAD, and I have been talking about this value on our blog and at the summit (check out the Open Hardware Summit presentation in the video below or in the slides on Google Docs).

At Mach 30, we use open source tools for all our projects. This is because we want to give everyone the ability to take part if they have the time and inclination to do so, and not be restricted by the tools they don’t have.

One example of such a tool is CadQuery, a Python-based parametric CAD language, which is actually inspired by JQuery. Some of the reasons we chose to use it over other open source tools: it’s easy to use, it has a powerful API, and it has an active development community. We like it so much, and we think it’s so useful, that we are actively contributing to the project.

Without high-quality open source engineering tools, we limit participation in Mach 30 projects to individuals and groups with access to tens or hundreds of thousands of dollars in proprietary engineering tools. Our mission of hastening humanity’s advancement into a spacefaring civilization is too important and too big to put these kinds of limits on participation.

That said, please join us in developing and supporting high quality open source engineering projects like the ones below:

If you want to learn more about our cold gas thruster, check out the Yavin Thruster project on Open Design Engine.

ad astra per civitatem

Why We Need Professional-Level Open Source CAD

ad astra per civitatem – to the stars through community

At Mach 30, you’ll often hear us use this take on the famous Latin motto, ad astra, because we want to enable the broadest range of people possible to be part of the spaceflight community and  to contribute to our mission. A big, and sometimes insurmountable, barrier to entry for hardware project volunteers can be cost. If a user needs to pay tens or hundreds of thousands of dollars for engineering software licenses, you’ve just lost that volunteer. By utilizing open source tools, we ensure that everyone from the teenager with big dreams and a 3D printer to the retired aerospace engineer gets an equal chance to come alongside us.

Going hand-in-hand with open source software, is open standards and open data access. If Mach 30 can’t share things like CAD models, mathematical analyses, and research results with the broadest possible audience, we’re blunting the power of community. To see an illustration of this in action, see our recent blog post in which Mach 30 Reimagines The Martian with Open Source. By broadening access, we ensure that the weekend warrior working in her garage can reach us with her amazing ideas.

Up until recently, I had feared that Mach 30 was alone in thinking that the current set of open source CAD tools wouldn’t meet our needs. Then, I got an email announcing a new open source CAD discussion group organized by some members of MIT’s CSAIL lab.

Beyond just being impressed with the credentials of the attendees at the first video conference, I was struck by how dissatisfied the majority of them were with the current state of open source CAD as well. We certainly have a selection of open source CAD tools at our disposal (like CadQuery, FreeCAD, OpenSCAD, and BRL-CAD), which is great, but all of these tools seem to lack one or more fundamental components in the areas of stability, functionality, or UX (user experience).

If you don’t believe me, seat a CAD professional (on Solidworks, SolidEdge, Autodesk Inventor, etc.) in front of your choice of open source CAD tool. Even with training, you’ll see that they quickly become frustrated by the lack of what they consider basic functionality. I’ve gotten chuckles out of other CAD professionals before when I’ve mentioned my own efforts to use open source CAD for complex projects. Sure, there are individuals and small companies who use open source CAD, but I have yet to meet anyone who prefers the experience over a proprietary CAD package.

open source CAD

Modeling in CadQuery

When Mach 30 finds an area where the open source alternatives are lacking, we first look for a suitable existing project that we can contribute to. If we we’re unable to find anything, we’ll roll up our sleeves and build the tools ourselves. Currently, Mach 30 community members are direct contributors to the CadQuery CAD scripting framwork.

CadQuery has allowed us to do some very exciting things, such as driving the geometry for 3D models directly from the rocket science documented in our Mathematics Tool Kit (MTK). However, CadQuery is only part of the solution. We also need CAD and CAE (Computer-Aided Engineering) applications that are capable of things like assembly, interference detection, and analysis. Beyond just being capable, these applications need to empower the community member working with them to be productive so that their precious resource of time is used effectively and efficiently.

If we, as the broader Maker and Open Source Hardware communities, can hit the mark in the areas of affordability, data sharing, power, and usability with our open source engineering tools, we’ll increase participation and accelerate the already amazing pace with which open source software and hardware is changing the world.

So, what do you think? Are you happy with the state of Open Source CAD, depressed by it, or somewhere in-between? Are you able to make FreeCAD outperform SolidWorks or Autodesk Inventor? We’d love to hear from you about how you do it.