I am aware that the following statement might upset some. And yet, open source is something that I truly do believe in. Working on this project, I have come to the interesting realization that there is a difference between design for manufacturing and design for open source that makes not every project the ideal candidate for open source.
Bear me with.
The way I see it, the interest of open source is maximized when the majority of people can actually make use of the published resources, with the least amount of extra steps as possible. It is not good enough to make a product, and say "oh, by the way here are my files", I believe it is important to push things a step further by saying "and this is how you could do it, you, an individual".
And this is what a majority of projects that I see manage to do. But when, in the early stages, I asked myself how I could open source this project, I found myself confronted with a contradiction: the same technical choices that I was making to make this an appealing product where going to prevent people from making an immediate use of what I would share.
In particular, let's take the following three examples:
- The CNC-machined aluminum body that makes for a compact and robust device, and allows for an assembly that doesn't require screws to go through the small and crowded PCB is something that would likely be in the order of ten times the price of a 3D-printed part, for a quantity of one.
- The depth milling of the circuit board that allows to place the thermocouple to digital converter as close as possible to the tip connector in order to improve accuracy is an option that very few circuit board manufacturers offer at a prototype level and / or reasonable cost.
- The use of an STM32 over an ATmega microcontroller because of the added features for a lower footprint allowed to keep the circuit board and therefore the device small. But it also meant a higher learning curve for someone coming from a community of makers, used to the Arduino environment.
So, I decided to make the scope of this project twofold:
- Creating, manufacturing and commercializing an efficient, compact, finished product.
- Releasing a slightly modified version with all the files accessible so that anyone could clone, adapt to their needs, make, and improve.
I fully intend to document both aspects. And I realize this means more work for me compared to just making one device. But I do believe this is the best way to go. Let me know what you think.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Sounds reasonable. Mass production and DIY (a lot of standalone) approaches are different. I can share couple of tips, to improve accessibility:
- Publishing sch/pcb/bom on EasyEDA helps to order pcb AND components in couple of clicks. It's convenient when most of components are from LCSC catalog.
- Platformio is convenient to upload firmware - it auto-install all required dependencies after you open project folder.
- If you order pcb at jlcpcb, you can order cheap smt stencil. Just select CUSTOM size, and use small one (a bit more than pcb size). To align stencil - make in it (and in PCB) two 0.7mm holes, and use 22 AWG wire (0.65mm) to pin to soft surface (silicon or cork).
Are you sure? yes | no
The design scope of your project is for two separate use cases: one is to optimize for accessibility and one to optimize for cost vs function. The value of open source can be applied in both of those situations and is independent of assumed resource limitations.
For example, professional EEs regularly use (and possibly contribute, while remaining anonymous to their employer ;) ) to OS hardware and firmware for real products. e.g. within many BTLE products you will find SoCs with relatively large communities of open source firmware support. Same could be said about many (canonical) circuit designs, see EE stack exchange.
Are you sure? yes | no
I think about this a lot in the context of OS Hardware vs OS Software. One of the biggest differences between them, IMO, is the ease of jumping into an OSS project to bugfix/contribute. Software iterations are mostly free (download code, tweak, e-mail) but hardware iterations are expensive (get board made, source parts, assemble...).
Industry is driving the costs of getting a lot of this done, but real turnkey 'build me one of this device' service is still tricky.
But anything you can do to minimize the one-time costs of someone reproducing your project should help increase contributions and participation, so yeah: what you said. :) Good design, simple design, clear design.
Are you sure? yes | no
Hmm, I'm not sure that having as many people as possible follow blindly your instruction to replicate your product is really that good for an open source project. Maybe this will sound elitist, but the people who don't understand the project and are unable to adapt it to their needs and available tools are not going to contribute back much, at least not in those areas where they need hand-holding. On the other hand, having the design files for the "production" device available allows for buying the product and *then* modifying it to better suit your needs, whether by attaching additional parts, designing accessories that can cooperate with it, or modifying the firmware for the device. This way the advances and improvements go back to that product version, instead of some "dumbed down" open source version.
Are you sure? yes | no