SKDB

SKDB is a method for sharing hardware over the internet. It is under development by Ben Lipkowitz and Bryan Bishop, among others,. "Hardware" means not just designs for circuit boards, but also biological constructs, scientific instruments, machine tools, nuts and bolts, raw materials, and how to make them. 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". The SKDB project is a means of indexing, cross-referencing and building dependency-trees for hardware goods. Tell it you want to build a car, and it will give you a list of the necessary components and sub-components and list the tools required to make each one.

RepLab will need a robust way to represent and track designs, builds, edits, forks and all the other information management challenges of an open-source distributed hardware project.

SKDB is new but extremely promising. Sites like Thingiverse are a great beginning, but 90% of the designs are for a RepStrap or a laser cutter, which both have the virtue of being reasonably 'plug and play'. When you have multiple tools requiring human intervention and parts as prerequisite components, a more sophisticated means of managing the digital designs is needed.

RepLab needs a representation format, and SKDB needs a meaningful test case to develop its functionality. At a minimum, all data for the projects should be described in YAML wherever possible.

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 BOMs (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.

More Information

 * git repository
 * web view http://adl.serveftp.org/skdb/
 * presentation
 * IRC: #hplusroadmap on irc.freenode.net
 * main wiki
 * p2p-foundation: SKDB

Videos

 * SKDB: Downloading hardware over the web (Hplus Summit 2009) part 1/3 part 2/3 part 3/3