Skip to content

EHW 101

Mihir Kozarekar edited this page Apr 23, 2023 · 14 revisions

This document was originally created by Andy Zhang and adapted by Mihir Kozarekar. Enjoy!

Table of Contents

Lets Begin!

Commonly Used Acronyms and Definitions

PCB (printed circuit board) - A board that is typically made of alternating layers of copper and insulating material. The copper layers contain circuitry that is “printed” onto the board where components are soldered on.

IC (integrated circuit) - A device that contains a highly condensed circuit inside a relatively small package. Also known colloquially as a microchip or chip.

PMIC (power management integrated circuit) - An IC that is specifically used for power management. Typically a buck or boost converter or controller IC.

SMD/SMT (surface mount device/surface mount technology) - A component that is soldered on the surface of a PCB rather than through the PCB.

MCU (microcontroller unit) - An IC that functions as a small computer. For EHW, STM32s are typically used on our boards.

BOM (bill of materials) - A list of all components used on a board and various relevant parameters of each component. Typically displayed in a spreadsheet.

Introduction

The EHW subteam on MROVER is primarily responsible for providing the hardware interface between the software of the rover and the motors and sensors of the rover. To achieve this interface, EHW designs PCBs containing complex circuitry to meet a variety of different requirements for the rover. The purpose of this document is to formalize and solidify the PCB design process for the EHW subteam. This document will detail the critical steps and personnel for designing a successful PCB.

A brief summary of the design process is as follows:

  1. Draft board requirements - Determine what the board needs to be able to do, what physical conditions it should be able to withstand, what power supplies are necessary, parasitics, etc.
  2. Find critical parts - Go on Mouser.com or Digikey.com to find important ICs, power supplies, connectors, or any other board defining parts.
  3. Schematic design - Create a schematic of your design in Altium Designer.
  4. Component Placement - Load your components from your schematic into a PCB file in Altium and place them in a way that makes routing the easiest.
  5. Routing - Connect your components with traces, vias, and planes.
  6. Ordering - Generate Gerber files and order the PCB from JLCPCB or a similar PCB manufacturing company. Also order all components that EHW does not already have from Mouser.com or Digikey.com.
    Manufacturing - Solder all components onto the blank PCBs.
  7. Testing - Create test cycles that specify what functions you are testing and complete those tests. Also, record any relevant data.

Although it is advisable to follow this procedure closely, it may be acceptable to do two or even three steps in parallel for the sake of time. Keep in mind that steps 1, 3, 4, and 5 also have design reviews associated with them.

Drafting Requirements

Board requirements define the major characteristics of a PCB. In general, requirements should be verifiable with the design either in Altium Designer or physically during testing. Additionally, requirements should also be mindful of specificity. In other words, a requirement that is too general may be interpreted very differently by different people working on the same board, but a requirement that is too specific may limit your design too much.

A requirement should contain four main parts: a requirement number or index, requirement name, requirement description, and verification criteria. The requirement number is purely for organization purposes so that it is easier to see which requirements fall under which category and similarly which requirements are related to each other. The requirement name and description indicate the purpose of the requirement and what specifications need to be met. The verification criteria indicates a general process for obtaining evidence that the requirement has been met. An example of a set of requirements is shown below.

Your requirements should be as comprehensive as possible. Once you have finished drafting all of your requirements, there should be little to no question as to how the board should be designed and what the board should accomplish.

For reference, here is a brief list of types of requirements that may be useful to include:

  • Power Supplies - Clearly indicate the voltage and current required for all necessary power rails. Other parameters such as switching frequency may also be important.
  • Key Parts - Indicate what parts the PCB is being designed around. This could include PMICs, ICs, sensors, etc.
  • Physical Constraints - Make sure the length, width, and height of the PCB and parts will fit on the rover without impacting other onboard components. Also, ensure that the board is easily connectable/disconnectable. May also include weight.
  • Mechanical Constraints - Any requirements associated with mounting or PCB cases.
  • Debugging hardware - Indicate what hardware will be onboard for debugging purposes. Or alternatively indicate how the board should be able to be debugged externally.
  • Board stack-up - Indicate how many layers the board will have as well as what the major functions of each layer are (typically signal, power, or ground).
  • Operating Environment - what conditions the PCB and parts will need to withstand. This can include temperature, moisture, dust, etc. It may also include energy consumption requirements for operating states such as active or sleep if applicable.
  • External Interfaces - List any devices that will connect externally to the PCB with their communication protocols and associated parameters.
  • Internal Interfaces - List any major devices that will interact with each other on the board with their communication protocols and associated parameters. S-Parameters (High-Speed Boards Only) - State limits for parameters such as crosstalk (near-end and far-end), return loss, insertion loss, intra-pair skew, and differential or single-ended impedances. Other parameters may also be applicable.

Keep in mind that this is only a list of potential requirements and that the PCBs you will create may not use all of these categories and may also have additional more specific categories.

Requirements Review

As the title implies, the requirements review is a brief presentation on the requirements for a proposed PCB. This presentation should give all relevant personnel a good idea of what to expect from the PCB and what needs to be accomplished for the board to succeed.

For each requirements review, the following personnel should be present at minimum:

  • Hardware Designer - The main person responsible for designing the PCB schematic.
  • PCB Designer - The main person responsible for laying out and routing the PCB.
  • Requirements Analyst - A senior member or a member of leadership that has a good understanding of how this board should work with the rover.
  • System Architect - The main person responsible for the larger system this PCB would belong to on the rover. Here are some additional personnel that may be useful to have:
  • Mechanical Engineer - The main consultant for mechanically fitting the PCB in the rover.
  • Software Designer - The main person responsible for writing the software for the PCB.
  • Testing Coordinator - The main person responsible for organizing test cycles for this PCB.
  • PCB Assembler - The main person responsible for populating the PCB.
  • Members in Training - Any newer members that may not have a total understanding of the PCBs that listen in to gain experience.

Keep in mind that one person may be assigned to two or more roles. Alternatively, one role may also be assigned to two or more members. These roles are also flexible and relatively informal. Just because someone is assigned to one role does not mean they cannot contribute in ways outside of their role. Listing out these roles is merely a way to ensure that you have your “bases covered” when going into the design process.

To start, the host of the review should send out the requirements list, design files, and pertinent datasheets to all attending members about 1-2 days prior to the actual review date. This gives attendees the option to look over the requirements beforehand and think of suggestions in advance. During the review, the host should first give an overview of what the board is and what its main purpose is. Then, the host will walk through all the requirements and explain where they obtained any parameters and why the requirement is important. Attendees should feel free to stop the host at any point to suggest a change or ask a question. The host or a designated notetaker should be able to make notes next to any relevant requirements. These notes should be taken in the notes folder in the boards respective repository. This should continue until attendees have no further questions or suggestions.

After the review, any suggestions or changes should be addressed as soon as possible. Once all necessary changes have been made, the host should send out the requirements to all previous attendees again. If everyone approves of the requirements, then the personnel may proceed with the design. Otherwise, comments should be sent to the host who will later address those comments and send out the list of requirements again until everyone is satisfied.

Finding Parts

Now that the requirements for the PCB have been established, we can now start to look for the key parts that will be used on the board. Generally, these will be any ICs, PMICs, and sensors, but they may also include any key passives, connectors, or semiconductors that might be a central part of the design. To find these parts, there are two distributors that are mainly used: Digikey and Mouser. However, using other distributors such as Arrow, Newark, or even Amazon may be acceptable if a part is critical enough. For the purposes of this guide, we will focus on just Digikey and Mouser.

Digikey Tutorial

To start, go to www.digikey.com. You will use the top search bar to look for whatever part you want. It is usually a good idea to be as general as possible. For example, if you want a 10uF ceramic capacitor that is 50V tolerant and has a X7R temperature rating, it is usually better to just type in “capacitor” and filter the results later. For the purposes of this guide, we will walk through searching for a PMIC. Example requirements for this PMIC are listed below:

  • Must be a switching regulator (buck converter).
  • Must be able to handle a 12V input.
  • Must be able to output 3.3V.
  • Must be able to output 4A of current.
  • Must have internal switching.
  • Must be able to support a 2.2MHz switching frequency.
  • Should have a relatively small SMD package.

After searching for “PMIC”, this is what shows up on Digikey:

Screen Shot 2023-04-21 at 8 34 20 PM

Notice that multiple categories show up for PMICs. For our purposes, we want to select the top left category since we are looking for a switching regulator. After clicking on the category, you will see a page that lists all relevant parts as well as filtering options on the top. For most parts, you will want to select “in Stock” under Stocking Options, “Exclude” under Marketplace Product, and “Active” under Product Status. An example of this is shown below:

Screen Shot 2023-04-21 at 8 34 45 PM

Clicking “Apply All” will narrow your search results to only include items that we are able to purchase. Scrolling to the right, you can see that there are many more filtering categories. Based on our requirements, we are interested in Voltage - Input (Min), Voltage - Input (Max), Voltage - Output (Min/Fixed), Voltage - Output (Max), Current - Output, Frequency - Switching, and Mounting Type. For each of these categories, you should select all parameters that fit our requirements. For example, for Voltage - Input (Min), you want to choose all voltages 12V and below. After filtering, you should end up with a much smaller list of PMICs to choose from:

Screen Shot 2023-04-21 at 8 35 16 PM

Scrolling down, you’ll see the list of parts you generated. Notice that each part has its parameters listed next to them. At the top of each column, you should also see two arrows. Clicking on the upward facing arrow will sort your list in ascending order for that parameter and conversely, clicking on the downward facing arrow will sort your list in descending order for that parameter. Below is an example of sorting by ascending order for price:

Screen Shot 2023-04-21 at 8 35 35 PM

The third one on the list above seems to have a good amount in stock so we will choose that one for the purposes of this guide. Clicking on the part should send you to a page that tells you some general information and specifications about the part. What’s most important here is the datasheet. Right above “Product Attributes” you should see a link to a PDF. Clicking on this PDF will lead you to the part’s datasheet which will be crucial for your designs in the future. What’s also important is the right side of the screen which shows how much is in stock and the price points for a few purchase amounts. A screenshot of this page is shown below:

Screen Shot 2023-04-21 at 8 35 52 PM

At this point, you may choose to use or not use this part based on what you read from the datasheet. For more critical parts you may choose to purchase them early so as to avoid the risk of them going out of stock later.

Mouser Tutorial

Note: This is the same process as the Digikey tutorial, so you may skip some of the text-heavy parts if you wish. The details are provided here in case you want to come back and look at this section for reference.

To start, go to www.mouser.com. You will use the top search bar to look for whatever part you want. It is usually a good idea to be as general as possible. For example, if you want a 10uF ceramic capacitor that is 50V tolerant and has a X7R temperature rating, it is usually better to just type in “capacitor” and filter the results later. For the purposes of this guide, we will walk through searching for a PMIC. Example requirements for this PMIC are listed below:

  • Must be a switching regulator (buck converter).
  • Must be able to handle a 12V input.
  • Must be able to output 3.3V.
  • Must be able to output 4A of current.
  • Must have internal switching.
  • Must be able to support a 2.2MHz switching frequency.
  • Should have a relatively small SMD package.

After searching for “PMIC”, this is what shows up on Mouser:

Screen Shot 2023-04-21 at 8 38 41 PM

Notice that multiple categories show up for PMICs. For our purposes, we want to select the second category in the left column since we are looking for a switching regulator. After clicking on the category, you will see a page that lists all relevant parts as well as filtering options on the top. On the bottom of the filtering options, you should notice a few checkboxes. For most parts you will want to select “In Stock” and “Active”.

Scrolling to the right, you can see that there are many more filtering categories. Based on our requirements, we are interested in Mounting Style, Output Voltage, Output Current, Input Voltage - Min, Input Voltage - Max, and Switching Frequency. For each of these categories, you should select all parameters that fit our requirements. For example, for Input Voltage - Min, you want to choose all voltages 12V and below. After filtering, click “Apply Filters” and you should end up with a much smaller list of PMICs to choose from:

Screen Shot 2023-04-21 at 8 39 07 PM

Scrolling down, you’ll see the list of parts you generated. Notice that each part has its parameters listed next to them. At the top of some columns, you should also see an icon of an arrow next to a stack of blocks. Clicking on this icon will toggle between sorting in ascending order, sorting in descending order, and unsorted. Below is an example of sorting by ascending order for price:

Screen Shot 2023-04-21 at 8 39 29 PM

The third one on the list above seems to have a good amount in stock so we will choose that one for the purposes of this guide. Clicking on the part should send you to a page that tells you some general information and specifications about the part. What’s most important here is the datasheet. In the middle of the box that shows a brief description of the part, you should see a row labeled “Datasheet”. Clicking on the link in this row will lead you to the part’s datasheet which will be critical for your designs in the future. What’s also important is the right side of the screen which shows how much is in stock and the price points for a few purchase amounts. A screenshot of this page is shown below:

Screen Shot 2023-04-21 at 8 40 10 PM

At this point, you may choose to use or not use this part based on what you read from the datasheet. For more critical parts you may choose to purchase them early so as to avoid the risk of them going out of stock later.

JLCPCB Parts Tutorial

This is essentially the same as the past two parts tutorials, but just go to the jlc parts library.

After Finding A Suitable Part

After you have found a part that you believe would work well for your design, show the part to your lead or a senior member. Once they have confirmed that the part works, send them the datasheet and digikey/mouser/jlc link so that they can create the part for you. You should be notified once the part is finished and then you will be able to start your design. TODO: decide if members should be making parts this year

Schematic Design

Now that you have your main parts selected, you can now open Altium Designer to start your schematic. Note that this guide is not meant to show you HOW to create a schematic. Instead, this section will serve to highlight some conventions that are important for creating a schematic that is easy to read and understand.

Schematic "Big Picture" Guidelines

When designing your schematic, the most simple rule to follow is that your input(s) should come in from the left and your output(s) should go out to the right of the schematic sheet. This makes your schematic easier to read due to the fact that we read from left to right. If your schematic contains multiple “sub-circuits”, each of those circuits should follow the left to right convention. If both sides of an IC contain input and output pins or if pins on both sides are bidirectional, then you can draw your schematic in a way that makes the most sense with the IC right-side up.

Another guideline to follow is to give each subsystem its own schematic sheet. For example, if you’re designing an H-bridge, you may decide that the subsystems of the board are the power supply, MCU circuit, H-bridge, and current/voltage sensing circuitry. Each of these subsystems should have their own section. If there are enough parts in a section, it may be justifiable to give a particular section two or more sheets. Below are examples of good and bad schematics in terms of component number:

Screen Shot 2023-04-21 at 8 44 51 PM

                   Crowded Schematic (left) vs. Good Schematic (right)                                            

Component Conventions

When adding components to your schematic, you should pay close attention to the purpose of each component. Depending on this purpose, the component may have a specific orientation and placement that makes the most sense. In general, components that are in parallel to a signal line should be vertical and components that are in series to a signal should be horizontal. This section will detail some common examples of these components and their placements.

Resistors

Other than series resistors (for applications such as current limiting), there are two main types of resistors that are used: pull-up and pull-down resistors. Pull-up resistors are typically used on open-drain (active low) pins and connected to a voltage source to ensure a stable high signal when the pin goes into high impedance. Pull-down resistors are typically used on active-high pins and connected to ground to ensure a stable low signal when the pin goes into high impedance. For readability, pull-up resistors are best placed vertically and above the signal line and pull-down resistors are best placed vertically and below the signal line. If your schematic is tight on space, it may be acceptable to have the resistors go horizontally. Below are some examples of good pull-up and pull-down resistor schematics:

Screen Shot 2023-04-21 at 8 50 49 PM

                     Pull-down resistor (left) vs pull-up resistor (right) examples

Capacitors

The most common use of capacitors is decoupling. Generally, there are three or more decoupling capacitors on a power line. These capacitors should all be vertical and they are generally connected to ground. Thus, they should also be placed below the power signal. Additionally, the sink of the power source or the main IC or component that’s receiving the filtered power should “see” the capacitors in ascending order of capacitance. For power supplies, both input and output should follow this rule. Below is a good example of how decoupling capacitors should be placed:

Screen Shot 2023-04-21 at 8 52 39 PM

Transistors

For transistors, a good rule of thumb is to have the main line of current flow to be in line with the signal. In other words, the drain to source line in MOSFETs and the emitter to collector line in BJTs should be on the same axis as the signal it is meant to switch. In most cases, this would mean the main line is going vertical. Below are some good examples of transistor placements:

Screen Shot 2023-04-21 at 8 52 56 PM

Connectors

Connectors should generally be at the edge of your schematics with the pins pointing into the center of the schematic. If compatible with the layout, the ground pins (if there are any) should be on the bottom pins of the connector and power pins (if there are any) should be on the top pins of the connector. Below is a good example of a connector:

Screen Shot 2023-04-21 at 8 53 15 PM

In general, your components should be placed as neatly as possible. Aligning components that are similar in function and having optimal spacing between components are a few simple ways to make your schematic much cleaner and more readable.

Connection Conventions

Connections can very easily crowd a schematic, especially with a high number of components. Primarily, readability decreases with high numbers of crossing connections. There are two main rules to follow when having connections that cross.

The first rule is to avoid four way junctions. These intersections are bad for a few reasons. First, they are harder to read since current flow is more difficult to follow. Second, these junctions may hide a faulty connection. Since Altium will generate a dot whenever a three way junction is made, making a four way junction may hide the fact that no dot was made when the fourth connection was added. In this case, the wire would not actually be a valid connection. Below are examples of good and bad wire intersections:

Screen Shot 2023-04-21 at 8 58 45 PM

           BAD                                        GOOD

The second rule is to make “jumps” whenever two connections are crossing, but are not meant to touch each other. If these “jumps” are not occurring, you can turn them on in Altium’s settings as follows:

  1. Go to the Tools tab and click Preferences
  2. Check Display Cross-Overs under Options
  3. Click Apply and exit out of the Preferences window
  4. Your wire crossings should now have bridges to indicate separate lines
    Below is an example of what wire jumps in Altium look like:

Screen Shot 2023-04-21 at 9 01 01 PM

Net Conventions

In circuit design, a net (or sometimes referred to as a node) is essentially just a point in a circuit. In your designs, there will be many important nets that you will want to label. There are three main types of nets that you will encounter: power, ground, and signal nets.

Power Nets

Power nets - Power nets are any nets related to a voltage source. For example, if an IC requires a 5V supply, then the power input pins of that IC should be connected to a 5V net. All power inputs or outputs should have a power net connected. Power nets should always be in the shape of a “T” with a label on top. These nets should also always be oriented where the “T” is right side up with the label above it. However, in cases where the schematic is a bit tight, it may be acceptable to have the “T” oriented sideways. Below are some examples of good power nets:

Screen Shot 2023-04-21 at 9 01 31 PM

Ground Nets

Ground nets are nets related to your circuit’s ground(s). In almost all cases, you will only have one ground net. All pins connected to ground should be connected to a ground net. Ground nets should also always point downwards with the lines of the symbol shortening the further down the page it goes. However, if the schematic sheet is a bit tight, it may be acceptable to have the ground symbol point sideways. Below are some examples of good ground nets:

Signal Nets

Signal nets are essentially all other nets that don’t fall into the power or ground categories. These nets will make up the majority of your schematic. You should label some of these nets for optimal readability. Some types of nets you might want to label may include:

  • I2C or UART lines
  • Any used pin on an IC
  • Any signals on input/output connector pins
  • Important sensing points such as on either side of a current sense resistor

This list is by no means exhaustive. The idea is that any points on your circuit that you believe are important should be labeled. In terms of placement, try to make sure the full text of the net label is on top of the signal itself. An example of this is shown below:

Screen Shot 2023-04-21 at 9 02 52 PM

Naming Conventions

Signal net naming conventions should generally follow the following structure: - <communication protocol (if applicable)> - - <logical high voltage (if applicable)>. Some examples of this are shown below:

  • MCU-I2C-SCL-1.8V
  • PWR5V-PGOOD-3.3V
  • PWR3.3V-FB
  • HBRIDGE-FWD-3.3V
    Power nets should just contain the voltage level of the net. Ground nets should not need to be renamed.

No Connect Conventions

In many cases, there will be unused pins for components on your PCB. Generally these components will be ICs or connectors. For any pins that are not connected to any particular net, you should attach the “no connect” symbol as shown below:

Screen Shot 2023-04-21 at 9 05 52 PM

Part Creation

If a part you need for your design is not in the MROVER master library or 3rd party library that we use (molex microfit library for example), then fill out [THIS SURVEY](TODO: FIGURE OUT WHAT TO DO FOR PARTS CREATION) with all necessary information so that someone on the electrical leadership team or a senior member can create the part for you. In urgent situations, it may be acceptable to message a senior member or a member of leadership to get your part done as soon as possible.

Schematic Review

The schematic review is a procedure that serves to allow other members of the MROVER team to provide constructive feedback for your circuit. For smaller scale boards, this can be lumped together with the requirements review, but in most cases this should be its own separate event.

For each schematic review, the following personnel should be attendance at minimum:

  • Hardware Designer - The main person responsible for designing the PCB schematic.
  • PCB Designer - The main person responsible for laying out and routing the PCB.
  • Requirements Analyst - A senior member or a member of leadership that has a good understanding of how this board should work with the rover.
  • System Architect - The main person responsible for the larger system this PCB would belong to on the rover.

Here are some additional personnel that may be useful to have:

  • Mechanical Engineer - The main consultant for mechanically fitting the PCB in the rover.
  • Software Designer - The main person responsible for writing the software for the PCB.
  • Testing Coordinator - The main person responsible for organizing test cycles for this PCB.
  • PCB Assembler - The main person responsible for populating the PCB.
  • Members in Training - Any newer members that may not have a total understanding of the PCBs that listen in to gain experience.

Again, these roles are informal and flexible. As long as at least one person is taking care of each role, you should be able to have a productive schematic review.

About 1-2 days before the review, the hardware designer should send out the schematic to all relevant members so that they may examine the schematic before the review. This is best done in the form of both a PDF exported from Altium containing all schematic sheets as well as the actual design files in a .zip file.

For larger boards, it may be useful for the host to write a theory of operations document that describes all the different choices made for the circuit schematic. This document can be in any format, but the most common and perhaps most readable formats are in the form of a bulleted list or in a report-like format. Different formats may suit different types of boards better, so it is up to the main hardware designer to choose what may work best for a particular design. This document should be sent out 1-2 days before the review.

During the schematic review, the host should first give an overview of the board and what its main purpose is. Then, the host should first explain all the major decisions that went into designing each sub-system on the board. This may include why certain components were selected, why certain pins are being used on an IC, why certain bits of circuitry look the way they do, etc. At any point during the explanation, audience members should be able to stop the host and make any suggestions necessary.

After the review, the hardware designer should make all necessary changes and write up a short summary of why certain changes were implemented and others were not (if applicable). Depending on how many changes were made, it may be appropriate to have a second schematic design review. Once all members have given their approval of the schematic, the design can proceed. Otherwise, the hardware designer should make changes and resend the schematics until all relevant members are satisfied.

Component Placement

Component placement is where you actually take your components of your schematic and physically arrange them on your PCB. This guide will explain some good practices and things to avoid when performing component placement.

Before you start, make sure you import the appropriate design rules of JLCPCB from the design rules folder](https://github.com/umrover/mrover-electrical/tree/main/design-rules) in the mrover-electrical repo. Once you have this downloaded, import it into your board’s design rules and then you can get started with your layout.

Defining the Board Stackup

The board stackup is the number of layers your board will contain as well as designating a role for each layer. For larger boards, you should expect to use 4 or 6 layers. For smaller boards, 2 layers will be sufficient.

In all cases, you need to define at least one ground layer that is dedicated to only being the main ground net for the board. For larger boards, you should strive for at least one ground layer that will be completely untouched by any traces. Smaller 2 layer boards may need to have some signals on the ground layer, but these signal traces should be kept to a minimum.

For larger boards, it may be beneficial to designate “x-biased” and “y-biased” signal layers. If there are enough layers for it, you may also designate diagonally biased signal layers. This essentially means that you will only route in the x or y direction for their respective layers. More details will be provided in the routing section of this guide.

Defining the Board Outline

Depending on what you know about your board, you may either define your board outline right after you determine the stackup or later in the design process. In most cases, you should strive to define your board outline first based on component count and size and physical space allocated on the rover.

For almost all boards you create, you will use a rectangular shape. In some cases, it may be appropriate to modify this shape based on if there are bulky components that would be in the way of the board in the electronics box. For aesthetic and safety purposes, it may also be advisable to have slightly rounded corners. A good example of a simple board outline is shown below:

Screen Shot 2023-04-21 at 9 11 16 PM

Component Placement Considerations

For most boards, there are some common pitfalls to watch out for. Although it may not seem critical, a bad layout can cause circuit failure even if the circuit schematic is flawless.

General Considerations

When placing your components, each sub-system should have its own section of the board to itself. Some components may overlap between different sub-systems (such as 0 ohm resistors). In this case, place those components where it makes the most sense to you and/or where you have the most space on the board. When placing your components within these sections, you should be mindful of pads that have the same nets and ensure that a trace is able to join those pads, or at the very least you should aim to have enough room for a via of appropriate size. You should also try to have a general map of where your major power planes will run. Make sure input power pins and pull-up networks are close or in the area you plan to pour your power planes. For neatness, you should also try to align components with each other as best as possible.

Connectors

Connectors generally need to be accessed externally. Thus, it makes sense to keep your connectors on the outside edge of your board. When placing your connectors, be sure that the external interface pins are pointed out of the board or straight up (if the connector is vertical). A good example of connector placement is shown below:

Screen Shot 2023-04-21 at 9 12 57 PM

ICs

Your ICs are usually the central component to a particular subsystem on your board. Thus, you should try to designate an area for each subsystem and place the IC toward the center in a way that uses the space most efficiently. Be sure to also experiment with rotating the IC to see how the pins might best cooperate with the rest of the board.

Supporting Components

Supporting components mainly include capacitors, resistors, inductors, transistors, and diodes. These components should have at minimum a clearance of 10 mils (¼ of a mm) between pads. Additionally, capacitor placement is especially important. The most common capacitor used is a decoupling capacitor. These capacitors should generally be placed as close to the “power sink” as possible. This means that, for example, if your capacitor is filtering a 5V line going into an IC, then your decoupling capacitors should be placed as close as possible to the 5V power input pins on that IC. A good example of this is shown below:

Screen Shot 2023-04-21 at 9 13 36 PM

Component Placement Review

The component placement review is meant to be a sort of “checkpoint” before reviewing the full completed layout. For smaller boards, this may not be necessary and you may proceed straight to routing. For larger boards, it is much easier to make mistakes when routing, so having a component placement review allows the team to catch some of those errors earlier on to prevent tedious time consuming reworks later on in the process. Ultimately, it is up to the PCB designer to decide whether or not this review is a necessary step.

For each component placement review, the following personnel should be attendance at minimum:

  • Hardware Designer - The main person responsible for designing the PCB schematic.
  • PCB Designer - The main person responsible for laying out and routing the PCB.
  • Requirements Analyst - A senior member or a member of leadership that has a good understanding of how this board should work with the rover.
  • System Architect - The main person responsible for the larger system this PCB would belong to on the rover.

Here are some additional personnel that may be useful to have:

  • Mechanical Engineer - The main consultant for mechanically fitting the PCB in the rover.
  • Software Designer - The main person responsible for writing the software for the PCB.
  • Testing Coordinator - The main person responsible for organizing test cycles for this PCB.
  • PCB Assembler - The main person responsible for populating the PCB.
  • Members in Training - Any newer members that may not have a total understanding of the PCBs that listen in to gain experience.

Again, these roles are informal and flexible. As long as at least one person is taking care of each role, you should be able to have a productive component placement review.

About 1-2 days before the review, the PCB designer should send out a document containing screenshots of every layer of the PCB as well as 3D views of both the front and back sides of the PCB. Additionally, the original design files should be sent out in a .zip file. This allows relevant members to think of suggestions beforehand to allow for a smoother review later.

For larger boards, it may be beneficial to write a theory of operations document that describes all the different choices made for the PCB layout. Again, this can be in any format as long as it is easy to follow and references specific parts of the layout clearly. This document should also be sent out 1-2 days before the review so members can understand why certain parts are arranged in certain ways.

During the review, the host should first give an overview of the board and what its main purpose is on the rover. Then, the host should point out where each subsystem is on the board and why each subsystem is laid out the way it is. During this process, audience members should feel free to stop the host at any point to make suggestions.

After the review, the PCB designer should implement all necessary changes and write up a short summary of what changes were made. The PCB designer should then send out new screenshots and design files for members to examine. If there are any additional comments, then the PCB designer should implement those changes if necessary. Once all members are satisfied with the design, the PCB designer can proceed with routing.

PCB Routing

Routing your PCB involves making the necessary connections to finalize your PCB. This mainly involves traces, vias, and copper pours (also known as planes or polygons in Altium). Although connections may seem simple, choosing the wrong parameters for these connections can cause your board to fail.

Copper Thickness

For almost all applications, you should expect to use 1oz copper thickness. Only in extremely high current applications (meaning over 10A on a line) should you even consider using 2oz copper. Using higher copper density increases parasitics and can be damaging to your circuit if it is not absolutely necessary. Knowing your copper thickness will allow you to choose parameters for other connections more accurately.

Traces

Traces are the most basic connection type for PCB design. A trace is a small copper strip that essentially acts like a wire between two pads on your PCB. There are many best practices that should be followed for these traces as well as many parameters that should be altered based on the characteristics of your circuit.

Traces

Trace Width - Trace width is the most important parameter for a trace. This is because trace width is a major determining factor of two of the most important circuit constraints you should account for: voltage (or IR) losses and current carrying limits. Copper traces have an inherent resistance per unit length. This unit resistance is decreased the wider a trace is. Thus, determining trace width is all about balancing the space you have to work with and the current and voltage limits of your net. A useful tool for this is an online trace width calculator which can help you determine the best trace width given your expected peak current, copper thickness, and allowed temperature rise. Some tools also allow you to input a trace length to determine the voltage loss along a line. Keep in mind that this tool is not perfect, but can be very insightful in designing higher current systems.

Tracing Strategy

Your tracing strategy will likely change for each board you make. For smaller boards, considering routing strategy may not be incredibly important since there are not very many connections to make. In this case, try to make your traces wide enough and as short as possible to ensure the most “ideal” circuit performance. You may also want to consider spacing traces out if there is a practical way to do so. This way you limit parasitics like crosstalk from causing your circuit to fail. For larger boards, a lack of strategy may not work. Larger boards will generally have many more connections and routing will get much more complicated for this kind of board. Generally, a large board will have 4 or more layers so that routing can be distributed among these layers. The Manhattan routing strategy may be best for multi-layer boards. This strategy involves designating a “x-biased” layer where a majority of the traces run left to right and a “y-biased” layer where a majority of the traces run up and down. For connections that have to run diagonally, you would run it on the “x-biased” layer first, and then via into the “y-biased” layer to finish your connection or the other way around. This strategy allows you to better organize your board while also minimizing crosstalk between unrelated traces.

Other Conventions

In general, your traces should be as short as possible to minimize losses. This often means using 45 degree turns instead of 90 degree turns and also having traces “hug” components a little tighter while still allowing some room so crosstalk is not a concern. A good rule of thumb is to have your trace be at least twice its width away from other traces or components if possible. Also be mindful of your traces’ connections to copper pads. Avoid having traces and copper pads forming acute 45 degree angles. For pins, you should always aim to trace straight into them, not at a 45 degree angle. Some good and bad examples of tracing into pads are shown below:

Screen Shot 2023-04-21 at 9 18 39 PM Screen Shot 2023-04-21 at 9 18 48 PM

Good example of routing straight into pad (top), good example of routing diagonally into the corner of a pad (middle), and bad example of routing diagonally into the side of a pad (bottom)

Vias

Vias are through-hole connections. In other words, vias join nets together through the different layers of your PCB rather than staying on a single layer. For nearly all applications, a 20/8 via (20 mils diameter and 8 mils hole diameter) will be sufficient. In any case, do NOT use smaller dimensions. JLCPCB does not have the capabilities to make smaller vias. In some fringe cases, you may find that it would be beneficial to alter via diameter or hole diameter.

Hole Diameter

Hole diameter controls two main parameters: current capacity and parasitic inductance. In general, having a larger hole size will increase the current capacity, but parasitic inductance will also increase. Thus, for higher power applications where inductance is not a major factor, it may be advisable to increase the hole diameter. In most other cases, keeping the hole size at 8 mils would be best practice.

Via Diameter

Via diameter also controls current capacity and parasitic inductance. The larger the diameter, the lower the current capacity and the higher the parasitic inductance. Thus, for virtually all applications, you should maintain a hole size of about 20 mils. This ensures the lowest series resistance and also the lowest parasitic inductance.

Additionally, there are a few types of vias to be aware of: signal vias, ground vias, stitching vias, and thermal vias.

Signal Vias

Signal vias are essentially vias used to complete connections by tracing on multiple layers. These vias can be placed virtually anywhere as long as it is not on top of a component or trace. For digital signals, you should also try to place vias at least 50 mils away from other traces to avoid significant levels of crosstalk. Below is a good example of a signal via:

Screen Shot 2023-04-21 at 9 22 38 PM

Ground Vias

Ground vias are vias that connect pads or pins to the main ground layer of the PCB. You should aim to have one via per ground pad EVEN IF that pad or pin is already connected to ground on the layer it sits on. If space is a concern, having one via for every two pads or pins may be acceptable. Below is a good example of some ground vias:

Screen Shot 2023-04-21 at 9 23 04 PM

Stitching Vias

Stitching vias serve as a way to connect planes of the same net on different layers to each other. You should aim to fit as many vias as you can for the most direct connection possible. A good rule of thumb is to first determine your peak current on the proposed net. For each amp of current, you should have at least two stitching vias. In other words, each stitching via is capable of efficiently and effectively handling 500mA of current. Below is a good example of some stitching vias:

Screen Shot 2023-04-21 at 9 23 47 PM

Thermal Vias

Thermal vias are similar to vias, but specifically for the ground plane. On your board, there may be some components that dissipate relatively high amounts of power and thus also relatively high amounts of heat. Most of the time, these components are ICs. If thermal conditions are relevant, many ICs will have a thermal pad that is typically situated directly under the chip. By connecting this thermal pad to the ground plane with an array of vias, you can significantly reduce the risk of overheating. By doing so, you effectively use the large copper ground plane as a heat sink. Below is a good example of thermal vias:

Screen Shot 2023-04-21 at 9 27 13 PM

Copper Pours

Copper pours are large bodies of copper that connect numerous pads or pins together. While traces generally only connect two pads together, copper pours almost always connect three or more components together. Power connections and ground connections are the main uses of copper pours.

General Conventions

Copper pours for nets other than ground should be created first. This ensures that all power connections are not interrupted by a ground pour in between pads. All layers should also have a large ground pour that fills in any empty space with copper. This helps to balance out the copper on each layer and thus improves the performance of your board in the long run. Be sure to also add some stitching vias wherever you have isolated ground areas.

Layout Review

The layout review is meant as a final check before ordering the board. This review is primarily for checking connections, but it may also be used to comment on component placement as well.

For each layout review, the following personnel should be attendance at minimum:

  • Hardware Designer - The main person responsible for designing the PCB schematic.
  • PCB Designer - The main person responsible for laying out and routing the PCB.
  • Requirements Analyst - A senior member or a member of leadership that has a good understanding of how this board should work with the rover.
  • System Architect - The main person responsible for the larger system this PCB would belong to on the rover.

Here are some additional personnel that may be useful to have:

  • Mechanical Engineer - The main consultant for mechanically fitting the PCB in the rover.
  • Software Designer - The main person responsible for writing the software for the PCB.
  • Testing Coordinator - The main person responsible for organizing test cycles for this PCB.
  • PCB Assembler - The main person responsible for populating the PCB.
  • Members in Training - Any newer members that may not have a total understanding of the PCBs that listen in to gain experience.

Again, these roles are informal and flexible. As long as at least one person is taking care of each role, you should be able to have a productive layout review.

About 1-2 days before the review, the PCB designer should send out a document containing screenshots of every layer of the PCB as well as 3D views of both the front and back sides of the PCB. Additionally, the original design files should be sent out in a .zip file. This allows relevant members to think of suggestions beforehand to allow for a smoother review later.

For larger boards, it may be beneficial to write a theory of operations document that describes all the different choices made for the PCB layout. Again, this can be in any format as long as it is easy to follow and references specific parts and connections of the layout clearly. This document should also be sent out 1-2 days before the review so members can understand why certain parts are arranged in certain ways.

During the review, the host should first give an overview of the board and what its main purpose is on the rover. Then, the host should point out where each subsystem is on the board and why each subsystem is laid out the way it is. If there was previously a component placement review, the host should also make an effort to point out all the “important” connections on the board. This can include power inputs for ICs, power outputs from PMICs, any important data lines such as I2C or UART, and any other important signals that are important for the function of the rover such as the feedback line of a power supply or key GPIO lines for sensors. During this process, audience members should feel free to stop the host at any point to make suggestions.

After the review, the PCB designer should implement all necessary changes and write up a short summary of what changes were made. The PCB designer should then send out new screenshots and design files for members to examine. If there are any additional comments, then the PCB designer should implement those changes if necessary. Once all members are satisfied with the design, the PCB designer can proceed with routing.

Ordering

Ordering your PCB will primarily be handled by your EHW lead. However, there are some key items to consider that would make your lead’s life much easier:

  • Make sure the BOM for the board is all in order. Each component should be clearly listed with its manufacturer part number, count, and designator at minimum. To generate a BOM, go to Reports->Bill of Materials. This will open up a window where you can decide what columns to include or uninclude. You can also choose to generate a .txt or .csv file. Click “Export” to save the BOM to your computer to view it.
  • Run Design Rule Check to ensure the layout meets JLCPCB specifications. This is done by selecting Tools->Design Rule Check. Click “Run Design Rule Check” on the bottom left and you should see a new page pop up that lists all the errors on the board. You can generally ignore any errors relating to silk screen, but all other errors should be closely examined and taken care of.
  • Make sure you have a board outline on its own separate mechanical layer.
  • Make sure all used connector pins are labeled.
  • Make sure the MROVER logo is seen somewhere on the board (usually on the top silk layer). If you would like, you can also add a fun picture on the back. This can be anything from characters from a show or video game to funny memes to truly make your board memorable :).
  • Put the board’s name and version on the board somewhere. Also put the initials of the main people who worked on the board somewhere on the board.
  • Examine the 3D view of the board to ensure that there are no problems with components hanging off the board (unless they are supposed to), height clearances, header orientation problems, or any other issues that may make the board difficult to work with.

Once you have ensured that all the above checks have been completed, send your design files to your lead to get your PCB ordered.

Manufacturing

Manufacturing Manufacturing typically involves using a combination of a reflow oven, hot air gun, and soldering iron to populate your PCB. This process will be taught to you practically with a practice PCB that you will solder yourself. Below are some common mistakes to avoid: Do not hold your hot air gun directly on or around connectors for too long. Doing so will melt the plastic and can deform them beyond practical use. Do not hold your soldering iron on a pad for too long. Doing so can cause the pad to rip off the board, leaving you with a nonfunctional PCB. Do not leave flux on your PCB even if it has “evaporated”. Doing so can cause corrosion over time. Wipe off any flux residue with acetone or rubbing alcohol. Do not use the solder paste syringe to directly apply solder paste to pads, especially on smaller pads. Doing so can be highly inaccurate and can cause you to use much more solder paste than necessary which can then cause bridging to occur. Use a tweezer to apply precise amounts instead. Once you have finished manufacturing, you should be ready to create test cycles and test the functionality of your board.

Testing

When testing, it is very easy to go directly into the practical portion without documenting your procedure or results. Without documentation, it is much easier to misunderstand how “ready” a board is for integration, especially for more complex boards. Thus, developing formal test cycles is crucial to developing reliable PCBs.

Writing Test Cycles

Test cycles should have five main components: a test cycle number, a test cycle title, a brief procedure, the requirement number(s) that the test cycle pertains to, and a pass or fail status indicator. The test cycle number serves to organize the test cycles. The procedure indicates what is required for the test and how to perform the test. The requirement number(s) indicate what requirements are being validated by this test cycle. The pass or fail status indicator should give an easy visual indication of how far along the test cycles are being resolved.

For some tests, it may also be relevant to provide an extra column for any notes or links to any documents that have relevant recorded data.

In general, you should aim to have at least one test in a test cycle for each requirement written. Once you have written a sufficient amount of test cycles, go over them with relevant leadership briefly. Then, you may begin testing.

Practical Testing

Practical testing mainly just involves following the procedure written for a test. However, there are some safety considerations to be mindful of when performing testing. Below are some common items to watch out for:

  • When using external power supplies, consider starting with a lower current limit. This way if something is poorly manufactured, you will have less of a risk of blowing up components.
  • If the board appears to be failing a test, continuity check components on the board first to see if there are manufacturing issues first.
  • If an IC is getting unreasonably hot, turn off your power supplies. Most likely, there is a short somewhere on your board.
  • Before connecting an external power supply, make sure that you are connecting the correct leads to power and ground.

You will likely experience many failed tests, especially in your first test cycle. For each failed test make a note of what you think is the most likely culprit and what you plan to do to fix the problem. Once you have fixed the problem, create a new test cycle and copy in the tests that failed from the previous cycle. Repeat this process until all tests have been passed. Your board should now be ready for integration.

Final Note

PCB design is a very difficult and exhaustive process. However, the most important part of being on this team is that you are learning something valuable and (hopefully) having some fun in the process. Always remember that if you don’t know or are unsure about something, there are always people on the team willing to help. With these points in mind, go out and tackle the world of PCB design!

Small Addendum: If there is anything in this document that feels unclear or incomplete, let someone on electrical leadership know and they will fix it ASAP.