Table of Contents

A component is an electronic package that can be used to create a electronic circuit. A component can be quite simple (resistors, capacitors), and it can be very complex (like the COM Express Module w are going to build).

It is important that, in Altium, there is a difference between a part and a component. A component can consist of several parts (each usually need its own schematic), like a package of 4 resistors parts.

Our COM Express module is only 1 part (the module itself), but we will explain how to create a multiple-part component in the notes below.

We will now start a tutorial by creating a COM Express Module Part.

Creating a COM Express Module Component

To build a Component, we need the following information:

* Name * Schematic Picture Symbol (if available, otherwise just a rectangle with a logo) * Pin Signal table * Footprint layout

These information is available in the part data sheet and design reference. The part data sheet pertains to the part itself, while the design references describe how that part can be utilized in a particular system. Usually the latter is for a primary application. For example, a listed design reference for PCI Express - Gigabit Ethernet chip Realtek 8111C explains how to build a Gigabit Ethernet card that can be connected to a PCI Express slot. The design

The references can be found here: FIXXX

The steps are: * Create a schematic library * Create a footprint (PCB) library * Add footprint to the schematic library * Add a 3D model to the footprint (especially if later on want to squeeze in parts within small areas)

In the end one should always double check the pin mapping, footprint labels and placements.

Creating a Schematic Library

First need to create a Schematic Library: File → New → Library → Schematic Library Save it and save often.

We now need to draw the component and label the pins properly. To make the process easier, we need to set document options such as units or snap grids. We do this by going to: Tools → Document Options. Our preference is using Imperial units and snap and visible grid at 10mils on both width and height.

For the COM Express module, there are 2 connectors called the A-B and the C-D, each with 220 pins (110pins on each row A, B, C, and D). The shape of the symbol itself just two rectangle, one for A-B and one for C-D connector.

So, we will go ahead and start with the massive number of pins first and draw the rectangles later. For Other parts that are smaller, it may not need Smart Pin Insert. However, always plan the pin layout. Usually making it identical with the reference schematics is a good idea.

After we are done, we have to set the part information section so that the user knows exactly what the component entails.

Smart Pin Insert

Usually, these pins are listed in the design guide (a .pdf file) in a form of a table.

For us it is in: * page 121 - 122 (131 - 132 is the actual pdf page number) of Kontron ETXexpress Design Guide v1.4. * page 18 - 21 of Congatec COM Express Design Guide revision 1.0

Instead of painstakingly creating a pin one-by-one, Altium has a “Smart Grid Insert” that can do this at a much faster way.

First we need to copy the pin out table and put it on excel. This is can be done with “copy as table” on Adobe Acrobat or try PDFtoExcel service online (google: PDFtoExcel)

We need to create 5 column headers: Designator, Name, Type, X1, Y1 * Designator is the pin designator AlphaNumerics. In the COM Express module is A1 - A110, B1 - B110, C1 - C110, and D1 - D110 * Name is for pin names/ purposes. pin A2's name is GBE0_MDI3- * Type is entity type. Just list “pin” on all entries. This is very important. * X1 and Y1 is the location. Don't worry too much about placement. You can move it later. For COM Express is X1 = -500 for Ax, -300 for Bx, 300 for Bx, 500 for Dx; Y1 = 550 to -540 for all rows.

Now that all the information is set in the excel sheet Copy the table so that it is on the clip board. We suggest to just copy 1 row (Row A first) at a time for the COM Express.

Go to Altium and click: 'View → Workspace Panel → SCH → SCHLibList'.

Make sure you are in the '“edit mode”'

Right click on the new window and select “Smart Grid Insert”

You will see the table in the window.

Click on “Automatically Determine Paste”

Click ok and the pins are now on the schematic sheet.

Do the same for the other rows B - D.

Draw a Component Symbol

There should be a drawing pane in Altium, find a rectangle and drag according to the desired size. Right click on the rectangle to change the properties (X1,Y1,X2,Y2 for size). For the COM Express we need 2 rectangles.

We should now have a schematic file like this:

400px

Set Properties Information

This is IMPORTANT to ensure that there is no confusion of what part this is.

* Click on the COM_Express.SchLib schematic file * Click on the SCH Library tab near the bottom of the Altium Window * Click on the Component 1 under the Components column (or some generic name on the list). * Change the Default Designator to COM_E? (Short reference name visible on the schematic) * Change the symbol reference to ETX-Express (this is the company part number in the Data sheet for other parts) * Change the Description as well. This should come from the Data sheet. * We should also add a parameter for Digikey part number for other components, but not here.

Creating a Footprint (PCB) Library

First need to create a Schematic Library: File → New → Library → PCB Library Save it and save often.

Change the name of the component by clicking the PCB library tab at the bottom of the Altium window, rename PCB Component 1 to COM_Express for our module

We need to place pads. For COM Express it's 4 rows of 110 pads. We need to automate it. We will do it 1 row at a time. Type:

* place → pad (short-cut p p) * press <tab> for properties. Don't worry about the location. Change the shape and size of pads. Change the layer to top layer (solder layer). Change the name to A1 for us. The name will be incremented automatically * Click on the center of the pad. This is important because this will become the reference of the hash. * ctrl-x for cut. * 'Edit → Paste Special → Paste Array' * Change the count (to 110), array type (linear) x and y spacing (from Design Guide: .5mm).

Do it for the other 3 rows. Note that we can change the reference origin (to make things easier) by Edit → Set Reference → Location click on the location or type it in.

Notes: Add extra solder padding for better coverage (about .1mm on each side should be fine). But also note the spacing, so that we do not get short between neighboring pads. Holes are also pads. We want multi layer and make the size of pads to be zero.

Add footprint to the schematic library

Go back to the schematic file (*.SchLib). Make sure that the pad names (Designator) in the *PcbLib correspond to the pin names in the schematics

* Click Add Footprint. * On the PCB Model section, browse for the *.PcbLib file. * On the PCB library section, 'add the library path'. This is important. Otherwise Altium may not be able to locate the footprint.

Add a 3D model to the footprint

This can be done by creating the model or adding STEP file from 3D CAD model such as SolidWorks. We are going to do the latter since, it is already modeled in our mechanical system.

* Place → 3D Body * Set type to Generic STEP model. * Click embed model and specify the .STEP file. * Use the rotations to set the model correctly above the footprint. * Also use standoff height to place the bottom of the model (connector end) exactly on the footprint plane (not hovering above it). * press 3 for 3D view. We can toggle back to 2D by typing 2. * To make the model visible. Press 'o' for options, and click on 'show/hide'. Change to yes on the two 3D bodies visible options. * tools → 3D Body Placement → add snap point to align it properly on the 2D view.

We could also have used a simple tool provided by Altium: * Tools → manage 3D bodies for current component * There are several options. Pick one that suits the need. * Have the option set to show the body

Altium Tips

* We could have created a single integrated library (.IntLib) file, where all the schematics, symbol, footprint, 3D description are packaged together, but in the tutorial we do not do this. * j: jump can be to location (l) or to reference/origin ®. So j r is jump to origin. * q: toggle metric/imperial units * g: grid. It has both metric and imperial. * in the *PcbLib component footprint to view 2D: press 2, 3D: press 3. Press 0 for top view. press v then b to flip view of board.

Updating Schematics

'This is important.' Whenever a component needs to be updated. It is also important to synchronize the update with the schematics in which the component is used. This can be done by:

* (on the component schematics *.SchLib) Click: Tools → Update Schematics.

This will update all schematics that uses the component. However, the detailed information embedded into each part (like Digikey Part Number or Resistor value) will be wiped out. Also., for cases where there are multiple footprints, it will revert to the default one. This is bad very bad if there are a lot of components of the kind because now we have to redo the custom information one by one.

Back to electrical system or Main Beobot 2.0 page