make your own pcb with eagle, osh park, and adafruit!€¦ · we're starting with this modest...

50
Make your own PCB with Eagle, OSH Park, and Adafruit! Created by Bryan Siepert Last updated on 2020-01-02 04:40:12 PM UTC

Upload: others

Post on 18-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Make your own PCB with Eagle, OSH Park, and Adafruit!Created by Bryan Siepert

Last updated on 2020-01-02 04:40:12 PM UTC

Page 2: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Overview

This guide will introduce you to the basic process I use to build PCBs based on Adafruit and other open sourcedesigns. We will extract parts of the board files as what Eagle calls "Design Blocks" and then we will use them alongwith a fundamental workflow in Eagle to create a featherwing-like board for the Trinket M0. This board will allow you tosecurely attach the Adafruit INA219 current sensor breakout to a Trinket without having to use jumper wires to connectthem together. We're starting with this modest goal to keep things simple as we learn some fundamental concepts,while hopefully also ending up with a useful circuit.

This guide will cover using a Trinket M0 and INA219 breakout, however these same methods can be used to make aPCB to replace the breadboard or protoboard. These techniques can be used to extract useful pieces from opensource boards to use in your own completely new circuit boards.

Things you'll need

To get started you'll need some hardware, some software, and the PCB design files for the Trinket M0 and INA219breakout

1 x Trinket M0The brains of the operation

Add To Cart

1 x INA219 High Side DC Current Sensor BreakoutFor all your current sensing needs! (under 3.2A)

Add To Cart

1 x Header Kit for Feather - 12-pin and 16-pin Female Header SetFemale headers to attach the Trinket and INA219 to the PCB

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 3 of 51

Page 3: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Add To Cart

The headers listed will allow you to assemble and disassemble the Trinket and INA219 breakout from the PCB we'redesigning. There are many other options for headers or other ways of connecting the PCB to the other partsdepending on how you want to use them.

Eagle and the Eagle files

You'll need to download the free version of Eagle if you don't already have it, and if you do you'll want to make sure ithas been updated to the latest version.

Autodesk Eagle Free Version (https://adafru.it/zBt)

Once you've downloaded the version of Eagle for your computer, install it according to Autodesk's Instructions.

Additionally you'll need the PCB files for the Trinket M0 and the INA219 Breakout

Adafruit Trinket M0 PCB Files ZIP (https://adafru.it/DMF)Adafruit INA219 Breakout PCB Files ZIP (https://adafru.it/DMG)

Create a directory for this project on your computer, unzip both files and copy them into your project directory.Copying the files into a new directory will preserve an original version of the PCB files in the case that you want tosave your progress as you edit them while following the guide.

Overview and Approach

On the Trinket M0 and INA219 breakout, there are pads used to make external connections to the board, usually bymounting male headers to allow the boards to be used with a breadboard. For our project we're going to use thelayout of these headers in the board files to allow us to create a new board that has header holes perfectly matchingthe spacing on the Trinket and INA219 breakout, ensuring that headers will fit correctly.

As an alternative we could take measurements from the boards themselves and use that information to arrangeheaders, however using the information in the board files will allow us to be confident that the measurements arecorrect since we're getting them straight from Adafruit.

Once we have the information for the headers for both of the boards, we will create a schematic that will define thepower and I2C connections between the Trinket and INA219 breakout that the adapter will make which will allow theTrinket to talk to the breakout.

Once the schematic is complete, it will be the guide through the steps required to create a new board. Once the boardfile is done, it can be sent to OSH Park to be manufactured. Once back, the project can be assembled and a simpleCircuitPython program loaded to use assembly to measure the current draw of another circuit.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 4 of 51

Page 4: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Extracting Design Blocks

Open your copy of Eagle and in the main "Control Panel" window, use the File > Open > Schematic menu to openyour copy of the schematic for the Trinket M0. The schematic file ends in .sch and when you open it, Eagle will ask ifyou want to open the board file as well. Say yes and select the schematic window if it isn't already selected.

The schematic will have different areas for the various parts of the board. In the case the Trinket M0, there sections forthe SAMD21 microcontroller, USB connection, power regulation, and most importantly for this project are symbols torepresent the rows of holes for mounting headers or other connections.

To remove all the redundant pieces, we’ll have to use eagle’s group and delete modes to select and then delete all ofthe nets and components from the schematic except for the headers, shown here

With the schematic window open, select the group tool to select as much of the schematic as you can, except for theheaders. Once selected, everything in the group will be highlighted. You can then select the delete tool, right click onthe group and select delete group.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 5 of 51

Page 5: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Repeat this process until the only thing left is the headers and the nets connected to them. We also want to removethe schematic frame and all the text in it because what we're left with will be pasted into another schematic, so thisframe won't be needed.

You’ll want to make sure to keep the little pieces of nets that connect to the header as they have importantinformation about what pins on the Trinket the headers pins go to.

Once you have removed everything in the schematic except for the headers and the nets connected to them, youshould be left with a very sparse schematic:

Now that the schematic has what we want, switch to the board window by clicking the SCH/BRD button in the toolbar:

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 6 of 51

Page 6: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Now in the board window you should see a representation of the Trinket board but now it will be missing some piecesbecause we deleted them from the schematic. We want to delete everything from the board except for the headersand the outline, however It's possible that you don't have all the layers visible so we'll need to make all the layersvisible for the things we want to delete. Additionally, we'll hide the layer with the outline (layer 20, Dimension) so thatit won't be deleted.

Click on the Layer Settings tool, select Used Layers from the Filter dropdown, and click Show Layers. Then de-selectthe Dimension layer and click OK to make the rest of the layers visible.

With all the layers visible you can see that there is a lot of information available in the board file, most of which we're

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 7 of 51

Page 7: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

not going to use. Among these are the Adafruit logo and any other branding on the board. Adafruit open-sources theirdesigns but their name and logos are their trademarks and should not be used without their explicit permission.

Slimming down the board

Use the Group tool to select everything and then like with the schematic select the Delete tool, right click on one ofthe selected items and choose Delete Group.

Eagle will pop up a warning saying that you're trying to delete elements that cannot be back annotated, in this case,it's talking about the headers and not deleting them is precisely what we want. Back annotation refers to Eagle'sability to keep the schematic and board in sync and will not allow you to remove the functional schematic elementsfrom within the board window.

Click OK and you should be left with just the headers and the outline. If anything else is left over, go ahead and deletethem as well.

You are now ready to save the headers as a design block.

Click the SCH/BRD button on the toolbar to switch back to the schematic view. In the schematic window's menuclick File > Save as Design Block

This will pop up the Generate Design Block window. If you wish, you can include a brief description of the part you’reworking on however I honestly skip this step. Click “Save as…” and give the block a name. The window will allow youto select a different location to save the design block however I strongly recommend that you use the default locationas it will make it easier to find later. Once you have chosen a name, click “Save” to create the design block.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 8 of 51

Page 8: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

You now have a Design Block that you will use later when we create a new schematic for the adapter board. Use thesame process to create a Design Block for the header on the INA219 breakout and you'll be ready to create theschematic.

For the INA219 Breakout schematic, you'll need to delete the pull-up resistors from the header part of the schematic soyou're left with just the header and the nets connected to it, leaving you with something like this:

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 9 of 51

Page 9: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Creating a Schematic with Design Blocks

Now that we have the design blocks for the Trinket and breakout, we can start assembling the schematic for ourboard. To start, we need to create a new blank schematic and board file.

With the schematic window open, use the File > New to create a new schematic. If you haven't saved the currentschematic you will be given a chance to save. After creating the new schematic, click the SCH/BRD button. You will beprompted to create a board file from the schematic; say yes so that we are able to paste in both the schematic andboard parts of the design blocks we created in previous steps. You will be prompted to save the current board if youwish.

Since the board we are creating is, in essence, a set of jumper wires, the schematic will only contain these connectionsthemselves, not the complete circuit with the Trinket and the breakout.

This step is analogous to what you would do when assembling a circuit on a breadboard, using wires to connectsignals between different pieces. In this case, however, instead of connecting the components of the circuit with thetracks of a solderless breadboard and jumper wires, we'll be documenting those connections in Eagle with “nets”which are Eagle’s way of representing the connections between the parts of a circuit.

Nets are used to record the “what” of the connection between two parts of a circuit. The “how” is done later whendoing the layout in the board file. This separation of concerns is useful because this leaves you the flexibility to makechoices about how the connection is made when laying out the board.

First we’ll need to add the headers for the Trinket and INA219 to the main schematic. To do this, select the Add aDesign Block tool, expand the Design Blocks node and select the first piece of your circuit. I generally start with the

Make sure to click the BRD/SCH button to create the board file before you add the design blocks or else the board parts of the design block will not paste in correctly�

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 10 of 51

Page 10: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

main processor or development board but the order doesn’t matter. Select the design block that you created for theTrinket header and click OK and you will see a copy of the schematic from the Trinket header design block followingyour cursor.

Choose a section of the schematic to place it in and right click to put it down. Once you do this, your screen willchange to the board view to allow you to place the elements from the design block on the board layout. Try to place itin the general area you will want it, but don’t worry about getting it perfect at this step.

Once you have placed the board elements you will be show the Paste from file dialog that looks like this:

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 11 of 51

Page 11: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

This dialog allows you to change the names of the “incoming” design block to avoid using the same name of an netthat already exists in the main schematic. In Eagle, two nets are connected if the have the same name, even if thereisn’t a visible connection between the two parts of a schematic. The “paste from file” dialog allows you to avoidunintended connections by changing the name of the nets from the design block before they’re added to theschematic. In our case since this is the first piece of the schematic there are no conflicts.

Click OK to finish adding the design block to the schematic.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 12 of 51

Page 12: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Repeat this process for the INA219 header design block. When the Paste from file dialog appears the one common netname is GND which is of course the ground connection. For this project and most others if the incoming design blockhas a GND net it will be OK to leave the name as it is since you generally want your grounds connected. When you usethese techniques in your future projects you will have to make that decision based on the needs of your project.

Click OK to finish adding the INA219 header.

Congratulations! You’re not done but you’re closer than when you started! The next step is to create the nets neededto make the connections between the different parts of your circuit. As before, the nets we create here will be virtualrepresentations of the connections of our circuit; you can think of them as equivalent to the jumper wires you used toconnect the parts of your circuit on your breadboard.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 13 of 51

Page 13: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Connecting with Nets

When creating and connecting nets in a schematic, I like to start with power connections but you can really startanywhere. Additionally there are several ways that you can create nets between two pins or components.

Since the GND net is already connected from when we added the two design blocks to the schematic, start to use thefirst approach of connecting nets to make the 3.3v power connection between the headers for the Trinket and theINA219. We are going to use the Net tool to draw the connection between the two net stubs on each of the headers.

To start, select the Move tool and click on the VCC symbol attached to the VCC net for the INA219 header and stretchout the net a bit to give yourself more room to draw the net. Then do the same for the 3.3V net for the Trinket (whichmay be hard to see).

Now that we have a bit more room to work with, select the Net tool and first click on the green VCC net extendingfrom pin 1 of the INA219 header. Then click to lay down net pieces towards the 3.3v net extending from pin 1 of theJP2 header for the Trinket. Finally click on the 3.3V net to join the two nets into one. Eagle will present you witha Connect Net Segments? window and will ask you to choose the new name for the combined net. Choose 3.3V andclick OK to join the two nets.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 14 of 51

Page 14: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

For the remaining nets, we'll use the fact that Eagle considers two nets as the same if they have the same name. Usingthis technique allows to to keep your schematic tidy by not requiring nets to cross the whole schematic to beconnected. It's up to you to decide which approach makes your schematic easier to understand.

Select the Name tool and click on the D2_A1_PA09_SCL_MISO net connected to pin 2 of the Trinket's JP2 header.Eagle will show a Name dialog that allows you to change the name of the given schematic element, in this case a net.As the name suggests the D2_A1_PA09_SCL_MISO net represents a connection to the Trinket's SCL pin which iswhat we want to connect to the net of the same name for the INA219 breakout. Change the name to SCL and click OK.Eagle will verify that you want to connect the two nets. Click Yes to change the name and make the connection.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 15 of 51

Page 15: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Repeat the process, renaming the D0_A4_PA08_SDA net to SDA to make the final connection. The remaining nets donot need to be connected for this project so you can leave them as they are.

Once you have connected nets between all of the pieces of your circuit that need to be connected, I suggest clickingon each of the nets with the Show tool to highlight all the connected parts of the net to verify the connections.

Congratulations! You’re not done but you have a functional circuit schematic. For this project the schematic is a meansby which to create a circuit board however schematics are valuable on their own as documentation of how a circuit isconstructed. Schematics are the circuit, the arrangement of information that creates a thing where one did notpreviously exist.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 16 of 51

Page 16: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 17 of 51

Page 17: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Layers, like an Onion

Now we arrive at my favorite part of circuit board design, layout. This is where we will translate the design representedin our schematic to a set of plans that will be used to fabricate the actual circuit board. When we’re done we will have afile that we can send to a board manufacturer like OSHPark to be manufactured.

When you switch to the Board window, you will see all of the footprints that you placed as you added the designblocks to the schematic as well as a bunch of lines between the different pins. These lines are referred to asairwires and will be present on the Unrouted layer (20) between the two closest pieces of the board that representeither end of the net. In this case, because we haven’t defined any traces yet, the airwires will span the whole distancebetween each pair of pins.

Our next steps will be to first define the general shape of our board by modifying the Dimension layer (layer 20), thenwe will position the headers on the board and finally we will use the route tool to lay down the copper traces that willmake the connections that our nets represent.

Layers

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 18 of 51

Page 18: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

It's worth taking a moment here to talk about how layers are used in Eagle. Eagle organizes information about aboard's layout into a vast array of layers, most of which we don't need to concern ourselves with just yet. The freeversion of Eagle comes with two routing layers, Top(1) and Bottom(16) that represent the design of most of the copperconnections and footprints for components on the respective sides of the finished PCB. A large amount of our layoutwork will be done on these layers using the routing tools.

The Pads(17) and Vias(18) layers both represent the locations of plated through holes on the board that make anelectrical connection between layers. The main difference between the two is that the Pads layer is generally used toconnect the pins of a through hole component such as our headers both mechanically and electrically to the board. Vias are essentially pads that are only used to electrically (and sometimes thermally!) connect layers of the board.Since they aren't meant to have anything physically passing through them they are normally smaller than pads so thatthey don't use more space on the board than needed.

Finally we will be using the tPlace(21) and bPlace(22) to add stuff to the silkscreen design that will be printed on thetop and bottom of the board respectively. At a minimum you should use this layer to label things on the board like pinsor perhaps orientation information.

There are many more layers, some of which you will use in the future and some that you may never use. OSH Park hasan excellent guide (https://adafru.it/DMH) covering the commonly used layers in Eagle.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 19 of 51

Page 19: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Shaping the Board

Before we can start placing the headers and traces on our board, we need to have a general idea of the shape of ourboard. There are several things that you will want to keep in mind when designing the shape of the board, howevergiven those considerations you still have a lot of flexibility.

An important early step of designing the board is determining where components will be placed on the board. Manyitems have a fair amount of leeway with where they can be placed however components that will connect the board tosomething else such as headers, mounting holes, or sockets will generally have some constraints on where theyshould be placed. A USB socket for example can certainly be placed in the middle of a board facing a header, but thenyou wouldn't be able to plug in your cable once the board is assembled:

In the case of our board, the headers that will allow you to connect the adapter board we are making to the Trinketneed to be positioned such that they will line up with the headers on the Trinket. This is one of the main reasons whywe're using design blocks extracted from the original board files; the spacing of the headers is already correct. All wehave to do is place the headers in relation to each other.

The B Stands for Board, not Boring

Traditionally, PCB shape has been largely governed by the practical constraints such as mechanical connections or theenclosure that they're mean to fit into, however that need not be the case! Certainly your board has to be functional,however given the shape of the board is one of the most distinct visual aspects of it, why not get creative? For thisproject I will be making the board a fairly functional but boring rectangle, but you could make it (nearly) any shape youwant! Square? Sure! Triangle? Isosceles or Scalene? Tardis? If you can settle for 2D and put in the work, sure!

One of the "limitations" of the free version of Eagle is that it limits the size of your board to 12.4 in or 80 cm (as ofversion 9.2.2). I put limitations in scare quotes because while it might seem small, you will likely go a long ways withEagle before you reach this limit. The vast, vast majority of Adafruit's boards including most, if not all. the breakouts,feathers, trinkets, metros, featherwings, gemma boards and circuit playgrounds are all well within this size.

2 2

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 20 of 51

Page 20: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

It's also worth considering that given that OSH Park charges by the size of the board, generally it's worth trying tomake boards on the smaller side, if you have a choice.

Adjusting the outline

With the board window open, you should see the three headers (two from the Trinket and one from the INA219) andthe outlines of the Trinket and breakout and a larger black area with orange borders:

The black area is Eagle trying to do its best to represent the current area of the board as defined by the extent ofthe Dimension layer's contents. The large black box comes from Eagle's default behavior for a new board which is tocreate an outline as large as the free version allows. The holes are because Eagle is interpreting the outlines of theTrinket and breakout as cutouts because they're within a larger outline. We'll fix this as we adjust the outlines of theadapter board.

Before setting the size of the board, we should position the headers relative to each other to help us judge how theTrinket and INA219 breakout will be positioned once attached to the adapter PCB.

Use the Group tool to select the INA219 breakout outline and header as a group. Then select the Move tool, right clickand select Move Group to move the outline and header together closer to the board edge and oriented so that theside with the header is closer to the Trinket.

While moving something with the move tool, right clicking your mouse will rotate it.�

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 21 of 51

Page 21: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Next, again using group and move tools, position the Trinket outline and headers in relation to the INA219 breakout sothat the outlines do not overlap and the notch in the Trinket outline for the micro USB connector faces away from theINA219 breakout.

By orienting the outlines and headers together and in relation to each other, we now know where the boards will beonce connected to the adapter board.

Make sure to move the Trinket headers and outline as a group to preserve their spacing�

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 22 of 51

Page 22: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Now we can use the move tool to resize the board outline to something more practical, and the delete tool to removethe Trinket and INA219 breakout outlines.

With the board outline more or less defined, we can start working on the actual routing of traces. As you do more workon the board, you may find that you need to make further adjustments to the outline, but this first draft will be goodenough to start using to route the board and work on the silk screen.

Now is a good time to save if you haven't done so already.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 23 of 51

Page 23: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Working with Design Rules

Design Rules

One of Eagle's more important but less flashy features is its support for design rule sets. These are sets of rules forthings like spacing between board features and minimum sizes that all correspond to the tolerances and capabilities ofa board manufacturer. Setting these design rules will help you design your board in a way that will fit the requirementsand capabilities of your board manufacturer.

The board house will specify these tolerances like on this page for OSH Park (https://adafru.it/DMI) and you canmanually create your own design rule sets based on these requirements, however in our case we're going to downloadand use the design rule files that OSH Park provides.

Keep in mind that these design rules are for the minimum size that a manufacturer will produce, not the only size! Inmost cases, it is wise to use larger sizes than the minimum as the closer, smaller and tighter your design, the more"fragile" your design will be, meaning it will be susceptible to problems occurring from the normal and expectedvariances that occur during manufacturing.

Using Design Rule Files

Go to the OSH Park Eagle design rule page (https://adafru.it/DMJ) and download the "oshpark-2layer.dru" design rulefile. Once downloaded, while in the board window, open the Edit menu and select Design rules...In the window that opens, click Load, select the OSH Park design rule file you just downloaded, and click OK.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 24 of 51

Page 24: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Once you have loaded the new design rule file, let's run a design rule check to see if the board as it is now has anydesign rule errors.

Click the DRC button to open the DRC window, and click Check

This will pop up a dialog that will list any current board feature that violates the design rules.

By default Eagle will continuously check for Design Rule errors. You can turn this behavior on or off using the "Live DRC" checkbox under Options>Set..>DRC tab�

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 25 of 51

Page 25: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

When you run the design rule check, it will highlight several errors; the first is Airwires which are connections from netsthat have not been completed using traces. This is to be expected because we have not created any traces yet.

The second class that might appear are dimension errors that come from the pads for the headers being too close tothe outline of the board. One of the design rules that OSH Park and other board houses specify is how much clearancethere must be between the board outline and anything on the copper layers.

We can use the move tool to adjust the position of the board outline and headers to provide an appropriate amount ofclearance.

Make sure NOT to move the individual Trinket headers by themselves! Use the group>move command to preserve their spacing�

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 26 of 51

Page 26: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

You will likely discover however that you can only make relatively coarse movements

The movement flexibility, in steps, is due to the default size of the grid.

Grid

Eagle allows you to specify a grid that board features will snap to when being moved or created. The units you specifywill also determine the units used for measurements throughout Eagle. When routing a board I prefer to set the grid

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 27 of 51

Page 27: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

size somewhere between 2.5 to 10 mils. This allows for a fair amount of flexibility and, since design rules are often inmils, using mils for the units helps me make sure I'm keeping the design rules in mind while working on the board.

Open it by clicking the Grid icon. It will ask you to specify the grid size value and units like millimeters or mils (1/1000thof an inch). Set the size to 10 and the units to mils and the Alt to 2.5.

Now that you have adjusted the size of the grid, select the Move tool again and move the position of the board outlineto remove the dimension errors. If you hold Alt (Option on a mac) while moving something, you will temporarily changeto the alternate grid that you've set to a finer pitch, allowing you to make even finer adjustments. After working workingin Eagle for a bit you'll likely develop your own preferences and can set the grid accordingly.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 28 of 51

Page 28: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Routing

Routing

We're ready to start laying down traces to connect the headers to each other.

Select the Route tool and select 10 from the width dropdown in the route tool's menu bar. This will set the width of thetraces you will create to 10 mils since you set the grid to use mils. 10 mils is a good default width; it's more than enoughto carry the current that this project will be dealing with while still being small enough to not take up more board spacethan necessary. Additionally because the INA219 breakout is open source, we can see that it uses 10 mil traces for theVCC, GND, SCL, and SDA signals.

I2C connections and VCC

Like other things in Eagle, there isn't a required starting place for routing, so for the sake of this guide I'm going to startwith the I2C connections, followed by the VCC connection. We're going to keep GND for last for a reason that will beapparent when we get to it.

With the Route tool still selected, verify that the Top layer (1) is selected and click on the SCL pin of the INA219breakout to start a trace. Move your cursor towards the SCL pin on the Trinket's header, clicking along the way to laydown trace segments. Finally click on the Trinket's SCL pin. When you are done there should no longer be an airwirefor the SCL net.

A full consideration of how to choose trace widths is outside the scope of this guide. Searching for "choosing trace widths" in your search engine of choice will provide a wealth of information on the topic.�

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 29 of 51

Page 29: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Continue using the Route tool to connect the SCL and VCC pins

Ripup, don't Delete

It's inevitable that you will either make a mistake or just decide that you don't like the way a trace trace looks. Whenyou want to remove a trace you can either use EDIT>UNDO menu item if you just routed it, but if you added it a whileago you can use the RIPUP tool to remove it.

Select the Ripup tool and click on the trace segments that you want to delete. Easy peasy.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 30 of 51

Page 30: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

You can use the Delete tool to remove traces however if you accidentally click on the airwire left after removing atrace, you'll get this somewhat confusing error:

This is Eagle complaining because it thinks you are trying to delete the airwire which is a functional part of theschematic. Eagle is saying it can't "backannotate" which is what it calls keeping the Schematic and Board in sync. In thiscase it is refusing to apply this "deletion" to the schematic because it would totally change the circuit.

Ground Planes

One technique that is useful to learn is creating ground planes. You may have noticed when looking at some boardsthat they have large areas of copper filling most, or all, of the otherwise empty space around the components and thetraces. These areas of copper, called ground planes, are often used to simplify making ground connections that thecircuit requires. There are several other reasons why using ground planes makes sense on boards more complex thanwe're making, however again the reasons behind that are outside the scope of this guide. The Wikipediapage (https://adafru.it/DMK) on the topic does a good job of explaining how and why they're used. This board is simpleenough that a ground plane really isn't needed however learning the technique now to apply to more complex boardsin the future will make routing a lot easier.

To create a ground plane we'll first use the Polygon tool to create a polygon slightly larger than the outline of ourboard.

Select the Polygon tool and click around the perimeter of the board to create a polygon, ending the polygon byreturning to the beginning of the outline and clicking on the start.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 31 of 51

Page 31: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Once you complete the polygon, you will be prompted to name the signal that the polygon will belong to. Enter GNDso that the polygon becomes part of the GND net.

Once you specify the signal that the polygon is part of, click the Ratsnest button to fill the area outlined by the polygonwith the GND signal. Since this creates a contiguous path between the two GND pads, this will complete thatconnection, removing the final airwire.

If you add new traces after creating the ground plane you will need to use the RATSNEST tool to generate a newground plane that accounts for the new traces.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 32 of 51

Page 32: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Switching Sides

Sometimes when routing a board you will find that there is no easy way to find a route for a trace because it wouldhave to go get to the other side of a trace and there is no quick way to go around it. This is where vias and doublesided boards are useful. On a single sided board, you would use a jumper to cross another trace, however since ourboard has two sides, we can use a via to continue the trace on the other side of the board, avoiding the trace in theway.

This is entirely unnecessary for this board however I will give you an example of how to use both sides of a board byre-routing the SCL connection using vias to switch sides.

Starting with the SCL trace ripped up, again verify that the Top layer(1) is selected and click on the SCL pin of theINA219 breakout header. Start clicking to lay a path and when you want to switch sides, with the route tool still activeselect the Bottom layer (16). Once you do this, the trace will continue to follow your cursor however there will be a viaat the tip of your cursor. The next time you click you will place a via and the traces will continue on the bottom layer.Route as you wish and then select the top layer again and repeat the process to continue on the top layer.

Because the pads for the headers are like large vias connecting both sides of the board, once you've switched to thebottom layer, you can in fact just complete the rest of the trace on the bottom of the board (if you're paying attention,you'll notice that you could also just have the whole trace on the bottom).

Functionally Done but not Complete

Once you have the VCC, GND, SCL and SDA nets done, the board should be functionally complete. It could probablysent to OSH Park at this point however we should tweak a few things before we send it out to be manufactured.

If your mouse has a middle button, clicking it will also create a via to continue on the other side of the board�

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 33 of 51

Page 33: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

FinalTouches

Rounding Corners

When a board is manufactured, the board house will use a milling tool to cut the final shape of the board out of thelarger PCB panel. If you have 90 degree (or more acute) angles on the corners of your board they can end up prettysharp.

For prototypes it is common to just file the sharp edges off, however with just a bit more effort we can round the sharpcorners of the board in Eagle so the milling operation will take care it for us. While there are more than one way to skinthis particular cat, the Miter tool makes it extremely easy.

Select the Miter tool and choose your desired radius (in mils due to the grid settings). Then simply click on each of thecorners you want to round.

Adding Silk Screens

Next we'll add some text to the tPlace (21) and bPlace (22) layers to be printed on the board to help us identify whichpins are which. These sets of text or graphics are referred to as "silk screens" or "silks" because of the silk screenprinting processed used. The the same process (https://adafru.it/DML) is often used to print t-shirts!

Before we add our text, let's check the handy manufacturing extension to see what the board will look like. To makesure it's enabled open the Options>User interface... menu and make sure the manufacturing checkbox is checked inthe Extensions section

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 34 of 51

Page 34: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Next click on the Manufacturing extension to load the board preview. Looking at the preview of the board that itprovides, we can see that we forgot to remove the labels for the headers.

Use the delete tool to remove the header labels if the are still there then make sure the tPlace (21) layer is selected.Click on the Text tool and you will be prompted to enter the text that you want to add to the board. Start with the VCCand click OK. The text tool acts like a stamp, placing the selected text wherever you click.

With the text tool set to your chosen text you can adjust the size and ratio selectors to adjust the size and thickness ofthe text. Once you are happy with a size, click next to the VCC pin of the INA219 header to add it to the silk screen.Once the first label is place, right click to rotate the tool and apply another label next to the Trinket header's VCC pin.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 35 of 51

Page 35: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Repeat this process to add as many or as few labels as you wish. I highly suggest that you have at minimum at leastone pin of each header labeled so that you know how to orient the Trinket an INA219 breakout.

Final Checks

As a last step we should double check the board before sending it off to have it manufactured. First usethe manufacturing extension to verify that the board and silks look how you would like them to. Lastly run anotherdesign rule check to verify there aren't any lingering issues

In my case there was a wire stub error which is an extra unused piece of a trace. You can address wire stubs by simplyusing the ripup tool to remove them. Address any DRC errors that show up, then save and we're ready to send the

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 36 of 51

Page 36: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

board out to be manufactured!

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 37 of 51

Page 37: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Ordering and Assembly

Uploading to OSH Park

We're finally ready to send the board out to be manufactured! This is maybe the best and worst part of the process; thebest because you're finally going to be seeing the board in the real world and the worst because once you order, therewill be a lot of sitting around waiting for the mail to arrive.

I'm going to show how to order your board from OSH Park because I think they make the process as easy as possible,they have excellent customer service, their boards are high quality, their prices are very reasonable, they have freeshipping, and they arrive relatively quickly for the price. There are other options that you can investigate, but OSH Parkdoes such a good job on smaller scale projects that I personally have yet to have a reason to get boards fromanywhere else.

The first step is to go to the OSH Park login page (https://adafru.it/DMM) and create an account. After submitting theform you will be send an email to the address you gave to verify your address. Follow the instructions in the email andyou will be returned to the login page. Once you log in you will be taken to an account profile page. From here you canclick on the OSHPARK logo at the top right of the page to go back to the OSH Park home page (https://adafru.it/e2G).

Once at The OSH Park home page, (https://adafru.it/e2G) click the big Browse for Files button. This will open a windowto select a file, and you'll want to navigate to where you saved your schematic and board file and select the board file.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 38 of 51

Page 38: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

After taking a bit of time to analyze the board file, you will be shown a summary of what the board will look like as wellas the cost for having the board manufactured, including free shipping!

A name for the board will be automatically generated from the filename which you can change as well as giving adescription of the board. Both of these fields are for your own use and often times I just leave them as they are.

Lastly you will be given a summary of the information extracted from the board file including the size and number oflayers. Additionally if OSH Park detects any issues with your board it will give you warnings. A common (non-critical)warning is that you don't have a silk screen on one side of your board.

Unless there are any glaring errors at this point, click Continue and you'll be given a chance to review the board inmore detail before ordering.

Verify the Layers

The next page will allow you to verify your design. Here OSH Park will show you images of different parts of the boardalong with some very useful instructions on how to assess each image that is shows you.

The main things that I will look at is that the silk screen looks how I would like it to look and that the copper layersdon't look like there are any short circuits where copper is touching where it should not be. This is your last chance toreview the design so it's worth taking a few minutes to double check everything.

Once you're happy with how things look, click the Order button.

Finalizing Your Order

The next page is where you'll decide how many copies of the board you want to order and if you want any optionalservices. For your first board, the only one I would consider is the Super Swift Service option that will double the priceto reduce the time at the fab to about five days. Getting your boards back sooner is always nice and for smaller boardsthe price difference is minimal.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 39 of 51

Page 39: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

On the final two pages, you will provide your shipping information and provide payment. After that is complete, all youhave to do is wait! OSH Park will email you status updates about your order as it progresses onto a panel, to the faband back, and when it's shipped.

Eventually after what will seem like forever, a beautiful purple package will arrive!

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 40 of 51

Page 40: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Inside you will find your boards! Take a moment to revel in your accomplishment. You made a thing!

Now we have to do a bit of work to make this thing you made do something. Time to put it together.

Assembly

We're almost to being able to put all the work we've done so far to use. The one last thing that we need to do isassemble the breakout board.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 41 of 51

Page 41: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Because they were cut from a larger panel, your boards

will likely have a few pieces of extra board still attached.

If you have a file or sand paper you can put it on a flat

surface and rub the board against it to remove the

edges.

Doing it this way rather than holding the abrasive and

board in your hands will make it easier to not

accidentally file off something you don't intend because

you're not juggling two things at once.

If like me you've already assembled your Trinket with male headers, you can simply cut a larger female header into twopieces, one for each side of the Trinket's pins.

You will always lose one pin while cutting headers so

make sure to cut on the pin one past the last one you

need. Since we need five pins for each side of the

Trinket, cut at the sixth pin from the end.

It can some times be tough to align headers correctly

when soldering so you can use the Trinket to hold the

headers in place while soldering. Simply flip the Trinket

on its back and place the headers on the pins.

With the headers in place you can then place the board

on the headers and solder the pins sticking through.

That trick won't work for the header for the INA219

breakout so you can instead use a sizable piece of Blue

Tac or other similar reusable adhesive to hold the

header in place while soldering.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 42 of 51

Page 42: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Once you've soldered on your headers all that's left to do is to plug in the Trinket and INA219 Adapter, using the labelson the silk screen to align them correctly.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 43 of 51

Page 43: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

An interesting feature of a board like this is that it can be mounted either above or below the Trinket. To mount itabove the Trinket, you'll need your Trinket to have stacking headers so that there are female headers on top of theTrinket for the adapter to plug into. If that's your intention you'll probably want to design your board slightly differently,lest you end up with and unwieldy beast:

If you're trying to keep it as small as possible, you can always just solder the breakout and board directly to theadapter:

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 44 of 51

Page 44: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 45 of 51

Page 45: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Usage and Final Thoughts

The one last thing to do is load some code onto the Trinket to use the INA219, wire it up to a load and measure somecurrent!

The INA219 breakout guide (https://adafru.it/DMN) has all the info you'll need to use your newly assembled circuit. Notethat since the breakout you created does the wiring to the microcontroller for you, you can skip the steps on how towire the microcontroller and go straight to the section on wiring the INA219 breakout into the loadcircuit. (https://adafru.it/BHR) Once the wiring is done, you can follow the INA219 guide's Circuit Python codeexample (https://adafru.it/DMN) to put the board to use.

Don't Be Afraid of Making Mistakes

While writing this article, I made a boo boo. I thought I was being smart and ordered the board before I was done withthe guide so that it would arrive just in time to take pictures. As it turns out, since I was in a hurry, despite checking itseveral times, I missed the fact that I had the header for the INA219 breakout backwards because I didn't use theoutlines of the original boards to check the layout of the headers.

Despite this frustration I was still able to make the board work by using a stacking header to elevate the breakoutabove the Trinket.

The point of mentioning this is to remind you that even someone who has been doing this for a while can and willmake mistakes. The important takeaway is that, when you make something, you learn how it works in the process andwhen you break it, you're equipped to fix it. Don't let a fear of making mistakes keep you from doing somethingbecause everyone will make mistakes. Making mistakes doesn't matter; learning from them does.

Where to go from here

Congratulations, you've made a circuit board! As I previously mentioned, the project for this guide is just the tip of theiceberg. You can use these same techniques to do anything from breakout adapters like we just did, to custom feather

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 46 of 51

Page 46: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

wings or bonnets based on breakouts, or whatever your heart desires! We're just getting started. If you have anexisting project based around Adafruit or other open source hardware, try converting it into a PCB.

The next guide in this series will take what we've learned here and turn it up a notch. Stay tuned.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 47 of 51

Page 47: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Addendum: Tips andTricks

Origins and You

Eagle has recently made a few very notable improvements in the UI department but there are still some counter-intuitive things about how it expects you to work.

Origins are one of the most important things to understand in Eagle because just about every operation you'll want todo on a component will require you to interact with the Origin. The rest of the symbol or footprint might as well notexist as far as Eagle is concerned, you must click on the origin.

Some times they're easy to find:

Other times you'll click around like a maniac trying to find it:

And other times you'll swear you've gone crazy and start questioning if you've ever known how to use Eagle, only tolater notice that you've hidden the tOrigins or bOrigins layer that controls if the origins are visible and can be clickedon:

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 48 of 51

Page 48: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Chances are that if you're trying to do something reasonable and Eagle is beeping at you or refusing to listen, you'reprobably not interacting with the origin.

Group Operations Made Easier

As I mentioned previously, since being acquired by Autodesk, the Eagle team has recently made some notableimprovements in the UI department. Previously some very common user interface operations like moving or deletinggroups, copying and pasting were annoyingly difficult and unintuitive. This improvement in usability is importantenough that you should verify that it is enabled:

With a board or schematic open in their respective windows, click the Options menu > Set..> Misc tab and doublecheck that the "Group command default on" option is checked.

With this option enabled, two notable group operations are much easier. To move a group, all you have to do is selectthe Group tool, left click drag a rectangle around the items to group, and then simply drag on of the group's members'origin to move the group.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 49 of 51

Page 49: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

Similarly, after using the group tool to create a group, simply pressing the Backspace (Delete on a Mac) key will deleteit.

Additionally, CTRL/CMD-C and CTRL/CMD-V can now be used to copy and paste selected items or groups. Note that,if you copy any nets, the copies will still have the same name and thus will be connected together.

© Adafruit Industries https://learn.adafruit.com/making-pcbs-with-oshpark-and-eagle Page 50 of 51

Page 50: Make your own PCB with Eagle, OSH Park, and Adafruit!€¦ · We're starting with this modest goal to keep things simple as we learn some fundamental concepts, while hopefully also

© Adafruit Industries Last Updated: 2020-01-02 04:40:11 PM UTC Page 51 of 51