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.

CONCLUSION

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.. :)