Learn GDSFactory+ through hands-on video tutorials. Whether you're just getting started or looking to master advanced features, these videos will guide you through every step of the process.
Quick Navigation¶
- Getting Started - Set up your account, install the extension, and create workspaces
- Library Management - Browse and customize PDKs and components
- Layout Design - Create schematics, components, and circuits
- Verification - Run DRC, connectivity checks, and LVS
- Simulations - Run mode solvers and circuit simulations
- Collaboration - Use AI tools and Git version control
Getting Started¶
Sign Up for a GDSFactory+ Trial Account¶
Steps:
- Go to gdsfactory.com and click Sign Up
- Enter your name and email address
- Verify your account via the confirmation email (check spam if needed)
- Request a trial by selecting your organization name and desired PDKs
- Once approved, invite colleagues to join your organization
How to Invite Team Members to GDSFactory+¶
- Navigate to the Organization tab
- Click the New Invitation button
- Enter the recipient's email and assign their role (Admin or User)
- Admins can manage users; Users can access organization resources
- Colleague receives an email with a sign-up link and auto-joins your organization
- If the email doesn't arrive, check the spam or junk folder
Installing GDSFactory+ Locally in VS Code¶
How to install the GDSFactory+ VS Code extension and Python library, set up your API key, and get started with local development.
Steps:
- On Windows, install VS Code in WSL (Linux subsystem) for best performance
- Open VS Code, go to Extensions, search for GDSFactory+ and install
- Open a GDSFactory+ project for the extension to work correctly
- Verify installation by checking for the GF+ menu item in the sidebar
- Create an API key on gdsfactory.com under API Keys
- Paste the key in VS Code: GF+ > Settings > Edit Global Settings
- Save and reload the window to apply changes
- First run takes ~1 minute to build PDK components
For the extension to work properly you will need to open a GDS Factory project and install the GDS Factory Plus Python library. We will cover this in a separate tutorial.
Install Linux via WSL (Optional for Windows Users)¶
For better performance and compatibility on Windows, install Linux through Windows Subsystem for Linux (WSL):
- Open PowerShell and run:
wsl --install - Restart your computer
- After setup, open VSCode and install the Remote - WSL extension
- Open your Linux environment in VSCode by typing
code .in the WSL terminal
Creating and Managing Cloud Workspaces¶
Learn how to create cloud workspaces on the GDSFactory+ dashboard, connect your GitHub account, and manage workspace status.
Steps:
- Connect your GitHub account from the Dashboard tab
- Create a workspace from a PDK Template or an existing GitHub Organization project
- Enter a workspace name and select the project to edit
- Wait ~1 minute for status to go from Starting > Pending > Activated > Running
- Access the workspace via the URL shown in the dashboard
- Delete workspaces with the trash icon (sync work first — irreversible)
Library Management¶
Create Projects from Templates¶
How to use the GDSFactory+ VS Code extension to create new projects from PDK templates and set up dependencies automatically.
Steps:
- Install the GDSFactory+ VS Code extension
- Upload NDA PDKs to your private packages if needed
- Click PDK > Settings > New Project
- Select the PDK template (e.g., Cornerstone Open Access PDK)
- Choose a folder and submit to create the project
- Wait for dependencies to install and components to build
- Browse sample components and notebooks to get started
PDK Explorer¶
Browse project and foundry components, view GDS layouts, schematics, and 3D views, and create new components using the PDK Explorer.
Steps:
- Click on the PDK tab to see Project Components (top) and Foundry Components (bottom)
- Click any component to view its GDS layout
- Use the ruler tool to measure distances, toggle layers on/off
- Click Schematic to open the schematic editor for circuit-level views
- Edit source code directly from the component view
- Drag and drop to view layout and schematic side by side
Editing and Customizing PDKs¶
Advanced tutorial on modifying PDK layer numbers — edit layer definitions in the layers file, rebuild components, and verify changes in the layout viewer.
Steps:
- Open the PDK in the GDSFactory Plus menu
- Modify a layer number in the layers file
- Restart the GDSFactory extension to apply changes
- Force rebuild components using the play button
- Verify the new layer settings appear in the layout viewer
Layout Design¶
Schematic Driven Layout¶
Create schematics, add component instances, define connections and ports, and run circuit simulations using the GDSFactory+ schematic editor.
Steps:
- Click GDSFactoryPlus > + to create a new Schematic (e.g., rings2)
- Add instances using the plus icon (e.g., ring_single), name them R1, R2
- Save and open layout side by side
- Create automatic routes between components
- Expose unconnected ports via right-click for circuit simulations
- Run circuit simulations locally or remotely from the schematic
- Routes auto-adjust when moving instances
Create Components in Python¶
Learn how to build photonic components in Python — add polygons, use grid functions, pack components, import GDS files, and define ports.
Steps:
- Click PDK > + > Component to create a new Python component
- Click Add Cell to create a cell function that returns a Component
- Add polygons to the component canvas
- Use gf.grid to arrange multiple components in a grid layout
- Use the pack function to efficiently minimize unused space
- Import existing GDS files with gf.import_gds
- Add ports with Component.add_port (name, center, width, orientation, layer)
Write PCells Based on Generic PDK¶
Create custom parametric cells in Python using the GDSFactory generic PDK's 250+ P-Cell templates and customize their parameters.
Steps:
- Click PDK > + to create a new Python Layout
- Name the function to match the component (e.g., spiral_delay)
- Use an existing P-Cell as a base template
- Expose specific parameters to the user (e.g., length)
- Press Ctrl/Cmd + click on a P-Cell to view all available parameters
- Modify parameter values and see the layout update automatically
- Explore 250+ reusable P-Cells in the GDSFactory generic PDK docs
Create Custom Cross-sections¶
Learn how to define custom waveguide cross-sections by specifying layers, widths, and offsets, and use them in your photonic components.
Steps:
- Go to GDSFactory+ tab > Create New > Cross Section
- Define the cross-section with a name (e.g., strip_900) and width (e.g., 0.9 um)
- Each section has a layer, width, and offset that can be parameterized
- Restart the server via Settings > Restart Server to apply changes
- Create a new component or schematic and select your custom cross-section
- Use the ruler tool to verify the correct width
Verification¶
Run DRC on GDS Files¶
Run DRC on your GDS files in the GDSFactory+ platform to identify and review design rule violations before fabrication.
Steps:
- Create or upload a GDS file in the platform
- Open the GDS file and click the DRC button
- Wait for the check to complete — results open in the DRC tab automatically
- Review errors by category (e.g., minimum width, minimum space violations)
- Click on each violation to navigate to the specific component and location
Check Connectivity¶
Detect overlapping waveguides and other connectivity issues in your GDS components with automated connectivity checks.
Steps:
- Open a GDS component (e.g., N by N Chiplets)
- Click the DRC button and press Check Connectivity
- Results appear in the DRC Verification tab automatically
- Review categorized errors: Instance Overlaps and Orphan Ports
- Click on each error to highlight the issue in the layout
Layout vs. Schematic (LVS) Checks¶
Learn how to run LVS checks to verify your physical layout matches your schematic design, ensuring fabrication-ready designs.
Steps:
- LVS compares your layout (construction) against your schematic (blueprint)
- Run LVS checks in GDSFactory to verify layout-schematic consistency
- Review results to identify mismatches (e.g., missing connections)
- Fix any discrepancies before sending to fabrication
Simulations¶
Mode Solver with FEM (Femwell)¶
What you'll learn:
- Setting up Femwell (open-source finite element multi-physics solver)
- Running mode solver simulations in Jupyter notebooks
- Exploring how waveguide width affects supported modes
- Comparing different materials (silicon vs. silicon nitride)
- Understanding single-mode vs. multi-mode conditions
Mode Solver with FDFD¶
What you'll learn:
- Using the FDTD mode solver to analyze electromagnetic modes
- Computing TE and TM modes for waveguides
- Running mode sweeps as parameters change
- Calculating effective index, group index, and dispersion
- Studying bend losses and coupling coefficients
Creating Custom Circuit Models¶
Create custom models, attach them to components, wrap existing SAX models, and run circuit simulations on your photonic designs.
Steps:
- Create a custom Python component (e.g., my_grating_coupler) via File > New
- Click New Cell, define the component, and view the GDS
- Right-click on the component and select "Add or Edit Model"
- Choose default port naming convention (o1, o2, o3, o4)
- Select "Yes, wrap existing SAX model" to start from an existing model
- Customize model parameters (e.g., set 3 dB insertion loss)
- Add the component to a schematic and run a circuit simulation
Collaboration¶
Git Version Control¶
What you'll learn:
- Creating Git branches in VSCode
- Staging and committing changes with descriptive messages
- Handling pre-commit hooks for automatic code formatting
- Pushing branches and creating pull requests
- Syncing with the main branch after merging
Git acts as a "time machine" for your project, allowing teams to collaborate on parametric designs without conflicts—bringing software-level version control to hardware design.
Need More Help?¶
- Browse the Quickstart Guide for step-by-step tutorials
- Check the Community page for support and discussion
- Visit the Changelog page to see the latest features