💡

Designing and Building a Board Using Altium Designer

Jul 8, 2024

Lecture Notes on Designing and Building a Board Using Altium Designer

Introduction

  • Learning to design and build a board using Altium Designer
  • By the end, you will create and hold your own ESP32-C2 board
  • Steps covered: drawing schematic, creating libraries, doing PCB layout, ordering the board, soldering components, testing, writing, and uploading software

Setting Up the Project

  1. **Creating a New Project in Altium Designer:

    • Go to File > New Project > Local Project, name it esp32_with_usbc.
    • Add schematic, PCB, schematic symbol library, and PCB library files.
  2. **Saving Files:

    • Save the schematic as esp32_with_usbc.SchDoc.
    • Save the PCB as esp32_with_usbc.PCBDoc.
    • Save libraries with relevant names, e.g. esp32_with_usbc.SchLib for symbols.

Importing and Creating Components

  1. **Finding Components:

    • Search online for ESP32, find the datasheet, and development kits on the official website.
  2. **Creating Schematic Symbols and Libraries:

    • Import component information from Digi-Key into the Altium library.
    • Draw and adjust symbols based on the datasheet, e.g., pin names and numbers.
    • Utilize Excel and importing tricks for bulk pin entries.
  3. **Adding Components to the Schematic:

    • Include essential supporting components such as capacitors and resistors. Use recommended or preferred components from reliable sources like Digi-Key.**

Schematic Design

  1. **Connecting Components:
    • Follow the reference schematics for proper connections.
    • Ensure essential components like capacitors (0.1uF, 10uF, 1uF) are in place.
    • Be diligent about power and ground connections.
    • Use net labels for organized and clear schematics.
    • Integrate special parts of the schematic, e.g., reset logic, power selection.**

PCB Layout

  1. **Placing Components:

    • Prepare PCB layout by locking in the positions of critical components like USB connectors.
    • Use Altium's features such as Component Placement and Interactive Differential Pair Routing to facilitate layout.
  2. **Routing Connections:

    • Configure differential pair settings for USB data lines (DP, DN) with proper impedance control.
    • Route other signals with considerations for signal integrity.
    • Address specific routing requirements for power, ground, and signal nets.
  3. **Optimizing and Validating Design:

    • Perform Design Rule Checks (DRCs) for potential spacing and clearance issues.
    • Adjust and correct any violations to meet manufacturing specs.**

Final Adjustments and Documentation

  1. **Generating Final Output:

    • Create and adjust silk screen layers, add identifiers and labels for pins, connectors, and boards.
    • Export Gerber files for PCB manufacturing and bill of materials (BOM) for component procurement.
    • Validate Gerber outputs with tools like ViewMate.
  2. **Ordering PCBs:

    • Submit designs to PCB manufacturers such as JLCPCB, ensuring manufacturing settings match design specifications.
    • Confirm and order missing components separately for unsourced parts.

Assembly and Testing

  1. **Soldering Components:

    • Instructions for manually soldering sensitive and missing parts using soldering iron and hot air gun where appropriate.
    • Check for shorts and proper connections before powering up.
  2. **Programming and Testing:

    • Setup the Arduino IDE for programming the ESP32 board.
    • Use basic examples (like Blink) to test LED and GPIO functionality.
    • Test Wi-Fi capability with sample server code.
    • Confirm proper operation and hardware functionality using serial monitor and web interfaces.

Conclusion

  • Boards are tested and operational.
  • Successful completion involves understanding the entire workflow from schematic, PCB design, ordering, assembly, and programming.

Additional Resources

  • Full project is available on GitHub: https://github.com/fedevel/esp32_with_usbc
  • For further learning, check out online courses on PCB design at Fedevel Academy.