Cadstrom

Cadstrom is a tool that helps you collaborate with confidence on Eagle CAD hardware designs. Eagle allows you to easily:

If you've ever used automated software build/test systems you'll feel right at home setting up Cadstrom.

Sample Cadstrom Build

Adding Cadstrom to your project

To start with, you'll need to ensure that your board and schematic files are committed into a git repository and uploaded to Github. Check out our guide for using eagle with git and Github if you haven't already.

To start, your directory structure probably looks something like this:

my-project/
  my-design.brd
  my-design.sch

You have your root directory which contains the Eagle .brd and .sch files. You might have other files in your repository - that's fine, they won't cause problems. If your .brd and .sch files are not in your root directory that's fine too - just remember to adjust the paths below as needed.

Creating edrc.yml

You configure Cadstrom by placing an edrc.yml file in the root of your project. This file will tell Cadstrom what files to process, and what design rules to use. It is the config for the 'electronic design rule checker' (edrc).

To start, create edrc.yml in the root of your project, leaving your directory structure like this:

my-project/
  edrc.yml
  my-design.brd
  my-design.sch

Now, edit edrc.yml and add the following:

eagle:
    drc:
        - file: 'my-design.brd'

This simple configuration file tells Cadstrom to run a design rule check (DRC) on the file my-design.brd in the root of the project. If your files are in subdirectories add the relative path from the root of your project.

What we have is almost enough to commit and have Cadstrom process the file, but we haven't told Cadstrom what design rules to check against. Let's do that. For now, we're going to use the design rules for OSHPark.

Cadstrom maintains a list of the design rules for a number of PCB houses so there's a good chance that we already have the design rules you'll need. You can see the full list here.

Edit edrc.yml and add the last line:

eagle:
    drc:
        - file: 'my-design.brd'
          dru: 'oshpark-2layer'

This will use the built-in OSHPark 2-layer design rules, which are configured to OSHPark's manufacturing capabilities.

Finish setting up Cadstrom by adding the edrc.yml file to git:

git add edrc.yml
git commit -m "Add Cadstrom configuration"

Setup Cadstrom to automatically check your designs

Once you have your Cadstrom.yml file inside your git repo and you have that pushed to Github you're ready to setup Cadstrom to automatically process your designs when you make a change.

Step 1: Start by going to Cadstrom and signing in with your Github account.

Sign into Cadstrom

Step 2: Once you're signed in, click the "Add Project" button.

Add Project

Step 3: Select your project in the list of projects from Github.

And that's it! Sit back and relax as Cadstrom queues and runs your design rule check.

Next Steps

Now that you've setup Cadstrom and had your first build run it's time to configure Cadstrom to do exactly what you want. Here's a few starting points: