Categories
All Softwares
Sublime Text VSCode Binaries Postman TeamViewer Firebase Visual Studio Code Contentful Tribe Circle Notion Datadog NewRelic Vmix Archbee Docker Desktop Bitly GitHub BitBucket Upsource Zapier Make Medium substack Facebook Amazon S3 Maya 3DS MAX Adobe Substance Airtable Roam Research Azure DevOps Retool Powerapps Appsheet 1Password Plex Emby Netflix Apple HomeKit Algolia Lightshot Confluence Toad tableau Data Studio Salesforce SAP Calendly Google photos Bloomberg Terminal BigQuery ML Google AutoML Tables Shopify BigCommerce Google Drive Redis Memcached Windows media player WhatsApp Heroku Render Looker Quizlet Google Analytics Auth0 Trello Elasticsearch Adobe Premiere Pro Zerotier Zoom Skype Docker Polypane Google Chrome Microsoft Edge Safari Gitbook Gmail Google Vertex AI Kdb+ Amplitude Google Docs Typora Roboflow ML Kit Azure Intercom Quicken YNAB Uptime Robot Figma npm TigerGraph Amazon Neptune Fivetran Okta YouTube LastPass Mailchimp Sendinblue Adobe Acrobat Pocket Reddit Onenote Shogun DaVinci Resolve UiPath Taliscale Adobe Lightroom FullStory LogRocket RescueTime Boxcryptor LaunchDarkly ArcGIS AWS SageMaker Tailscale NordVPN WooCommerce Twitter Dropbox Nagios Zabbix Prtg Google Cloud Webflow ActiveCampaign Quickbooks .Net Maui Airplane.dev Pipedream Evernote Autodesk AutoCAD HCL Connections Google Sheets Excel Rundeck Ansible Tower Salt Twilio Pastebin Zoho Unity3D GameMaker AWS Config GCP Cloud Asset inventory AWS GuardDuty Unreal Engine (UE4) Jira YouTrack Stytch Suite CRM Greynoise Photoshop LinkTree BlackBoard Zendesk Discord Rollout.io Disqus Oracle Fusion ERP Cloud Odoo Microsoft Dynamics Alfred Sophos Firewall UniFi Security Gateway Azure AD Doodle Office Online Power BI MicroStrategy Qlik Ampache Socrata Drone CI IOS WordPress IDM FDM Ninja Download Manager McAfee Google Meet WIX cPanel LucidChart HubSpot Landbot Typeform CCleaner Ecwid Spotify Stackstrom N8N Substance Painter Onshape SketchUp Canny Miro XMind Segment GoogleForms Adobe Illustrator MultiSim Proteus Prezi Slack Microsoft Teams SumSub JAWS Wetransfer Framer Microsoft 365 Telegram Threema Signal Lokalise Crowdin Phrase WolframAlpha Dataclay Templater Bot WorkOS FrontEgg Snorkel AI ZohoCRM Voicemod Chromatic Percy POEditor Transifex Microsoft Office Selenium vBulletin Xenforo Hightouch Logseq Bundlephobia Webpack Esbuild Rollup Session Berty WHMCS Stripe Billing Google Camera ImgIX Netlify Google Keep SocialPilot Hootsuite Firebase Analytics Access Manager Wordle Amazon Redshift Snowflake Microsoft Active Directory ClubHouse Tenable Nessus Obsidian Scrivener IDA Neo4j Pushbullet Pushover TinkerCAD Fusion360 SolidWorks TablePlus Cryptomator Glasswire Comodo Firewall Coyim Splunk Hungry Bring Panther IFTTT openHAB Alexa Google Home Twitch Asana IBM Watson Discovery FL Studio Ableton Google Maps Gather Aseprite Instagram Agora Wowza Docuware ELO Office Apollo GraphQL Supabase Hasura Stepzen Postgraphile Lyket.dev Kahoot Clubdesk Fairgate Bandicam Revoltchat Element Imply Pinot MongoDB Oracle Peoplesoft CurseForge Google Tag Manager MS SQL AppWrite Nhost AWS Kendra QnA Maker Apigee Google Cloud IoT Core Microsoft OneNote Amazon API Gateway Qualtrics Sprig Hotjar Sibelius Finale Dorico Snyk Common Room Orbit Toggl Track Adobe Scan Microsoft Lens CamScanner Vercel Stack Overflow Traktor Pro 3 Markup CMS Documentation Atlassian Confluence Raindrop Akeneo Salsify Informatica SuiteCRM VtigerCRM Cruise Tesla autopilot Waymo Adobe Animate Pencil2D Men&Mice Solarwinds Infoblox Device42 AWS WAF
LibrePCB

LibrePCB

Open Source Alternative to MultiSim, Proteus
Language
C++
Stars
2590
Watchers
2590
Forks
306
Open Issues
185
Last Updated
5/8/2025

REAMDE.md

LibrePCB

Become a Patron Discourse Telegram Website Docs

Azure Build Status OpenSSF Best Practices

Packaging status

About LibrePCB

LibrePCB is a free EDA suite to develop printed circuit boards on Windows, Linux and MacOS. More information and screenshots are available at librepcb.org.

Installation & Usage

Official stable releases are provided at our download page.

Please read our user manual to see how you can install and use LibrePCB. The quickstart tutorial provides a step-by-step guide through the whole process of designing a PCB.

Contributing

Contributions are welcome! See librepcb.org/contribute and CONTRIBUTING.md for details.

For internal details take a look at the developers documentation.

Development

WARNING: The master branch always contains the latest UNSTABLE version of LibrePCB. Everything you do with this unstable version could break your workspace, libraries or projects, so you should not use it productively! For productive use, please install an official release as described in the user manual. For development, please read details here.

Requirements

To compile and run LibrePCB, you need the following software components:

  • C++ compiler: g++, MinGW or Clang (any version with C++20 support should work)
  • Rust toolchain (GNU, not MSVC)
  • Qt >= 6.2 (make sure the imageformats plugin is installed too as it will be needed at runtime!).
  • OpenCASCADE OCCT or OCE (optional, OCCT highly preferred)
  • OpenGL Utility Library GLU (optional)
  • zlib
  • OpenSSL
  • CMake 3.22 or newer

Prepared Docker Image

Instead of installing the dependencies manually on your system (see instructions below), you can also use one of our Docker images with all dependencies pre-installed (except GUI tools like QtCreator). These images are actually used for CI, but are also useful to build LibrePCB locally.

Installation on Debian/Ubuntu/Mint

Ubuntu >= 22.04
sudo apt-get install build-essential git cmake openssl zlib1g zlib1g-dev \
     qt6-base-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools \
     libqt6core5compat6-dev libqt6opengl6-dev libqt6svg6-dev \
     qt6-image-formats-plugins libglu1-mesa-dev libtbb-dev libxi-dev \
     occt-misc libocct-*-dev rustc cargo
sudo apt-get install qtcreator # optional
Ubuntu 20.04
sudo apt-get install build-essential git cmake openssl zlib1g zlib1g-dev \
     qt5-default qttools5-dev-tools qttools5-dev libqt5opengl5-dev \
     libqt5svg5-dev qt5-image-formats-plugins libglu1-mesa-dev \
     liboce-*-dev rustc cargo
sudo apt-get install qt5-doc qtcreator # optional

Installation on Arch Linux

sudo pacman -S base-devel git cmake openssl zlib desktop-file-utils \
     shared-mime-info qt6-base qt6-5compat qt6-svg qt6-tools \
     qt6-imageformats opencascade rust
sudo pacman -S qt6-doc qtcreator # optional

Note: Instead of installing the dependencies and building LibrePCB manually, you could install the package librepcb-git from the AUR. The package clones and builds the latest version of the master branch from GitHub.

Installation on Mac OS X

  1. Install Xcode through the app store and start it at least once (for the license)
  2. Install homebrew (the package manager)
  3. Install dependencies: brew update && brew install qt6 cmake opencascade rust
  4. Make the toolchain available: brew unlink qt && brew link --force qt6

Installation on Windows

Download and run the Qt for Windows installer from here. LibrePCB does not compile with MSVC, so you must install following components with the Qt installer:

  • MinGW 11.2.0 64-bit compiler
  • Qt binaries for MinGW 11.2.0 64-bit (use the latest 6.x version)
  • Qt 5 Compatibility Module for MinGW 11.2.0 64-bit
  • Qt Image Formats for MinGW 11.2.0 64-bit
  • CMake

In addition, install the Rust toolchain with Rustup. Use the toolchain x86_64-pc-windows-gnu as we don't support MSVC!

For the OpenCascade library the installation procedure is not that easy unfortunately. Basically you have to build it by yourself, see instructions here. However, to avoid this effort you could instead just set the CMake option USE_OPENCASCADE=0 (can be set in the QtCreator build config) to allow compiling LibrePCB without OpenCascade.

Cloning

It's important to clone the repository recursively to get all submodules too:

git clone --recursive https://github.com/LibrePCB/LibrePCB.git && cd LibrePCB

Updating

When updating the repository, make sure to also update all the submodules recursively. Otherwise you may get strange compilation errors:

git submodule update --init --recursive

Building

You can either build LibrePCB using Qt Creator, or you can build on the command line using cmake. To build LibrePCB using cmake/make:

mkdir build && cd build
cmake ..
make -j8

The binary can then be found in build/apps/librepcb/.

For more detailed instructions (including how to set up Qt Creator), see https://developers.librepcb.org/d5/d96/doc_building.html

Credits

  • First of all, many thanks to all of our contributors!
  • A big thank you goes to all our sponsors which help to keep this project alive!
  • Special thanks also to cloudscale.ch for sponsoring our API server!

License

LibrePCB is published under the GNU GPLv3 license.

Categories:
Community