---------- Forwarded message ---------- From: Bryan Bishop kanzure@gmail.com Date: Mon, Apr 5, 2010 at 1:22 PM Subject: Apt-get for Hardware To: austin-hacker-space@googlegroups.com, kanzure@gmail.com, Open Manufacturing openmanufacturing@googlegroups.com, Hackerspaces General Discussion List discuss@lists.hackerspaces.org
Hey all, [this was originally sent to the Austin Hackerspace mailing list]
I am presenting at Texas Linux Fest 2010 this Saturday (April 10th) on one of the projects I contribute to, dubbed SKDB. Essentially, it's apt-get for hardware. Registration for the conference is $40 and it's up at the Marchesa Event Center in Austin, Texas. Here's the scoop on the project (but some links first!):
http://designfiles.org/dokuwiki/skdb git: http://designfiles.org/skdb.git irc: #hplusroadmap on irc.freenode.net irc logs: http://gnusha.org/logs/ and http://gnusha.org/irclogs.txt
And in particular, the talk abstract: http://texaslinuxfest.org/talks/2010/apt-get-for-hardware/
""" SKDB is a method for sharing hardware over the internet. By "hardware" we mean not just designs for circuit boards, but also biological constructs, scientific instruments, machine tools, nuts and bolts, raw materials, and how to make them.
You don't need to reinvent the wheel every time you begin a new project. Someone out there has probably already done most or all of the work for whatever you are trying to do, and then released the plans on the internet. There are many common tools and parts involved in making things. If only we could just "get" everything automatically from the web, DIY manufacturing would be much easier. Essentially we want to do something like "apt-get" for Debian or "emerge" for Gentoo, the Linux software package managers. SKDB simplifies the process of searching for free designs, comparing part compatibility, and building lists of materials and components and where to get them. You could even say SKDB is "apt-get but for real stuff".
In SKDB, hardware is organized into packages. Packages are a standard and consistent way for programs to find data. Packages may contain CAD files, CAM parameters, computer-readable descriptions of product specifications, product-specific code, and bill of materials. For each part in a package there are a number of interface definitions, which describe how the part can connect with other parts, even parts from other packages. Each package also lists dependencies which have to be bought or built in order to successfully carry out a project. For example a drill press is required to make holes with a certain level of accuracy. SKDB downloads all of the dependencies automatically and compares them to your existing inventory, and generates instructions for your CNC machinery if you have any. """
There are some non-technical videos from a presentation I gave last December located here: http://gnusha.org/ .. Gnusha is an open source hardware co-op that I have working with. The text on the page is from an update email on 2010-01-12, and more recently there was a huge update in late March that I haven't sent out (still editing?).
I also wanted to bring up an idea that I will be focusing on at the shop w/ Les. I think the linux kernel is a good starting point for running a fablab, machine shop, hackerspace, techshop, or even a lab. Essentially what I would love to have is, not only apt-get for hardware, but also machines hooked up to /dev on a server. So, maybe the laser cutter is mounted on /dev or otherwise through cupsd with a printer driver, or some hardware-over-network protocol if a machine is hooked up to EMC on a dedicated box. I'd also like to build something like /dev/parts for a vending machine of small parts- imagine calling up `cat` on a file and pipping it to a vending machine, and out pop your parts for a quickie project.
For now, part bins are more efficient, but I suspect the (vague) idea is coming across. Anyway, it would be an interesting way of organizing a shop. A while back I had some silly shell scripts that I wanted to eventually, one day, work:
http://github.com/kanzure/shelltrance/blob/master/shelltrance.txt .. but it's easy to spot how that shell script could be improved significantly (like, wtf is up with the call to `mail`).
- Bryan http://heybryan.org/ 1 512 203 0507