Video Tutorials
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
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
Installing GDSFactory+ Locally in VS Code
Install the GDSFactory+ VS Code extension, connect your account with an API key, and set up a project for local development.
Steps: - On Windows, use VS Code with WSL (Windows Subsystem for Linux) - Find and install the GDSFactory+ extension in VS Code - Open a GDSFactory+ project and locate the GFPlus sidebar entry - Create an API key on gdsfactory.com and add it to the extension settings - Install the PDK wheels provided by your foundry, if needed - Click Setup automatically to create the Python environment and install dependencies - Wait for setup to finish, then start working on your photonic designs
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
Install PDKs from the customer portal
- Sign an NDA with the foundry and receive the GDSFactory PDK wheels and sample project
- Sign in at gdsfactory.com and go to Private Packages
- Upload the PDK wheels for Mac, Windows, and Linux
- Wait for validation to complete
- Create a new Cloud Workspace from the activated PDK, you can also see the docs and released versions of each PDK in the dashboard
Install PDKs
- Open the sample project provided by the foundry
- Click "Install PDK"
- Select all wheel files provided by the foundry
- The app automatically selects the correct wheel for each operating system
- Install and activate the PDK for use across multiple projects
- Click "Set Up Automatically" to create the environment and install dependencies
- The app loads the project configuration and settings
- Restart the app and verify that the PDK and project work correctly
Install PDKs locally
- Install a foundry PDK distributed as a Python wheel.
- Choose between:
- App installation — best for multiple projects, teams, documentation, and PDK updates.
- Local installation — best for a single project.
- Open the sample project provided by the foundry.
- Install the correct wheel for Windows, Linux, or macOS.
- Use Set Up Automatically to install the remaining dependencies.
- Restart the app and verify that the PDK and project are working correctly.
Create Projects from Templates
Learn how to create a new GDSFactory+ project from a PDK template, automatically install the required dependencies, and start exploring the included components and notebooks.
- Install the GDSFactory+ VS Code extension
- Activate the PDK first if it requires an NDA
- Open GDSFactory+ and click "New Project"
- Select a PDK project template
- Choose between standard "-project" and editable "-pdk" templates
- Select a folder and click "Create"
- Open "View Status" and click "Set Up Automatically"
- Wait for the dependencies and sample components to install and build
- Explore the included components and notebooks
- Start designing with the PDK
Explore Components and Build a Circuit in GDSFactory+
Create a project from the Photonics Full template, explore components in the PDK Explorer, and customize a Python component. Then connect components in a schematic and generate the circuit layout.
Steps: - Create a project using the Photonics Full template - Set up the project dependencies through View Status - Browse component layouts and source code in the PDK Explorer - Create a Python component and preview parameter changes - Add components to a schematic, connect them, and add ports - Configure automatic routing and generate the final GDS layout
Editing and Customizing PDKs
Learn how to modify a layer number in an editable PDK, rebuild a component, and check the updated layer assignment in the layout viewer. This tutorial uses photonics-full-pdk as an example.
Steps: - Open the editable PDK from the GDSFactory+ menu - Find the layer definition in the layers file - Change the layer number and save the file - Restart the GDSFactory extension to reload the PDK - Force a component rebuild using the play button - Verify the updated layer number in the layout viewer
Layout Design
Schematic Driven Layout
Build a two-ring circuit in the GDSFactory+ schematic editor. Add components, connect them with automatic routes, expose circuit ports, and run a simulation.
- Create a schematic named rings2
- Add two ring_single instances named R1 and R2
- Save and open the schematic and layout side by side
- Connect the rings with an automatic route
- Change a ring parameter and move an instance to demonstrate route updates
- Expose unconnected ports and inspect them with Show Ports
- Run a circuit simulation and view the results
- Introduce direct connections as an alternative to automatic routes
Create Components in Python
Learn how to create parametric photonic components in python, preview layouts, troubleshoot errors, arrange components, and import gds files with ports.
Steps: - Create a Python file from the GDSFactory+ tab - Add a component reference and expose a parameter - Preview the layout and update it by saving parameter changes - Add polygons and inspect the component in the 3D Viewer - Use the traceback to troubleshoot component errors - 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)
Verification
Running Design Rule Checks (DRC)
Learn how to run DRC in GDSFactory+, select rules, and locate design rule violations in your layout.
Steps: - Create or upload a GDS file in the platform - Open the GDS file and click the DRC button - Create a project when prompted and select the rules to check - Choose the PDK technology flavor, if available - Run the check and monitor its progress - Review the results when the check completes - 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 from simulations
Create a grating coupler model from simulation results, attach it to a component, and explore how layout changes affect a circuit's transmission spectrum.
Steps: - Create a custom Python component called gc via File > New - Click New Cell, define the component, and view the GDS - Set up an FDTD simulation and inspect the resulting S-parameters - Right-click on the component and select "Add Model" - Choose the default port naming convention (o1, o2, o3, o4) - Select "Yes, wrap existing SAX model" to start from an existing model - Set insertion loss, reflection, and bandwidth parameters, then simulate the model - Connect two grating couplers in a circuit and expose their fiber ports - Simulate the circuit and inspect the loss and interference ripple - Change the coupler separation, rerun the simulation, and compare the ripple spacing
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