Lesson 1: Introduction
Welcome to this course on mixed-signal hardware design!
In this lesson, I'll tell you more about this course, the pre-requisites, what you will learn in this course, and how the course is structured.
Lesson length: 00:05:23
Lesson 2: System Requirements
Starting from a very basic system description, we will go through - step-by-step - and define our system requirements. Initially, we'll start with a broad overview of what our product needs to be capable of, then gradually 'hone' in on far more detailed system requirements.
Lesson Sections:
- Basic System Description
We'll get given a very basic product brief, defining what our system should be capable of. - Defining Basic System Requirements
Given the product brief, we will define a number of basic system requirements. - Refining System Requirements
Once we have basic system requirements in place, we can hone in and refine our system requirements adding more and more detail along the way. Following that, we'll look at individual, sub-system requirements. - USB Requirements
Power, data rates, connector type, version/protocol, 'Host, Device, or OTG'. - Processor Requirements
Storage capabilities (flash/RAM), programming tools, peripherals, processing power, packaging, brand? - Power Supply Requirements
Linear or Switching, current-/power-handling requirements, filtering, input and output voltages, USB capabilities. - Data Converter Requirements
ADCs and DACs, number of channels, number of bits, sampling rate, additional features, interface (SPI, parallel, ...). - Analogue
Anti-aliasing/reconstruction filters, buffers, impedances, single-ended/differential. - Miscellaneous
Mechanical constraints, connectors, peripherals, ESD protection, EMC, biasing, timing. - System Block Diagram
Given our more detailed system requirements and system description, we can create an initial block diagram.
Lesson length: 00:20:38
Lesson 3: Part Selection
How to choose suitable parts (ICs, passives, ...) for our specific design, given our derived system requirements.
Lesson Sections:
- Part Selection Basics
Which parts to choose first, calculating power requirements, choosing additional components (passives), choosing connectors. - Finding Suitable Parts
How to find suitable parts (stock, PCB assembler, familiarity with parts, distributor part search). - Distributor Part Search
Example demonstration of Mouser's part search to find a suitable microcontroller. - Microcontroller Selection
Important microcontroller (MCU) parameters: speeds, flash and RAM sizes, peripherals, brands, packages, .... - ADC and DAC Selection
Important data converter parameters, part choices given our requirements. - DC/DC Converter Selection
Supply requirements leading to converter selection, LDO for analogue, switching (buck) for digital, specific part choices and reasons for choosing them, preview of required surrounding circuitry. - Analogue Component Selection
Low-noise design principles (resistor Johnson noise), op-amp selection (input type, rail-to-rail, bandwidth, etc.), ADC and DAC interfaces, filters. - Additional Component Selection
Voltage/current/power ratings, material/process types, temperature coefficients and tolerances, package sizes, ESD protection and EMI filters. - Final Points
BOM consolidation, standard value compoennts, easy-to-assemble/debug packages.
Lesson length: 00:24:20
Lesson 4: How To Read A Datasheet and Circuit Design Introduction
How to read a datasheet (typical and useful sections) and introduction to the next part of the course: circuit design.
Lesson Sections:
- Datasheet Overview and Table of Contents
Standard layout of a datasheet, and typically most useful sections, - Pin Configuration and Functions Section
Pinout of specific device, useful for schematic symbol creation. - Ratings and Operating Conditions Section
Absolute maximum ratings, recommended operating conditions, incorporated ESD protection. - Application and Implementation Section
Example schematic, component values and sizing for required external circuitry - Layout Guidelines Section
Important information for laying out and routing the specific part. - Package and Footprint Section
Package/footprint information to aid the design of a suitable component footprint in our ECAD software. - Circuit Design Introduction
Moving to KiCad to examine schematic in next lesson, looking at following sections: power supplies, microcontroller and USB, ADC and analogue circuitry, DAC and analogue circuitry.
Lesson length: 00:05:43
Lesson 5: Schematic Design - Power Supply
Starting with circuit design and analysis, we'll move over to KiCad and examine the schematic in sections of our mixed-signal demo hardware. In this first schematic lesson, we'll look at some basic schematic tips for readability and sectioning, as well as the entire power supply circuitry for our prototype product.
Lesson Sections:
- Schematic Overview and Tips
How to section a schematic, tips and tricks for readability, and a brief overview of our entire schematic in KiCad. - Power Supply Overview
Input filter, analogue supply, digital supply, and op-amp bias generator. - Input Filter and RLC Filters
Filtering noisy USB power rails, RLC filter theory, choosing suitable component values, RLC filter design using online tools. - Analogue Supply
Linear, low drop-out (LDO) regulators and surrounding circuitry. - RC Filters
RC filter theory and design, analogue supply filtering, power dissipation in resistors. - Labelling Nets
Incredibly important design step: label ALL nets. - Digital Supply
Switching, buck converter for digital circuitry supply rail. Buck convert component selection and sizing (inductor, capacitors, feedback network). - LEDs and Current-Limiting Resistors
Extracting relevant information from LED datasheet, typical current requirements and forward voltages, calculating suitable current-limiting resistor values to adjust LED brightness. - Bias Generator
Configuring an op-amp as a voltage follower to generate a stable bias voltage for op-amps in the analogue front-ends. Supply filtering and reference generation. - Decoupling/Bypass Capacitors
Decoupling capacitor theory, reasons for requiring decoupling capacitors, rough sizing and placement guidelines.
Lesson length: 00:31:36
Lesson 6: Schematic Design - Microcontroller, USB, SWD, and ESD Protection
Moving on to the next schematic page, containing the microcontroller (STM32), programming interface (SWD), and USB circuitry. We'll also examine circuit protection features, such as current-limiting resistors and ESD protection.
Lesson Sections:
- Overview
Overview and sectioning of schematic page into logical groups. - Microcontroller Circuitry
Decoupling capacitors, VDDA filtering, configuration pins, crystal oscillator connections. - Crystal Oscillator Circuitry
Crystal oscillator component selection and sizing, load capacitors and feed resistor calculations. - Pin-Out Planning
Initial pin-out, including peripheral selection (SPI, USB, SWD, Timers, ...) for STM32 microcontroller using STM32CubeIDE. - Pull-Up Resistors
Required pull-up resistors on certain datalines, app notes that detail requirements. - RGB LED
Current-limiting resistors for RGB LED, decoupling, connection to timer channels for PWM duty-cycle-based control via MCU. - USB
Type C connector specifics, CC resistors for power delivery, ESD protection, and filtering using common-mode chokes. - Serial Wire Debug
SWD header pinout, protection circuitry with current-limiting resistors and ESD protection, adding capacitance to NRST line. - TVS Diodes
How to quickly choose the right TVS diode for ESD protection, depending on voltage requirements and bus speeds.
Lesson length: 00:31:39
Lesson 7: Schematic Design - ADC, DAC, and Analogue Circuitry
In this lesson, we'll examine the final two schematic pages - those of the ADC and DAC, as well as all corresponding analogue circuitry ('front-ends').
Lesson Sections:
- ADC Datasheet
Overview of ADC, including features, and pin-out. - Symbol Creation
How to create a custom symbol in KiCad 6 using the datasheet as a reference, including proper sectioning of symobls (digital, analog, ground, and power). - ADC Surrounding Circuitry
Using the datasheet to add the required external circuitry to the ADC, such as decoupling capacitors. - Voltage Reference
Using an additional IC voltage reference to feed the ADC, voltage reference filtering and bypassing. - Analogue Front-End
BNC input connector, ESD protection, RF filter, AC coupling, biasing, op-amp buffer with defined input impedance, analogue anti-aliasing filter design (3rd order Butterworth, Sallen-Key), single-ended to 'pseudo'differential/balanced conversion. - DAC and Analogue 'Rear-End'
Required surrounding circuitry for DAC, analogue reconstruction filter, output buffer, ESD protection, and BNC connector.
Lesson length: 00:23:23
Lesson 8: Final Schematic Tips, Footprint Selection, and Footprint Creation
Final steps when creating the schematic, as well as selecting and creating custom footprints in KiCad.
Lesson Sections:
- Annotation
How to logically annotate multi-page schematics. - Electrical Rules Check
Performing an ERC to catch any schematic capture mistakes. - Footprint Selection
Guidelines to help choose suitable footprints, for example, passive sizes depending on requirements. - Footprint Creation
Using the ADC datasheet to create a custom footprint in KiCad. - 3D Models
Retrieving a 3D model, and adding it to our footprint.
Lesson length: 00:08:56
Lesson 9: Circuit Simulation with LTSpice
After creating our initial schematics, we can simulate parts of our circuitry using free tools. We will use LTSpice to simulate a simple op-amp bias generator, both with a DC operating point and AC frequency response analysis.
Lesson Sections:
- LTSpice Overview
Placing components, voltage sources, net names, and navigating around the LTSpice GUI. - DC Operating Point Anaylsis
Steady-state, DC analysis of an op-amp bias generator to check DC node voltages and currents. - AC Frequency Response Analysis
Simulating and analysing the frequency response of an RC, low-pass filter across a defined frequency band.
Lesson length: 00:09:35
Lesson 10: PCB Design - Introduction
Once we have our schematic and footprints in place, we can move over to PCB design. We'll start off our design with a discussion about some PCB design basics and guidelines.
Lesson Sections:
- Checking Your Work
Before continuing, make sure to thoroughly check schematics, symbols, datasheets, footprints, and simulations. - Recommended Resources
Several recommended (free) videos to cover PCB design basics. - PCB Stack-Up
Looking at general PCB stack-ups, comparing two four-layer PCB stackups, and benefits and drawbacks of each. - The Signal Path
Discussing how electrical signals flow through a PCB and how this influences our decision of which stack-up to use. - Traces
Guidelines for trace thickness, width, spacing, depending on power or signalling requirements, example current-handling capability calculations in KiCad. - Controlled Impedance Traces
Brief overview of controlled impedance traces, why they are necessary, and using various methods to calculate required trace widths - depending on stack-up - to control impedance. - Vias and Through-Holes
Determining via properties, pad width, drill sizes, and annular rings, recommended sizing, and guidelines.
Lesson length: 00:21:15
Lesson 11: PCB - Design Rules and Set-Up
Before we can begin with our rough board layout and component placement, we need to set up our PCB in KiCad, as well as to import design rules from our chosen PCB manufacturer.
Lesson Sections:
- Board Set-Up
Defining board in KiCad, layer count, stack-up, signal and power layers, and surface treatment. - Design Rules
Walking through design rules available in KiCad, looking at typical PCB manufacturer capabilities, figuring out design rules from capabilities, importing design rules into KiCad. - Track and Via Dimensions
Adding standard track and via dimensions to our predefined settings in KiCad, importing controlled impedance calculations. - Miscellaneous Set-Up
Brief look at KiCad's default custom net class editor, custom rules editor, and violation severity settings.
Lesson length: 00:08:02
Lesson 12: PCB - Layout
We are now ready to begin with the layout of our PCB. Beginning with a very rough placement of the circuitry, we'll hone into the final layout, section-by-section and step-by-step. Throughout, we'll be discussing tips and tricks for properly laying out mixed-signal PCBs that'll make our routing life easier afterwards.
Lesson Sections:
- Importing Footprints
Importing the data from our schematics and placing footprints on the blank PCB. - Adding Missing 3D Models
Sometimes links are broken between footprints and their 3D models. Here's how to fix that! - Microcontroller
Laying out the microcontroller, decoupling capacitors and their best placement, surrounding circuitry. - Crystal
Recommended distance and placement to MCU, correct load capacitor and feed resistor placement. - Pull-Up Resistors
Determining priority of components, placing components in the signal path to avoid stubs. - Serial Wire Debug
Determining best placement of connector, ESD protection, and current-limiting resistors w.r.t. the microcontroller. - USB
Connector, ESD protection, filtering and pull-up resistor placement. Which signal order to place components in, preparing for differential routing later on. - ADC, DAC, and Analogue Circuitry
Creating a boundary between digital and analogue sections, sectioning circuitry, component placement for lowest cross-talk, coupling, and noise, filter placement, and analogue circuitry layout. - Power Supplies
LDO regulator layout with bypass capacitor and filtering resistor, switching regulator layout with best practices, proper placement of analogue and digital supplies. - Fine-Tuning Layout and Improving Placement
Starting with 'islands' of components and component groupings, improving the layout step-by-step, and adjusting connector positions. - Mechanical
Determining a board layout after initial component placement, rounding PCB corners, adding standardises mounting holes to the design.
Lesson length: 01:03:40
Lesson 13: PCB - Routing
Having created an initial layout, we are ready to route our PCB. In this lesson, you'll learn best practices and guidelines for mixed-signal PCB routing, as we route all sections of this board together.
Lesson Sections:
- Layer Designation
Routing layers, ground plane layers, adding ground planes, hiding/showing layers in KiCad. - Routing Guidelines
Controlled impedance routing, spacing, trace width, via placement, grounding, decoupling capacitors, etc. - all to minimise noise, cross-talk, EMI. - Tips and Tricks
Power puddles and how to best link several, adjacent pads of the same net, ground return path vias for field control, improving routing by changing microcontroller pin-out. - Digital
Controlled impedance, differential USB routing, SPI, crystal. - Analogue
Routing to minimise interference from digital section, analogue routing guidelines. - Power Supplies
Best practices for routing LDO regulators and switching converters. Routing of power traces on signal layers.
Lesson length: 00:49:09
Lesson 14: PCB - Finishing Touches
We need to add some finishing touches to our PCB, including stitching vias and silkscreen.
Lesson Sections:
- Via Stitching
Reasons for stitching vias, how to place stitching vias. - Silkscreen
Labelling connectors and pins, indicating component orientations, adding a custom logo.
Lesson length: 00:04:46
Lesson 15: Getting The Product Manufactured
Once we've cleaned up our PCB and added finishing touches, we can prepare the necessary files to order our boards at a PCB manufacturer with assembly.
Lesson Sections:
- Preparation
Checking design files, minimum production files required. - Production Files
How to export Gerber and drill files, and how to use KiCad's Gerber viewer to check them. - Assembly Files
How to export the footprint position file (CPL), and bill of materials file (BOM), including how to edit the export scripts in KiCad, and add manufacturer names, and manufacturer part numbers. - Example PCB Manufacturers
Brief look at two PCB manufacturers that offer PCB assembly, checking out the rough ordering process, and how to provide the files.
Lesson length: 00:09:51
Lesson 16: Outro
Congratulations on reaching the end of this mixed-signal hardware design course!
In this final video, I'll show you how to contact me regarding course questions, as well as links to the Phil's Lab YouTube channel and website for more educational engineering content.
Lesson length: 00:01:51