We are giving away free PCB manufacturing vouchers to the first 20 projects that register. Just follow the instructions below. Current status: 10/20 left.
Kitnic is a registry of open source hardware electronics projects that are ready to order and build. The most important elements of a Kitnic project page are:
- A prominent link to download the Gerber files and a preview rendering of the board
- The ability to quickly add the required components to a retailer shopping cart (using clever magic in the form of our browser extension)
Help us build a open hardware repository of useful electronics projects!
- Join gitter.im chat
- IRC freenode#kitnic
- Post on our Google Groups mailing list
##Submitting your project
To submit your project to Kitnic, follow these steps:
1. Export your plotted gerbers & drill data and check that they will render
nicely using viewer.tracespace.io. Put them into a directory - by
default the path gerbers/
will be searched. If this is not where they are
stored, please add this info in the kitnic.yaml file (see below).
2. Create the 1-click-bom file.
Download the extension and see the guide on exporting a 1-click-bom from your
design. This format will allow people to quickly purchase
the components. By default this file is expected to be a 1-click-bom.tsv
in
the root of the project, if the file has a different name or is in a different
location, please add this info in the kitnic.yaml file (see below).
3. (Optional) Create the YAML project description file. The kitnic.yaml
file allows you to specify a website you would like to link to, give a summary
of your project, pick a rendering color or configure custom paths for the two
requirements above. If you don't have a kitnic.yaml
with a summary we
will try and find a summary from your repo. If we can't find one the build
will fail. See the section below for details of the file
format.
4. Add your project to a Git repository. To have your project included on Kitnic it needs to be in a publicly accessible Git repository (but it doesn't have to be on GitHub). If you don't know how to use Git then don't worry! - you can easily create a repo on GitHub and upload your files using the web interface.
5. Add your project to Kitnic's board list.
To add your project to Kitnic, edit the boards.txt file, by
appending the full public URL to your repo (including https://
, http://
orgit@
). Then submit a pull request and Travis CI should confirm that it
builds ok. If any of the requirements above are not met then this process will
likely fail.
We will then preview your page and merge it so it appears on kitnic.it.
If you run into any problems please get in touch via Gitter chat, IRC (freenode#kitnic) or the mailing-list.
Currently the kitnic.yaml
makes use of the following fields:
summary: A description for your project
site: A site you would like to link to (include http:// or https://)
color: The solder resist color of the preview rendering. Can be one of:
- green
- red
- blue
- black
- white
- orange
- purple
- yellow
bom: A path to your 1-click-bom in case it isn't `1-click-bom.tsv`.
gerbers: A path to your folder of gerbers in case it isn't `gerbers/`.
Paths should be in UNIX style (i.e. use /
not \
) and relative to the root
of your repository. The YAML format is pretty straight forward but if you need
to know more check the example below and the YAML website. Use this YAML
validator to be extra sure that your kitnic.yaml
is valid.
Check out the repo links of the projects listed on kitnic.it already. The minimum required file tree is something like :
.
├── 1-click-bom.tsv
└── gerbers
├── example.cmp
├── example.drd
├── example.dri
├── example.gko
├── example.gpi
├── example.gto
├── example.plc
├── example.sol
├── example.stc
└── example.sts
A more advanced example could be something like:
.
├── kitnic.yaml
└── manufacture
├── advanced-example-BOM.tsv
└── gerbers-and-drills
├── advanced-example-B_Adhes.gba
├── advanced-example-B_CrtYd.gbr
├── advanced-example-B_Cu.gbl
├── advanced-example-B_Fab.gbr
├── advanced-example-B_Mask.gbs
├── advanced-example-B_Paste.gbp
├── advanced-example-B_SilkS.gbo
├── advanced-example.drl
├── advanced-example-Edge_Cuts.gbr
├── advanced-example-F_Adhes.gta
├── advanced-example-F_CrtYd.gbr
├── advanced-example-F_Cu.gtl
├── advanced-example-F_Fab.gbr
├── advanced-example-F_Mask.gts
├── advanced-example-F_Paste.gtp
└── advanced-example-F_SilkS.gto
with kitnic.yaml
containing:
summary: A more advanced example
site: https://example.com
color: red
bom: manufacture/advanced-example-BOM.tsv
gerbers: manufacture/gerbers-and-drills
- Nodejs >= 4
- fswatch on OSX/Windows or inotify-tools on Linux
- Ninja Build >= 1.5.1
- Sass >= 3.2.12
- The rest of the dependencies can be retrieved via
npm install
- Get requirements above and make sure executables are on your path
npm install
npm start
- Point your browser at
http://127.0.0.1:8080
. The script should watch for file-saves and re-build when you change a source file.