As both an electrical engineer and professional software developer, I'd like to start an open source hardware movement similar to the open source software movement that has currently been happening. I've seen ideas similar to this from other people before, although not well thought out nor articulated
correctly, and definitely not the same thoughts I have about the subject. This (somewhat long) post is a summary of my ideas, hoping to get some feedback from other people.
THE TOOL IS THE ISSUE
Open source software has been around for awhile. We've all seen it: Linux is the biggest example. Why does open source software exist? Because it is easily copied, reproducible, and editable almost for free, and because many software developers like have a hand in it. Drop a couple hundred to thousands of dollars buying a computer, and anybody with the knowledge to do so could be running and developing open source software. A computer is, essentially, the tool to develop and use open source software.
Open source hardware obviously has different requirements. You can't just download and compile a physical circuit. The key issue is this: users lack a tool to do develop open source hardware. I believe that, just as a computer is the physical tool to develop open source software, a PCB router would be the first key to developing open source hardware.
CAN'T JUMP TO IC'S AT FIRST
Many people believe that open source hardware has to be all about integrated circuits (IC's) on chips. It cannot start out this way, simply because developing a single IC's costs hundreds of thousands of dollars, plus the cost of a manufacturing plant and everybody's time involved. Instead, open source hardware developers and users should rely on existing IC's and develop full working circuits using a home-built (read: cheap) or inexpensively purchased circuit fabrication tool (note that you can get free samples of just about any IC shipped to you from almost any IC manufacturer online - and they do a good job reacting to the market). FPGA's and simple microcontrollers can do a fine job of emulating many (any?) IC packages.
REPRODUCIBILITY OF HARDWARE
Now that the whole IC issue is out of the way, back to the PCB router. A tool like a router would be critical to developing hardware - and not just for circuitry (although the subject I'm focused on is the circuitry design - this can also be to do woodworking, plastic shaping, aluminum cutting, etc.). Why? Because a PCB router is *reproducible*. Once you have one made, it can make another one, more accurate and stronger. Once you have version 2 made, it can produce version 3 - even more accurately. You can make these desktop PCB routers for your friends, given that somebody supplies you with the materials (and possible monetary compensation for your time). PCB routers normally cost thousands of dollars. Again, ask yourself, why is this? Because they are made for industry - they're made for people who throw around thousands of dollars at a time and require precision tools for mass production. These things are souped up with vacuums and all kinds of unnecessary gadgets that wouldn't be needed in a home or school environment.
I've already built a PCB router myself from scratch using a couple broken printers and a broken scanner, and from my experience, it should cost no more than a new printer (although I built my version 1.0 for $12 - the cost of a unipolar stepper motor and its driver when my bipolar motor got shot). It would be beneficial for people who are into this stuff to have PCB routers on their desk like they do printers. And for those of you who don't know how it works, you get a double-sided copper plated board at RadioShack, stick it in the machine, and hitting a Print button on some circuit layout software. Viola - the circuit layout is etched into the board.
OBTAINING A PCB ROUTER
The users can get a desktop PCB router by either
1) Downloading open source plans for the router and building it himself.
2) Having his/her friend who already built one build a replicate.
3) Buying an inexpensive one developed by someone in the open source hardware community.
Again, once the user as a single PCB router, depending on how much money they put into their tool (just like people put more money into souping up their computers) they too can have a really souped up router. I'm planning on making my version 2.0 router not only develop circuit boards but also be strong enough to carve three-dimensional surfaces on aluminum and plastic housings (cases for my projects). I'm actually using my first, cheap version of the PCB router to build this more powerful second version.
OPEN SOURCE CIRCUIT DEVELOPMENT
As for circuit development, projects can be created and people can collaborate online. Because software is needed to develop, simulate, and layout circuitry, the open source software community could get involved to develop the necessary programs. In this case, hardware development relies on the software available - not vice versa as it used to be.
When a user wants a new circuit, he/she can download the plans online, load it up in the open source software, alter it to his standards and then hit print. The PCB router goes to work for a minute, carves out the circuit on the board, and then it's up to the user to populate the board with the necessary components using on-screen schematics, pictures, or instructions. That's our way of "compiling" the project. If changes are made, the project can be re-submitted to the project server, with a description of the changes, for others to view and download. The online project server would be responsible for remember all the variants of the circuitry so users can decide what type of functionality they want to download.
It doesn't have to stop there though - because the router can reproduce itself (and can, itself, be a living open source project), it has the capability of evolving into more advanced tools that may not require users to populate the board themselves. Give the device the right parts and have it populate for you. A device like this, of course, would be developed by the open source hardware community and fabricated using the "deprecated" router. One version builds the next.
I believe that it is also possible to write software for kiddie hackers to develop both *analog* and digital circuitry (not just VHDL or Verilog) by communicating simply the constraints of such a circuit to the computer, and having a neural network, swarm intelligence, distributed computing, etc. produce a working circuit - but I'll save that complete thought for another day.
Open source hardware is feasible, reproducible, and implementable so long as users develop or get a hold of a tool to develop open source hardware. That tool is essentially a router, which can evolve, reproduce, as well as build other projects. Open source hardware must be backed by the open source software community to develop the tools necessary for building, testing, and laying out circuitry to be printed on the PCB router. In the future, we should (and will) be able to download projects for whatever you need online, and print those electronics for use in your own home.
Sorry for writing a huge essay here. Hope nobody mods this idea down for being so long.. :)-- ee_moss,
Apr 14 2004
Free and Open Source Software Study
http://www.statskon...e/pdf/200308eng.pdfFeasibility study of free and open source software. [ee_moss, Oct 04 2004]
Writings on Open Source Hardware
http://opencollector.org/Whyfree/A collection of information on open source hardware ideas. [ee_moss, Oct 04 2004]
Richard Stallman -- On "Free Hardware"
http://linuxtoday.c...-06-22-005-05-NW-LFRichard Stallman's take (somewhat limited, I believe) on developing free and open source hardware. [ee_moss, Oct 04 2004]
Explaination of why open source IC's aren't feasible.
http://www.embedded...ry/OEG20020524S0078Why you can't start out in IC fabrication - yet, basic circuits and projects using available IC's are completely feasible [ee_moss, Oct 04 2004]
EDA - Electronic Design Automation (open source software)
http://www.geda.seul.org/Open source software backing future open source hardware developments [ee_moss, Oct 04 2004]
http://bach.ece.jhu.../programs/xcircuit/Another open source software project, focused on developing circuitry - could be used for open source hardware development. [ee_moss, Oct 04 2004]
Open Source Hardware Development
http://oshd.sunsite.dk/This site offers project plans, but lacks the key concept of replicability using the tools I propose above. [ee_moss, Oct 04 2004]
This is what I'm saving up for
http://www.larkencn...m/cam15/index.shtmlIt's $6k, but I can't imagine life without it! [1st2know, Oct 04 2004]
Printing Chips on paper
http://news.zdnet.c...091,39117465,00.htmThis was (and may still be) being developed at Xerox and other Universities. This might just be the technology to make open source IC's viable. [dannystaple, Feb 20 2008]
http://www.expresspcb.com/3 boards for $51 and free capture and layout tools [csea, Jun 10 2008]
http://apcircuits.com/Excellent, 24 hour PCB fab I've used for years. Located in Canada, with many different prototype services. I've tried some others, but didn't like the other's tin plating - it didn't cover the edge of the traces. Since I usually have a cheapo board for proto, there's no solder mask. APC has tin that covers the edge of the copper trace, which cuts down on corrosion. [rickyrockrat, Jan 17 2009]
http://www.opencapitalist.orgProvides a framework to fund open source projects. [DVandervort, Jul 18 2010]
I'm not even remotely qualified to comment on the technical merits of this idea but I like the concept so + from me.-- DrBob,
Apr 14 2004
Ah. I was hoping this was for hammer and nails and things. (I don't sort by category.)-- DrCurry,
Apr 14 2004
This should happen - if motherboard designs were freeley available (in CAD/CAM format) I would imagine the noosphere homesteaders would start expressing themselves in hardware.
I remember reading an article by Stan Veit about how he modified a pen plotter to trace the lays of a PCB. This was 15+ years ago, so my memory of it is fragmented, but it was a two step process - he would put an Exacto knife in the plotter to score the board, then use a conductive ink pen to fill the lays. Back then, a boom pen plotter cost about $2000US - thats about how much an entry level CNC router goes for today.
[+] and I am sure this will be baked in the next 2-5 years - we cannot be denied our slice of the noosphere!-- 1st2know,
Apr 14 2004
In response to [willien]:
"Are not traditional motherboards made up of many layers of traces? It sounds like you're proposing a single or maybe double-sided board. It would likely take massive amounts of PCB real estate to make the interconnections between the chips."
Yes, traditional boards do have many layers. I've dealt with up to four layers, but it can extend beyond that. You are right in that as complexity increases, the real estate increases on a two-layer board (two level is minimum). However, for people starting out building devices like this, a two layer board is enough to accomplish quite a bit. I've built some neat circuitry using only two layer boards.
"Do you forsee this CPU emulation being even roughly equivalent to even a bottom-of-the-line CPU?"
Open source hardware cannot attack the CPU or IC industry, simply for manufacturing reasons. I wouldn't even attempt IC's or CPU's in open source hardware (even though full schematics and plans are available online for free for many processors). But the trick is, many many things are possible with circuits. Cordless phones, stereos, everyday gizmos. For example, want a device to sense when you enter a room and turn on the stereo for you? Just download and print out the layout. This would be strictly kept to simple, everyday circuitry at first - and possibly extend into the IC industry as manufacturing technology advances. But that's way off.-- ee_moss,
Apr 14 2004
The biggest impediment to having an open source hardware movement is the expense of materials consumed during the development cycle. With software this isn't an issue because recompiling source code costs only time, assuming compilation in the background on a machine which would be running partially idle anyway. Even after counting the price of electricity, the cost of recompiling is negligible. Now contrast this with the hardware world. Every iteration requires fresh stock material in the form of copper clad board, solder, wire, and various electronic devices. These materials carry significant cost relative to the typical individual's budget.
Where software encourages experimantal development by allowing incremental changes being tested at each step, hardware discourages it through the high cost of building prototypes for testing.
While I'm on the soapbox, I'll go ahead and point out that there's no reason to limit yourself to open-source tools for designing and building open-source hardware, if you happen to already have them available. As long as the design documents are maintained in a format that conforms to some open standard, then you are free to use proprietary tools to help you improve the design all you want.-- BigBrother,
Apr 14 2004
[BigBrother]: "The biggest impediment to having an open source hardware movement is the expense of materials consumed during the development cycle."
You are very correct in this. I agree with you completely - paying for materials is a problem in the development cycle. However, circuit design and simulation software also exists to do most of the design work on a computer without any materials. I've actually designed many analog circuits on PSpice, simulated it and programmed it to get the results I wanted, and then immediately built an actual circuit from that design that acted almost identical in the real world. However, for high speed precision analog applications, PSpice tends to fall short. In that case, a lot of iterations do need to be done in the real world. But this only requires one person to do those iterations and designs at a time - as soon as one person finishes his design on the project, he can share those results with other people online, and it decreases the total amount of materials everyone has to use to get to a finished product.
A large portion of this problem of wasted iterations and used materials can be overcome through the use of software simulations, where you can tweak a value and see its effects - prototype the entire circuit in software. There's actually an entire open source software idea in itself that can go along with this, but it's too big to write here so that's saved for another day :)-- ee_moss,
Apr 14 2004
Could you post a link to your design for the PCB router you designed? So that I can attempt to create one as well? Also is the design scalable to create a larger table version? Also do you know of where I could find opensource/shareware software for creating 2D layers from 3D design , simular to that which is used in rapid prototyping machine?-- MySoulWanders,
Apr 20 2004
Sure thing - this shows a much older version of what I built, but it worked and I'm currently in the process of upgrading and making it bigger and stronger. Originally, I put together this "router" using a sharpie to draw the circuit on the board. The permanent marker acts as an acid resist, so then you dip the board in the acid and the lines you drew using the machine remain. The page below will take you through the steps and design considerations in building your own very cheap router:
It covers the hardware electronics design & schematics, wirewrapping tips, external logic needed to drive motors, explainations of stepper motors and how they work, building the mechanical stuff, code (written in C and compiled using the open source C compiler GCC for the HC11 microcontroller).
Not sure of where to find any open source software like you're referring to though-- ee_moss,
Apr 21 2004
To make dreams come true, this must be done, I believe. The specified specifications are not defined. Therefore you must remember not to hint of a solution in your problem statement.-- tito,
Apr 28 2004
EE, a wonderful idea.
There is a smaller project that doesn't go back to square one - they don't start with a router. MegaSguirt is a built-it-yourself fuel injection for your car. You can't accuse them of not being ambitious. They have successful builders, are up to version 2.2 and have related projects.
It was done by Bowling and Grippo and can be seen at
Jul 05 2004
Hey... I've got an old plotter at my parents' house... I think. Came with an IBM XT and still works. Now there's a thought. If I combined it with a Dremel... sod this, I'll pick it up next time I go see my parents.-- david_scothern,
May 05 2005
The implications of this idea would be wonderful. A CNC router however, is not the von Neumann machine you make it out to be. PCB routers will have a hard time trying to manufacture anything other than PCBs, and certainly will not be able to manufacture themselves, as a lathe is required for a good portion of it.
I am also very interested in creating my own router from an inkjet printer, but the link to your page is broken. Care to post a working one?-- Aq_Bi,
May 05 2005
I didn't read this properly until now.
The key feature of this (if I understand
correctly) is the construction of cheap
router that can create PCBs, yes?
Well, OK, but I don't see that per se as a
significant aspect of "open source
hardware". Making a PCB (at least up to
two layers) is usually the least
problematic part of creating a piece of
hardware. It is not at all difficult to do
it by the old-fashioned
photolithographic method, and all you
need for that is a good regular printer,
a basic UV source and a couple of tanks
of very cheap chemicals (OK, and a pair
of gloves). The graphics files can be
exchanged electronically, as could the
programs for your router.
Your router sounds ingenious, and all
power to you, but I don't think it alone
is going to bring on an era of open
source hardware.-- MaxwellBuchanan,
Feb 20 2008
Are you mad that a four year old post has been brought back?-- n81641,
Jun 10 2008
Gee, since about 2003, I have been using PCBs from quick turn suppliers - some provide free schematic capture and board layout tools, and "3 boards in 3 days for $51" is common. [link]
Agreed, a NC router can do a faster job, but can it do 0.010" features? I also like to get some spare boards for future prototyping use.-- csea,
Jun 10 2008
I think there is a huge difference in the frustration factor surrounding hardware development verses software development:
If you download some Open source software, manage to get it compiled, and it works, then even a non programmer can change some things and see what happens.
If you download a CAD file for a circuit, make a PCB, load it, and power it up, a tiny mistake, like a diode in backwards, can destroy many components, leaving you with, at best, a diagnostics challenge, or you have to start all over.
Not only are the tools a barrier to entry for Open Source hardware, but the level of difficulty.-- n81641,
Jun 10 2008
I think cost of materials during development is much less of a problem than cost of equipment for production. The main advantages of open source software is that it is free. It is free despite the considerable cost in time for developing OS software. OS software works with standard operating systems that make it easy for one person to write a program that nearly all computer users can use. OS hardware projects are much less accessible, because individuals do not own the means of production needed for making the hardware designs into usable goods. I think standardized robotic manufacturing equipment in many homes is needed to make OS hardware work.-- sninctown,
Jan 17 2009
The problem with hardware is that nobody can really say
what it is.
I can clang a few stones against the anvil 'just right' to
make a sort of circuit out of the ionic discharges and have
them translate into some sort of computed effort upon a
detection screen (if i
were, say, god) but does that make it reproducible
hardware? Maybe I'm missing the point. Didn't read it all,
Jul 19 2010