# Accessing and Using Adafruit PCB Design Files

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/104/774/medium800/adafruit_products_banner.jpg?1632150997)

As part of being an open source company, Adafruit provides the design files for all Adafruit designed printed circuit boards (PCB). These are provided as [Eagle CAD](https://www.autodesk.com/products/eagle) files and hosted on [GitHub](https://github.com/adafruit).

This guide shows you how to find, download, and view these files. It also shows how to perform some commonly requested tasks, like extracting a designed part for use elsewhere.

This guide is not meant as a way to learn Eagle CAD. Only very basic usage is covered here. For more in depth coverage of Eagle CAD usage, checkout these guides:

[Make your own PCB with Eagle, OSH Park, and Adafruit!](https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle)
[KTOWN's Ultimate Creating Parts in Eagle Tutorial](https://learn.adafruit.com/ktowns-ultimate-creating-parts-in-eagle-tutorial)
# Accessing and Using Adafruit PCB Design Files

## Finding and Downloading

![](https://cdn-learn.adafruit.com/assets/assets/000/104/775/medium800/adafruit_products_repo_banner.jpg?1632151233)

The easiest place to start looking is the **Downloads** page of the associated [Learn guide](https://learn.adafruit.com/) for the product. This page is typically near the end of the guide. Look for something that references "EagleCAD PCB file" or similar.

Here's an example download using the [Circuit Playground Express guide](https://learn.adafruit.com/adafruit-circuit-playground-express). GitHub is not really meant for hosting files for individual download. Each repository is intended to be treated in its entirety. **So be careful to download the files as shown here.** Otherwise you might end up with something unexpected.

Danger: 

From the guide **Downloads** page, find and click on the link to the Eagle CAD PCB files.

![adafruit_products_download1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/697/medium640/adafruit_products_download1.jpg?1631824955)

This will take you to the Github repository. Click on the **Code** button.

![adafruit_products_download2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/698/medium640/adafruit_products_download2.jpg?1631825000)

Then click on **Download ZIP** and save to your PC somewhere.

![adafruit_products_download3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/699/medium640/adafruit_products_download3.jpg?1631825090)

This zip file will contain the schematic (.sch) and board (.brd) files for the PCB. Extract **both** of these and save them to the same location.

![adafruit_products_download4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/700/medium640/adafruit_products_download4.jpg?1631825229)

## Cloning (optional)

If you are familiar with git, then you can also just clone the repo.

```auto
git clone https://github.com/adafruit/Adafruit-Circuit-Playground-Express-PCB.git
```

We won't cover installing and using git here though. We'll assume if you want to go this route you know what to do.

# Accessing and Using Adafruit PCB Design Files

## Viewing with Eagle

The easiest way to view the downloaded PCBs file is by using the same software they were created with - [Eagle](https://www.autodesk.com/products/eagle/overview). You can download a free version here:

[Eagle Free Download](https://www.autodesk.com/products/eagle/free-download)
The free version has some limits on the number of board layers and size. However, you should still be able to **view** any of the downloaded PCB files.

## Board and Schematic Files

Eagle splits the PCB design in to two distinctly different files:

- **.sch** - This is the **schematic** file. It defines the overall electronic circuitry for the device.
- **.brd** - This is the **board** file. It defines the physical board layout, including its shape, routing electrical traces, pads, silk screen, etc.

These two files are bonded together. Changes in one directly affect the other. For basic viewing, this isn't too important. Just keep in mind that typically both files are open at the same time.

## Opening the PCB Files

Here's an example:

Start Eagle and it will bring up the Control Panel.

![adafruit_products_eagle0.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/701/medium640/adafruit_products_eagle0.jpg?1631828890)

From the drop down menu, select:

**File-\>Open...-\>Schematic...**

Navigate to where you extracted the files and open the **.sch** file.

![adafruit_products_eagle1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/702/medium640/adafruit_products_eagle1.jpg?1631828950)

The schematic will open and look something like this.

![adafruit_products_eagle2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/703/medium640/adafruit_products_eagle2.jpg?1631829251)

The board file will also open and look something like this.

![adafruit_products_eagle3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/704/medium640/adafruit_products_eagle3.jpg?1631829293)

## Basic Navigation

What you do next depends on what you're after. We'll cover some common use cases next. But if you just want to look around, basic navigation is pretty easy.

- Zoom in/out using the mouse wheel.
- Drag view by clicking and holding mouse wheel while dragging.

# Accessing and Using Adafruit PCB Design Files

## Board Layers

When the board file first opens it may look like a mess. There are numerous layers used for the board definition, things like the copper, holes (drills), silkscreen (labels), etc. You can selectively turn these on/off to clean up the view.

To bring up the **Layers** dialog, click the layers icon in the upper left corner of the board layout window.

![adafruit_products_layers1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/752/medium640/adafruit_products_layers1.jpg?1631917800)

The **Visible Layers** dialog can be used to turn layers on/off.

![adafruit_products_layers2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/753/medium640/adafruit_products_layers2.jpg?1631917852)

To turn on/off an individual layer, left click with mouse button in the eyeball column. If the eyeball is shown, the layer is visible.

![adafruit_products_layers3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/754/medium640/adafruit_products_layers3.jpg?1631918123)

Multiple layers can be selected by dragging with left mouse button, using \<CTRL\>+left button, and/or \<SHIFT\>+left button.

Then use the **Show Layers** and **Hide Layers** buttons to turn on/off all selected layers.

![adafruit_products_layers4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/756/medium640/adafruit_products_layers4.jpg?1631918346)

## Layers Explained

Here are several sources of information that explain what each layer is.

[An Introduction to Layers in Eagle ](https://learn.adafruit.com/ktowns-ultimate-creating-parts-in-eagle-tutorial/creating-a-package-outline)
[Every Layer in Autodesk EAGLE and What You Need to Know About Them](https://www.autodesk.com/products/eagle/blog/every-layer-explained-autodesk-eagle/)
[Eagle Layers Explained ](https://docs.oshpark.com/design-tools/eagle/eagle-layers-explained/)
## Custom Art Silk Screen Layers

These layers typically end up being something other than the standard tPlace and bPlace layers. Scroll down and look in the 200 range for layers with names like **200bmp**.

# Accessing and Using Adafruit PCB Design Files

## Locating Parts

Since the board and schematic files are linked, you can use one to find parts in the other. For example, where on the Circuit Playground Express is the accelerometer? It's pretty easy to find on the schematic, there's a big label that says "Accelerometer". Here's how you can use that to find the part on the board.

In the schematic window, click the eyeball icon (Show).

![](https://cdn-learn.adafruit.com/assets/assets/000/104/757/medium800/adafruit_products_find_part1.jpg?1631919598)

Then click on the accelerometer part in the schematic.

![](https://cdn-learn.adafruit.com/assets/assets/000/104/758/medium800/adafruit_products_find_parts2.jpg?1631919620)

The part will highlight in **both** the schematic and board views.

![](https://cdn-learn.adafruit.com/assets/assets/000/104/759/medium800/adafruit_products_find_parts3.jpg?1631919645)

This can be done in either direction, schematic-\>board or board-\>schematic. Even though highlighted, the part can sometimes still be hard to find on a busy board. Try turning off layers to help clean up the view.

Info: 

# Accessing and Using Adafruit PCB Design Files

## Extracting Parts

Parts in Eagle are stored in library files with a **.lbr** extension. Creating these parts from scratch to populate a library can be a [time consuming process](https://learn.adafruit.com/ktowns-ultimate-creating-parts-in-eagle-tutorial). It's possible to extract parts from existing PCB files for re-use or importing into your own libraries.

For example, let's say you have a custom board you are working on and plan to use the LIS3DH accelerometer. There's one of those on the Circuit Playground Express. Here's how you can can extract the LIS3DH Eagle part from the Circuit Playground Express PCB files.

## Extracting Parts
Info: 

In the board view window, select

**File-\>Export-\>Libraries**

(this is just a shortcut to **exp-lbrs.ulp** )

![adafruit_products_extract_lib1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/762/medium640/adafruit_products_extract_lib1.jpg?1631921718)

This will bring up the **Export** dialog.

In the **Path:** window, provide a location for the libraries to be extracted to.

![adafruit_products_extract_lib2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/763/medium640/adafruit_products_extract_lib2.jpg?1631921747)

 **Now sit back and relax**. Another window will open and stuff will happen while the export runs. This can take several minutes depending on how many parts are being exported.

Look in the window title bar for a report on the export progress.

![adafruit_products_extract_lib3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/764/medium640/adafruit_products_extract_lib3.jpg?1632066577)

When done, it will leave the newly created library open in the library editor.

![adafruit_products_extract_lib4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/765/medium640/adafruit_products_extract_lib4.jpg?1632066638)

Click the Table of Content icon (looks like open book) to see the listing of all the parts.

![adafruit_products_extract_lib5.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/766/medium640/adafruit_products_extract_lib5.jpg?1632066918)

You can continue to view and edit the library, or just close this window. The library file should be created in the location you specified earlier. The file will have an **.lbr** extension.

Info: 

To access the library, it should be located in one of your Eagle Library directory locations. To check from the Control Panel:

**Options-\>Directories**

It also needs to be "enabled" for use in the Control Panel.

## Importing Parts

You can use parts directly from the library file created via the export script. Or you can import specific parts into your own library files. In Eagle, there are several items associated with a part:

- **Device** - Footprint + Symbol
- **Symbol** - used on schematic
- **Footprint** - used on board

To import a part, first make sure the library is located in an Eagle Library directory and is set to **Use**.

In the Control Panel, open the library file you want to import into:

**File-\>Open-\>Library...**

![adafruit_products_import_lib1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/767/medium640/adafruit_products_import_lib1.jpg?1632067125)

You can either import the entire part (device) or just the footprint/symbol.

Most likely, you want to **Add Device.**

![adafruit_products_import_lib2_b.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/786/medium640/adafruit_products_import_lib2_b.jpg?1632168046)

In the dialog that pops up, click the **Import...** button.

![adafruit_products_import_lib3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/769/medium640/adafruit_products_import_lib3.jpg?1632067554)

Find the previously exported library.

![adafruit_products_import_lib4.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/770/medium640/adafruit_products_import_lib4.jpg?1632068449)

- Expand the library to show all the parts.
- Select the device you want to import.
- Click OK.

![adafruit_products_import_lib5.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/771/medium640/adafruit_products_import_lib5.jpg?1632068504)

The part is now imported into the library. Note that the device, footprint, and symbol are all added.

![adafruit_products_import_lib6.jpg](https://cdn-learn.adafruit.com/assets/assets/000/104/772/medium640/adafruit_products_import_lib6.jpg?1632068688)

# Accessing and Using Adafruit PCB Design Files

## Dimensional Info

Obtaining specific dimensional information about a PCB is another commonly requested item. How long/wide is the board? What are the diameter of the holes? Where are the holes? etc.

In the primary Learn Guide for a product, so called "Fab Prints" are provided, typically in the Download section at the end of the guide. For example, here's the one from the [BMP280 guide](https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/downloads).

![fab](https://cdn-learn.adafruit.com/assets/assets/000/093/018/medium640/adafruit_products_BMP280_fab_print.png?1594315811)

These fab prints will have some general overall dimensional information. Maybe that has what's needed? If not, then the **dimension** tool in Eagle can be used to try **\*** and find the desired information.

Info: 

Start by activating the dimensioning tool.

- Click the **Dimension** icon in the toolbar.
- This will bring up the dimension tool options in the top menu.
- Set **Units** to desired value.

![adafruit_products_dimension1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/105/648/medium640/adafruit_products_dimension1.jpg?1634666486)

There are several specific options depending on what is being measured. Select one using the appropriate icon in the top bar. Use **horizontal** or **vertical** for basic dimensioning. Use **radius** or **diameter** for circle/hole/drill dimensioning. Use **angle** for any angles of interest.

### Horizontal
1. Set start point of first leg.
2. Set start point of second leg. This also defines the dimension length.
3. Set location of dimension label.

![adafruit_products_dim_horiz.png](https://cdn-learn.adafruit.com/assets/assets/000/105/636/medium640/adafruit_products_dim_horiz.png?1634663424)

### Vertical
1. Set start point of first leg.
2. Set start point of second leg. This also defines the dimension length.
3. Set location of dimension label.

![adafruit_products_dim_vert.png](https://cdn-learn.adafruit.com/assets/assets/000/105/637/medium640/adafruit_products_dim_vert.png?1634663649)

### Radius
1. Set center location.
2. Set radius by clicking any point on circumference. This defines the radius value.
3. Set location of radius label.

![adafruit_products_dim_rad.png](https://cdn-learn.adafruit.com/assets/assets/000/105/638/medium640/adafruit_products_dim_rad.png?1634663723)

Diameter

1. Set start location on circumference.
2. Set opposite start location. This defines the diameter value.
3. Set location of diameter label.

![adafruit_products_dim_dia.png](https://cdn-learn.adafruit.com/assets/assets/000/105/640/medium640/adafruit_products_dim_dia.png?1634663874)

### Angle
1. Set apex location.
2. Set a point anywhere on first leg.
3. Set point on second leg. This defines the angle value as well as the dimension label location.

![adafruit_products_dim_ang.png](https://cdn-learn.adafruit.com/assets/assets/000/105/643/medium640/adafruit_products_dim_ang.png?1634663968)

## Snapping Behavior

No one fully understands Eagle's snapping behavior when using the dimension tool. Just punch your way through it as best you can.

If you find you can't quite get the two dimension points you're attempting to measure, consider turning off layers that don't apply to the desired measurement so you have better access to the two points you're going for.

## Hole Specific

For any hole (drill, via, etc.), it's generally easier to use the information tool to get the size (diameter). This may require accessing the part in the Library Editor. Here's a simple example for a via.

- Select the **Info** tool from the toolbar.

![adafruit_products_dim_info2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/105/646/medium640/adafruit_products_dim_info2.jpg?1634665154)

- Click the **via** of interest.
- See info in dialog.

![adafruit_products_dim_info.jpg](https://cdn-learn.adafruit.com/assets/assets/000/105/645/medium640/adafruit_products_dim_info.jpg?1634665038)

# Accessing and Using Adafruit PCB Design Files

## Design Blocks

![](https://cdn-learn.adafruit.com/assets/assets/000/106/575/medium800/adafruit_products_db.jpg?1637174204)

Want to treat an entire board assembly as a single part? Then checkout the guide linked below for information on creating and using **Design Blocks**.

[Eagle CAD Design Blocks](https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle/extracting-design-blocks)
# Accessing and Using Adafruit PCB Design Files

## Generating BOM

Another common request is for the Bill of Materials (BOM) that goes with a specific board. Or what specific "part number" is used for item X on a board.

## BOM Export

A simple BOM can be exported directly from EAGLE's schematic editor.

Start a BOM export by selecting

**File \> Export \> BOM**

from the EAGLE menu.

![adafruit_products_bom_export1.png](https://cdn-learn.adafruit.com/assets/assets/000/122/919/medium640/adafruit_products_bom_export1.png?1689961471)

In the dialog that appears, select **Output format** desired (ex: **CSV** ) and then click **Save...**

Select a name and location for the file and save it.

![adafruit_products_bom_export2.png](https://cdn-learn.adafruit.com/assets/assets/000/122/920/medium640/adafruit_products_bom_export2.png?1689961566)

## Part Numbers

The BOM output above will **not** contain specific part numbers. Only general references are provided, like for a 1uF 0603 capacitor. Some parts \*may\* have a part number call out added in the comment or other meta data location associated with the EAGLE part which can be useful. But that should not be taken as a guarantee of that part actually being used.

The actual parts used are determined as part of the manufacturing process **and they can change with time**. That's why there is generally no simple answer to "what is the part number for item X". However, there should be enough information available to find a source for a given part. For example, **any** 1uF 0603 SMD capacitor should generally work. That information specifies the value (1uF), size (0603), and type (SMD) of the part in question.

# Accessing and Using Adafruit PCB Design Files

## Viewing with KiCad

The Eagle PCB files can also be imported into [KiCad](https://www.kicad.org/) for viewing. This is pretty simple since KiCad natively supports importing Eagle files. Here we run through the basic steps of importing Eagle files into KiCad.

The initial downloading of the Eagle PCB files is the same as previously discussed. See the&nbsp;[Finding and Downloading](https://learn.adafruit.com/accessing-and-using-adafruit-pcb-design-files/finding-and-downloading) section of this guide for more info. It is assumed that step has already been done and the Eagle files exist locally on the PC running KiCad.

## Create a Destination Folder

During the import process, KiCad will ask for a destination folder to save the resulting file(s). This will essentially be a new KiCad "project" and the folder name is the project name. This folder can potentially be created on the fly during the import (OS specific) or manually created beforehand.

A simple option is to re-use the same folder name as the original. For the Circuit Playground Express example, this would be **Adafruit-Circuit-Playground-Express-PCB**. Create that folder in a new location so it won't conflict with Eagle folder.

Here's an example layout as used for this guide:

```terminal
├── eagle
│   └── Adafruit-Circuit-Playground-Express-PCB
│       ├── Adafruit Circuit Playground Express.brd
│       ├── Adafruit Circuit Playground Express.sch
│       ├── assets
│       │   └── 3333.jpg
│       ├── CPX.pdf
│       ├── license.txt
│       └── README.md
└── kicad
    └── Adafruit-Circuit-Playground-Express-PCB
```

The original Eagle PCB files have been git cloned into the **eagle/Adafruit-Circuit-Playground-Express-PCB** folder. The **kicad/Adafruit-Circuit-Playground-Express-PCB** will be the destination for the import.

## KiCad Import

Here are the basics steps for importing an Eagle PCB file into KiCad.

Launch KiCad and go to **File -\> Import Non-KiCad Project... -\> EAGLE Project...**

![](https://cdn-learn.adafruit.com/assets/assets/000/143/114/medium640/adafruit_products_kicad_import1.png?1773943456)

Navigate to where the Eagle PCB files were git cloned and select the **.brd** file and open it.

![](https://cdn-learn.adafruit.com/assets/assets/000/143/115/medium640/adafruit_products_kicad_import2.png?1773943548)

This will then open a new KiCad schematic&nbsp; **and** PCB editor window (two separate windows) and start the import process.

A dialog will now be shown to allow mapping Eagle PCB layers into KiCad layers. It's possible to go layer-by-layer to manually map as desired. However, here we only show using the auto mapping option.

Click the **Auto-Match Layers** button.

![](https://cdn-learn.adafruit.com/assets/assets/000/143/116/medium640/adafruit_products_kicad_import3.png?1773943843)

The mapped layers will show up in the right hand **Matched Layers** window.

Now click **OK**.

![](https://cdn-learn.adafruit.com/assets/assets/000/143/117/medium640/adafruit_products_kicad_import4.png?1773944059)

KiCad may complain about some layers not being imported. This is because we chose to auto match layers and not all layers could be matched. Fixing this requires manually mapping in the previous step, but for simplicity, we are not covering this here.

Click **OK** to these dialogs to dismiss them.

![](https://cdn-learn.adafruit.com/assets/assets/000/143/118/medium640/adafruit_products_kicad_import5.png?1773944186)

The end result should be two KiCad windows - one for the schematic and one for the PCB.

![](https://cdn-learn.adafruit.com/assets/assets/000/143/119/medium800/adafruit_products_kicad_import6.png?1773944448 )

Warning: At this point the files have been imported but not saved.

Note that these files are not saved. So as a final step, save both files. Can use menu option **File -\> Save**. Or click the disk icon. Or use key combo **CTRL-S**. Be sure to save both though. Otherwise you'll have to go through the import process all over again :)


## Related Guides

- [DC & USB Boarduino Kits](https://learn.adafruit.com/boarduino-kits.md)
- [Adafruit TSSP77038 38KHz Infrared IR Demodulator Breakout](https://learn.adafruit.com/adafruit-tssp77038-38khz-infrared-ir-demodulator-breakout.md)
- [Adafruit Qwiik/STEMMA QT 5 Port Hub](https://learn.adafruit.com/qwiik-stemma-qt-5-port-hub.md)
- [Adafruit Trinkey QT2040](https://learn.adafruit.com/adafruit-trinkey-qt2040.md)
- [Adafruit SPI Flash SD Card](https://learn.adafruit.com/adafruit-spi-flash-sd-card.md)
- [Adafruit ADG728 1-to-8 Analog Matrix Switch](https://learn.adafruit.com/adafruit-adg728-1-to-8-analog-matrix-switch.md)
- [I2C/SPI LCD Backpack](https://learn.adafruit.com/i2c-spi-lcd-backpack.md)
- [Adafruit FT232H With SPI & I2C Devices](https://learn.adafruit.com/adafruit-ft232h-with-spi-and-i2c-libraries.md)
- [MCUME Emulators on Fruit Jam](https://learn.adafruit.com/mcume-emulators-on-fruit-jam.md)
- [Adafruit 2.13" 250x122 Quad-Color eInk](https://learn.adafruit.com/adafruit-2-13-250x122-quad-color-eink.md)
- [Adafruit MiniPOV3 Kit](https://learn.adafruit.com/minipov3.md)
- [Adafruit VEML6075 UVA / UVB / UV Index Sensor](https://learn.adafruit.com/adafruit-veml6075-uva-uvb-uv-index-sensor.md)
- [Raspberry Pi Rotary Encoder Animated Gif Player](https://learn.adafruit.com/python-rotary-animated-gif-player-two-different-ways.md)
- [Adafruit ATtiny Breakouts with seesaw](https://learn.adafruit.com/adafruit-attiny817-seesaw.md)
- [LED Masquerade Masks with n00ds](https://learn.adafruit.com/led-masquerade-masks-with-n00ds.md)
