I’ve been thinking a lot about problems with the RepRap project and ways it can be corrected, and I think I’ve come up with an idea. This whole wall of text is going to be a little scatterbrained, but stay with me.
First, some history. Unless you’ve had your head under a rock for the last few years, you know a couple of things about Reprap: It’s big, its free and open source, and its got some crazy development work going on. But what it really lacks is organization. People work on it sure, but they really just work on whatever they want to work on. This leads to a lot of strange and progressive technical innovations, but at the same time, the lack of a governing body makes it really difficult to coordinate efforts.
As I said, I’m a developer, and as a developer, I have certain expectations about the way my projects are used. Primarily, I want to be credited for my work, and I want the license that I select, be it a non-commercial or GPL or whatever, to be honored. However, in recent events, some manufacturers sometimes break from IP requirements, most notably and recently, Creality refusing to share the CR-10s source, and before that a fiasco with a small company called Just3dprint scraping and selling non-commercial licensed work. Recently, a pretty famous 3D printing youtuber and company, TH3D studio, started an organization, 3dprintergploffenders.com to get companies that owe the community modified firmware to deliver.
Now, I applaud his work, but riddle me this. What if the company says no? Like just outright knows under the licensing they have to deliver, but just decide not to. The GPL license isn’t really backed up by any sort of copyright law, so it’s unlikely they could be sued, especially if they were in a different country. The community was presented with this issue during the Creality fiasco, and the general consensus of the community was to just put pressure on Creality. Literally the worst the RepRap community, a massive group of people, can do is boycott them, and since the CR-10S is only available through resellers, a rapid snap event that happens in less than a month will probably not hurt Creality, but rather the resellers than buy the machines from them. That’s a big problem with RepRap. The GPL is a rule without enforcement, which when you get right down to it, is no better than a suggestion.
Let’s switch gears a little bit. Lets say I’m a manufacturer that makes a material, like a filament, or a machine, like a printer, or a component, like a hotend. My goal is to make money. I do that by producing a product and selling it to people who need or want that product. Marketing helps to get my visibility out there. Think about Aleph Objects, who makes the TAZ line. They do a great job of funding some of the work that goes into development, and fund things like Octoprint that drive the industry forward. Matterhackers is another good example. They paid to bring youtubers to events like Midwest Reprap Festival, and got brand recognition in return. They help feed and cycle money around the 3D printing ecosystem, and they make the machines we all use. However, there is no community quite like reprap. Here, the developers and the community are the companies R&D and support departments. That is nice for the users because they know literally everything about how the machine is built, and assuming they have basic electrical knowledge, they can repair their own machines. It’s a double-edged sword for companies though; it reduces operating costs because they don’t need to hire as many people for support and maintenance, but it’s also a bit of a setback because its frowned upon to have a system that isn’t open source, shared, and free to the community, which allows for competition. What I’m trying to sell is the quality of my machine or my component, not having some new patented, proprietary feature. Think about E3D. They’re open source, and china copies them all the time, but what makes the difference between a $70 E3D hotend and a $15 Chinese one is the quality of work that goes into the machining, and that is what they are selling. But here’s another problem. How do I compare my machine or component to others? How do I even know how good my machine even is? The best I can do is print out a 3DBenchy and show it off. Yeah, it’s got this size bed size, this nozzle size, and this max extruder temperature. Other than that, the only way I can prove my machine is good is to sell it and wait for users to post their reviews. That works well for some things, but I can’t test that in-house while I’m developing the machine, so I don’t know what my printer’s worst feature is without risking company reputation on a trial.
Now, another gear change. Now I’m an end user. You don’t know who I am. I could be a mechanical engineer interested in printing PEEK brackets for my car’s engine, I could be a civil engineer trying to model a road system, I could be a Wargammer looking to build an army. You don’t know. But I do. I know what I want and what I prioritize, and I want the cheapest tool that will meet my needs. If I’m building miniatures I want a printer with a high resolution, and that’s going to be more important than a printer with a large build area or the ability to get to 400C. For the sake of argument, lets call me a Wargammer. I go looking to source a machine, and I come across a lot of subjective reviews, so I hop on my favorite 3D printing Facebook group and ask everyone’s favorite question: “What printer should I buy?” and get a few more subjective reviews. I hear a lot of good things about machine X, and what do you know, the minimum layer height is 50 microns! Wow! So I buy the thing, get it home, and run it at 50 micron layer heights and get garbage layer adhesion. What gives? A lot of people said this was a great machine, how come it doesn’t work for my specific application? That’s a 3rd problem with RepRap. There isn’t a way to rank machines in any other way than who says “wow this machine is good” the most. Even 3D hubs, which gathers massive amounts of data about which machine is used, what material is used, and generates one of the most looked at buyers’ guides for desktop 3D printers in the world, only ranks certain aspects of the printer on a 5 star ranking system. How can I, as a consumer, be sure this data is specifically targeting what I’m looking for? I cant.
One last gear change, and this one I kind of want to rope under the last one. Now I’m a design engineer working for a small business. There’s no denying that the future of manufacturing is additive manufacturing, so my boss, caught up in the hype, bought a printer. It could be a Stratasys uPrint, it could be a Prusa MK3, it could be an Anet A8. Whatever, I don’t know, I just have it, I know how to use it, and he won’t buy me another. So now I’ve got the task to build a cable mounting point that will see a tension force upwards and at an angle to the build direction, so we’re both sheering and pulling the layers apart. How do I know what the strength of this part is? In X and Y the material properties are similar to the bulk material, but not really, and the Z direction strength doesn’t have any information other than “It’s weaker by quite a bit.” How do I design this part? How do I know when it will fail so I can design in a factor of safety? I know increasing the temperature increases layer adhesion, but how much? Can I save weight by reducing infill? There are so many design questions to ask, but there are no answers. For large companies to accept using reprap machines like stratasys machines, truly, for productions, for anything other than fitment tests, they’re needs to be a way for designers to design for them.
I just asked 4 major questions:
How do we keep companies honest?
how do we measure the quality of machines on an objective scale?
how can we be sure a machine meets the quality we need on an objective, per application basis?
how do we develop confidence in a modeling system for parts that can be trusted with any machine?
For widespread adoption of this technology, what we need, fundamentally, are standards. Process standards for testing machines, process standards for testing material qualities, part standards for interfacing between different components, etc. Standards touch our lives every day. Within 3D printer land, the NEMA 17? That’s a standard, ICS 16. Our wall outlet sockets? Standard, in the US, its NEMA 5-15. USB and PCIe Slots? Standard. G-Code is a standard, and so are the M3 screws we use. Those are all part standards. They say exactly how what dimensions, definitions, and/or what pinouts something is, so that engineers with no access to or understanding of the system can design parts for it. That’s pretty easy to do, someone, preferably not a company with a vested interest, can just say “this is the standard” and assuming they have the authority to get it adopted by others, that’s that: Poof, theres a standard.
There are also process standards, that define HOW something is done. A good example of this is ASTM D638-14, which is a process for determining the tensile properties of a plastic. This allows a lot of plastics to be tested the same way, and for engineers to make an informed decision when using them. However, the issue with process standards development is that it requires, fundamentally and unavoidably, data. A lot a data. A lot of data on a lot of different machines. That takes a lot of time, a lot of labor cost, a lot of machine cost, and a lot of calibration of a lot of independent variables… or does it?
In 1880, a few guys in Massachusetts in The United States decided to found an organization, which would eventually be called ASME, the American Society of Mechanical Engineers, to write standards to govern how boilers were built. This was in response to a few major boiler explosions in the turn of the century, that helped standardize how boilers were designed, built, and maintained. ASME is still around, and is a huge standards organization that defines process standards and definitions for various mechanical engineering sciences.
Another group, the American Society of Testing Materials, ASTM, is trying, so hard, to make this happen for Additive manufacturing. They recently announced at RAPID+TCT their plans for a COE, Center of Excellence, which is a combination of some companies and NASA to make standards for metal AM parts. That’s all well and good, but these parts are being used like right now, and while those standards might be adopted at some point, the speed at which they can verify the standards with testing will be far too slow for this fast paced of an industry. Especially since people are trying to push AM parts into higher risk situations faster than ever before.
Other Standards organizations exist, such as ANSI, ISO, IEC, and others, but they all have the same problem: they need extensive resources and time; time that the AM industry doesn’t have.
And that gets me to the punch line. What I’m proposing in this video is a volunteer organization, the Reprap Additive Developer Standards Organization, or RADS, built within RepRap. If you think about it, we’re very similar to ASME in that we are a large group of individuals that know a lot about the technology, if we can find a way to organize and democratically operate, we collectively know more about many of these systems than any other entity. The goal of RADS is to define, as closely as possible, how additive manufacturing systems and materials, specifically our beloved filament based machines, work, how they should and should not be operated and built, and what design considerations should be put in place for designers to use filament based printers for anything that matters. These standards are continuously evolving interim standards, in that they are living documents that are not set in stone once published. We may pull in ASTM or SME standards as they get published, but we are fundamentally our own organization that will choose, democratically, to adopt or reject them.
Why is Reprap qualified to do this? Well, for one, we’re huge. There are far more RepRap derivatives in the world right now than any other type of 3D printer. We’re also international. Standards we develop here are applicable to the entire world, not just one country. We’re free and open source, so people who want to use the standard don’t have to pay $40 just to read the glossary. Not only we can give out publically available standards for free, we can make all the data on machine usage and quality available so anyone can do their own data analysis on it, provided they credit us for gathering it. We’re a consortium of individuals and companies, so we’re a 3rd party that’s not owned by any single company or organization. We’re volunteers, so we cannot be leveraged by sponsors, and most importantly, we’re dedicated to seeing this technology move forward. Our understandably unprofessional community gets its news not from major publications or academia, but from Youtubers. We go to our conventions dressed in shorts and a t-shirt with a beer, not a suit and tie. We can sell the things we print, yes, but our development work is mostly volunteer, and our major driving force is self-betterment, and pushing our industry, and RepRap, forward. Verification of a standard takes a lot of data on a lot of different machines. If we can get 1000 people, just 1000 people who have at least one 3D printer to join RADS, and we say “By next week, print out this test artifact with these settings 3 times,” that’s 3000 points of data on 1000 different machines in less than a week, for free. Each individual person is printing maybe a dollar in plastic, and volunteering maybe 2 hours a week in labor, but collectively, we can gather immense amounts of data in a very short period of time. And don’t forget, a lot of people may have more than one printer… I have 6. It’s very possible we can get 10000 data points a week to test and verify a standard.
No one has ever tried anything like this. Crowdsourcing data points to define an industry standard is completely unheard of. But is it impossible? The biggest issue with this in any other industry, take engine design for example, is that the layman doesn’t have access to a calorimeter or a tensile testing machine to gather data. The most they would probably be able to dump into a volunteer endeavor like this is maybe 50 bucks. But, we as 3D printer operators all own tools that make things, and we live in a time of extremely cheap and accessible microcontrollers, sensors and electronics. What if we use our 3D printers to make tools to test these standards? Like a lever arm with settings and material defined by a standard that can be used to tensile test materials using common things like a hanging scale and a bucket of water? A grad student somewhere probably just had a heart attack, but then anyone in the world with honor, integrity, a printer, and a middle school understanding of the scientific process can contribute data, or a draft a standard for discussion. Every person or company can contribute 1 set of data per machine to prevent one person from contributing a lot of data off of only one machine, but those with many machines, or several of the same type of machine can contribute 1 set of data for each.
Alright, so standards helps our design engineer friend out knowing his cable tie down wont break and cause the rest of the assembly to fall and kill someone. Let’s talk about the Developers next.
Back in 2014, a guy, Traumflug, who develops the Teacup firmware, introduced an idea called the RIS, the Reprap Interface Standards. The idea was to write down standardized connections for things like hotends, LCD screens, and anything else that connected the multiple parts of a 3D printer together. The idea was great, and it was one of the first attempts to define a standard in the RepRap community, but it had a few flaws in follow-through. For one, all the communication was done on the Reprap Forums, so communication was slower than with an IRC or instant messaging. People also went a little bit nuts on “Standards,” and started naming random things as “the standard” without much reason to it. In the end, the RIS was a good idea, and one of the first real attempts. We, as RADS, can go back over the RIS, and write better defined part specifications and incorporate them into the new standards. This can help developers by having a standard connection to work with instead of having to create a new board. If we can define that for connectors for LCD screens, electronics for the thermistors, and even PCB trace widths and connectors for heated beds, we can make the job of developers much, much easier, and increase the functionality, ease of future expansion, and even increase safety of the final product Remember the RAMPS-FD? Now, a lot of this sort of thing is part of a set of unspoken rules called the Reprap de facto standard. Things like the polulu stepper carriages, 1.75mm filament, or the 4.7kohm/10uF thermistor circuit used by almost all 8 bit microcontrollers are good examples of de facto standards. All we have to do is write them down.
Now, the next question if bet you’re going to ask is “Alright, how do we enforce it?” That’s a good question. How do you enforce these part standards, and have authority to do so, on group of people who basically only do what they want? RADS wouldn’t be a police force, and RepRap’s greatest strength is its creativity and desire to do something different. How does RADS make people conform to the standards without crushing the spirit and soul of our great community? “Enforcement” is typically viewed as a “punishment” where a governing body punishes those who do not conform with jail or sanctions or fines or whatever. However, instead, RADS could provide rewards and recognition to those who DO conform. The objective of RADS is not to tell people they have to do something some way, but if they don’t have a good reason to break from the standard, they will be rewarded for following it by having increased functionality and compatibility in their system, thus increasing its use. Those who don’t care for the standards will be unaffected, and companies and developers that conform can only gain recognition.
And speaking of recognition, what about that Licensing issue? RADS would work with or usurp entities like 3dprintergploffenders.com to help track down and lobby companies that are knowingly or unknowingly disobeying the licenses of systems or software that they use, but there’s the same problem here: RADS has no ability to enforce the standards they operate or punish those who disobey. However, business is a funny thing; if we raise up and promote companies that do comply, then those who do not or do nothing will be at a disadvantage. This process has to be such that even good intentioned small businesses without any real funding resources can be promoted, while those who willingly disobey can be singled out. A challenge, but not impossible.
Imagine a list of machines. Whenever a new one comes out, the machine gets added to this list along with its manufacturer. RADS will offer a baseline “RepRap Certification” granted only to machines that meet just 2 sets of criteria:
- The printer must comply with all licensing. This means that any GPL derivative software or hardware used must be published.
- The company must send a consumer-ready machine to RADS for quality testing. This is designed to prevent manufacturers from testing in house and lying about their specifications. Machines will be repackaged and shipped back to the manufacturer after testing, but the manufacturer must pay return shipping. If a manufacturer doesn’t like tested values or thinks they are wrong, they can send another machine and get a new test done by another person.
Additionally, machines can be certified for advanced or “True Reprap Certification” if they meet the additional criteria of being fully open source, and the source files for the machine can be linked directly from RADS’s list.
It’s a relatively low bar for certification, but its enough to prove to consumers that the data is good and objective. Good intentioned small businesses can get their machines certified for the cost of 2-way shipping, and companies that lie about the quality of their machines can do nothing. If this list becomes the main place to go to look for printer quality statistics, the good intentioned companies can use RepRap certification as a major selling point to gain more consumers, because then the consumer has a massive dedicated support base in the RepRap community, and knowing that their machine is open source, actually open source, is very helpful.
Now, I just mentioned quality testing, what does that entail? The consumer needs to know that they are buying a quality product. Imagine that the list of machines I mentioned had quality ratings for certain facets of the machine that a consumer would be interested in. Minimum layer height, build area, XY and Z precision, XY and Z accuracy, that sort of thing. Build area is easy enough to measure, but what about minimum layer height? What about accuracy? How, exactly, do you determine that? Actual objective process standards, made by RADS. All of those points of data are pulled off a machine, and entered into this list, which now looks more like a database. This database could be sorted by feature, and as such, you could make a short questionnaire, that a user could fill out ranking their most important needs, and then say, definitively, with objective facts and measures, this is the best printer for your use. And that’s powerful. It’s powerful for the user to know what they need, and its powerful for companies to sell what they have. Not only can companies test their machines to benchmark against others, but companies with good machines can use this as a powerful marketing tool to prove that their machines are the best and increase sales. Because standards would be in place focusing on isolating single facets of the design, a company with less-than-steller ratings can know exactly what they need to modify in order to make a better machine.
Using RADS’ database, companies can sell their products by referring to quality on an objective scale like “there is less than 50 microns of play on our system according to RADS A203” instead of just “wow look at this nice benchy!” An objective 3rd party standard will reinforce the customer’s confidence in a product, and they can see real data points from dozens of machines in the field to see the variation in manufacturing quality, and even contribute to that data with their machine. Process standards will be encouraged to use open source testing hardware using 3D printed parts and open source hardware such as Arduinos with RADS-designated, open source scripts, and standardized components like load cells, accelerometers, and encoders so that even small companies and individuals can test their machines in-house without needing to buy an expensive set of testing equipment.
As you can see, it’s not a case of making a governing body that tells people what to do; people and companies will do what they want. What RADS is designed to do is help and promote individuals and companies that fit with the RepRap philosophy and pull in new consumers for companies to sell to by reinforcing customer confidence in a quality product. As companies recognize the standard, its usage will grow. It’s a whole ecosystem that needs members of all parties to contribute, and everyone has responsibilities and benefits.
As for money, all individuals would be volunteers. No one, in any instance, would make profit directly off of RADS. Any donations would be put back into reprap development by paying for things like Reprap bounties (first person to solve a problem to meet certain minimum specs and open sources it gets a pot of money paypaled to them), or grants for high cost-high gain systems like the MetalicaRep.
Think of it this way… It fast because we can gather data in parallel, its cheap because we’re all volunteers, and its reliable because we can gather a lot of data to verify. It’s the impossible trifecta. If we succeed, we have an international, global standard for these additive systems based on real, hard, factual data, and if we fail, what do we lose? Some time and a little bit of material? We literally cannot lose in this situation.
And let me sell you a little bit more on the promise of this before I wrap this up. Simulation is huge. I know when Simplify came out I loved the line-by-line playback and thought it was really cool to watch the part get built. However, what little simulations there are for filament based machines aren’t really based on anything. Lets take layer adhesion for example. We know it’s probably going to be measured in Pascals like tensile strength, and that its going to be a function of, material tensile strength, cross sectional area, infill, print speed, layer height, nozzle size, temperature, and maybe some other stuff. There’s going to be an equation for this, even if it’s just a set of constants on a by-material basis. However, the only way to get enough information to generate this equation is with a lot of data. We at RADS can develop a little easy to-print tensile tester like this [hold up thing], and anyone at home can generate data. We can pull all the data together and generate a mathematical model for layer adhesion as a function of print parameters and material. Since slicers like Cura or Slic3r know all of those things, all it needs is a tensile strength of material, and it can output a graph, as a function of length along Z, exactly how much force is required to break the part. We can have an actual strength simulation based on actual, real, tested data. This is will have immensely powerful effects on the industry, as it ties into a larger theme in the additive manufacturing world called ICME, Integrated Computational Materials Engineering, because it relates the real world engineering application of a part with the manufacturing of the part, and without getting into some big buzzwords, it will help more people trust the technology, and more big companies will buy into hobbyist grade machines. If we can find a way to simulate an entire 3D print, down to the tolerance deviation and material strength level on a per machine, per material basis, then we can predict quality expectations for any new material that comes out, and we can tune machine development for specific applications, which is a direction that the additive industry has really been lacking in, and we might even be able to simulate, not only for a specific machine, but for ANY filament based machine.
The holy grail of 3D printing has been the 3D printer that is as reliable as an inkjet printer. That spits out exact what the user wants every time, the printer and software combination that will go in every home, and the first company to do that will make a killing, and every developer who contributes to that will be immortalized in history. 3D systems tried with it’s cubify line, but it’s chipped filament and unreliable extruder caused its downfall. With standards in place to determine things such as jamming temperature, best print orientation, and a lot of data, we can start to establish what the best practices are for machine manufacturing and print settings, and maybe, just maybe, we can make that unicorn of a printer a bit more real after all.
A 1000 person audio channel would be a mess, so I’ll run it sort of like a radio show, Going over whatever sort of standard we’re working on that day, the agenda for the week, and then people can call in, state a case, and give input or submit standards to be reviewed by everyone. Like I said, no one has ever tried anything even remotely like this, so I’m just sort of rolling with the punches and adjusting as needed, but it’s a start. To facilitate higher speed communication, most day-to-day communication and work within the 4 main divisions of RADS (Process standards for printers and materials, part or definition standards for RepRap Development, IP preservation and certification, and database management) are set as separate slack channels in the slack here, and every Saturday at 6pm GMT I’ll host a bit of a weekly review and announce new proposed standards. If we like what we see, we can move on to testing. If we don’t, we can determine what’s wrong, and send it back to the author for revision. During testing, we follow the standard exactly, gather and submit data and machine and material information and settings through an online survey (probably google forms). The next week, we look at the distribution of data, and, through a voting process, we collectively decide if we think that this standard accurately isolates the dependent variable we want to measure. If approved by a 2/3rds majority (so less than 1/3 say “no” and not counting those who abstain), the standard is considered ratified, and we can say “Based off of 863 machines and 3504 points of data, the reprap community has defined RADS A401 as an accurate way to measure this value with a standard deviation of X”
Assuming the data looks good, we can complete this while process of writing, developing, testing and ratifying a standard based on thousands of data points… in a matter of weeks.
Anyone can join RADS, it doesn’t matter if you’re an employee at a manufacturing company, an artist with a random machine, or a high school student who wants to put standards development work on their resume. The only things I don’t want to see in the chat is anyone trying to market their product (unless it refers to standards development) and anyone asking what printer they should buy. It just wastes people’s time and attention and frankly it’s annoying.
We’ve got a lot of work to do, and a big adventure ahead of us, so, if you’re interested in sitting around on a Saturday drinking beer and defining an industry, I’ll see you in the slack channel. All this information I just dropped is my vision of what it should look like, but if anyone has any holes to poke in the plan or suggestions on better ways to attack these problems, drop a comment below or ask in the Slack channel.