Fire, Smoke, and Open Source Hardware
Shepard Video (please watch)
This is Mach 30's Shepard Test Stand, developed in the early 2010s to demonstrate open source software practices can be leveraged in the development of aerospace hardware, qualifying as Open Source Hardware (OSHW) under the Open Source Hardware Association's OSHW Definition in 2016, and supporting the development of derivative systems through OSHW forks.
In this presentation we will use the Shepard Test Stand project as a case study in the development of OSHW in the aerospace sector showcasing successes, identifying lessons learned, and discussing future work.
Demonstrating the application of open source software practices in aerospace engineering applications was a core goal of the Shepard Test Stand from the beginning. To that end, the development team, composed of nine contributors from across the continental United States, decided to publically host the project on Open Design Engine, an all inclusive web application for hosting OSHW projects, from concept to delivery. Not only did this approach enable later conbtributors to catch up on the design and progress of the Shepard project, it also enabled staff members at the Coca Cola Space Science Center in Columbus, GA, to build and operate their own copy of the Shepard Test Stand as part of their commitment to hands on science and technology education.
This commitment to an open source approach led to the Shepard project team being approached by the Open Source Hardware Association (OSHWA) to apply for one of the first OSHWA issued OSHW Certifications as part of the certification launch event in 2016. The OSHW certification process was developed by OSHWA to provide a means for OSHW developers to demonstrate compliance with OSHW Definition. The Shepard Test Stand easily qualified for certification and received certification number US000006.
The open source nature of the Shepard Test Stand also enabled a father and his two sons, Jones Boys' Rocketry, to fork the project as part of a science fair project. The Jones Boys discovered the Shepard project due to its public availabilty and reached out to the team over the project's integrated forums. With support from the Shepard project team, the Jones Boys successfully upgraded the test stand to support larger rocket motors and then went on to win a number of science fair competitions, including one hosted by the American Institute of Aeronautics and Astronautics.
The Shepard Test Stand team ran the project as close as possible to the manner of an open source software project in support of the team's belief that "Open Source Hardware should be like Open Source Software to the greatest degree possible." And while the team achieved many successes as shown above, they also identified several shortcomings in the available OSHW hosting tools. As part of a series of project retrospectives, the team determined that they needed a methodology that could drive tool development which formally defines the source of OSHW, supports version, branch, fork, merge, and composition of OSHW projects using available tooling where possible, and enables capturing the complete source of OSHW projects. The result of this conclusion was to kick off development of the Distributed OSHW Framework (DOF) methodology.
The DOF methodology starts by defining the source of an OSHW project as a set of three key elements:
- Bill of Materials (BoM) Data: list of all components and counts covering all parts which must be procured to build the project
- Assembly Instructions: complete list of instructions to build the project from its procured parts
- Supporting Documentation: any other required content to build or operate the project (e.g. design files, schematics, operating instructions)
Software source control and package management tools have a decades head start on supporting operations such as versioning, branching, forking, merging, and composing of projects. DOF is being developed to leverage these tools instead of calling for the development of hardware specific tools with these capabilities which will forever lag behind the capabilities of readily available open source software development tools.
In support of using readily available tools, DOF must provide an integrated data model for capturing the complete source of an OSHW project in a way that is compatible with open source software development tools. This integrated data model must include the BoM Data, the Assembly Instructions, and the Supporting Documentation. The data model should be extensible to enable the addition of new source data classes as they are identified. And, the data model should be storable in line-oriented ascii files and directories on disk to be compatible with existing (and future) software source control and package management tools.
So, what's next for this work in OSHW? Fully defining DOF, supporting additional aerospace efforts at OSHWA, and providing reference tooling for all of these efforts.
Earlier work to define DOF decided on the use of YAML files for data storage. YAML files are line oriented and can easily be converted to JSON for use in REST APIs. Current work is leveraging LinkML to define the DOF schema, replacing homebrewed tooling for schema definition. The DOF project leverages npm/yarn for package management, meaning users will be able to "npm install arduino-uno" to add an Arduino Uno to their project. The goal is to enable OSHW projects on website such as Github that could look like this.
OSHWA has approached Shepard team members requesting support in their work with the aerospace industry. Certification of aerospace products requires demonstration of compliance to internal standards for processes such as project management, configuration management, and assembly processes. Existing standards are frequently proprietary, so OSHWA is working with volunteers from the aerospace industry to develop open source versions of these processes for use in OSHW projects. Capturing these processes involves defining terms, actors, and activities, all things which are critical foundations for capturing the data in DOF. So, the DOF team is creating a base schema for DOF called m30ml that can be used to define processes as well as to define DOF as a contribution to the OSHWA work to support the OSHW for aerospace.
In terms of providing reference tooling, that is being developed as a combination of existing and new tools. Existing tools include git and npm/yarn as noted earlier. The team is also using tools such as Pandoc, Jinja2, and Markdown to provide a rendering layer from the raw YAML data of m30ml and DOF to human readable content such as project instruction PDFs or static websites. New tooling is focused on the creation and maintenance of m30ml and DOF data on disk and a query engine to extract relevant data from m30ml or DOF projects to support rendering operations.
In summary, what's next is the continued development of DOF and related efforts to support OSHW projects and OSHWA aerospace activities. And this work directly addresses the lessons learned about the need for an OSHW development methodology from retrospectives of the Shepard Test Stand project. And the Shepard Test Stand project itself with its successes and lessons learned provides an excellent case study in the application of open source software approaches to the development of aerospace hardware.