This guide will introduce you to the basic process I use to build PCBs based on Adafruit and other open source designs. We will extract parts of the board files as what Eagle calls "Design Blocks" and then we will use them along with a fundamental workflow in Eagle to create a featherwing-like board for the Trinket M0. This board will allow you to securely attach the Adafruit INA219 current sensor breakout to a Trinket without having to use jumper wires to connect them 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 a PCB to replace the breadboard or protoboard. These techniques can be used to extract useful pieces from open source boards to use in your own completely new circuit boards.
To get started you'll need some hardware, some software, and the PCB design files for the Trinket M0 and INA219 breakout
The headers listed will allow you to assemble and disassemble the Trinket and INA219 breakout from the PCB we're designing. There are many other options for headers or other ways of connecting the PCB to the other parts depending on how you want to use them.
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 it has been updated to the latest version.
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
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 to save your progress as you edit them while following the guide.
On the Trinket M0 and INA219 breakout, there are pads used to make external connections to the board, usually by mounting male headers to allow the boards to be used with a breadboard. For our project we're going to use the layout of these headers in the board files to allow us to create a new board that has header holes perfectly matching the 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 arrange headers, however using the information in the board files will allow us to be confident that the measurements are correct 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 the power and I2C connections between the Trinket and INA219 breakout that the adapter will make which will allow the Trinket 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 board file is done, it can be sent to OSH Park to be manufactured. Once back, the project can be assembled and a simple CircuitPython program loaded to use assembly to measure the current draw of another circuit.