Git Product home page Git Product logo

librepcb's Introduction

LibrePCB

Azure Build Status Become a Patron Donate with Bitcoin irc.freenode.net

About LibrePCB

LibrePCB is a free EDA software to develop printed circuit boards. It runs on Linux, Windows and Mac. The project is still in a rather early development stage. See Project Status for more information about the currently available features, limitations and known bugs.

Screenshot

Features

  • Cross-platform (Unix/Linux/BSD/Solaris, macOS, Windows)
  • Multilingual (both application and library elements)
  • All-In-One: project management + library/schematic/board editors
  • Intuitive, modern and easy-to-use graphical user interface
  • Very powerful library design with some innovative concepts
  • Human-readable file formats for both libraries and projects
  • Multi-PCB feature (different PCB variants of the same schematic)
  • Automatic netlist synchronisation between schematic and board

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 Getting Started guide gives you a quick introduction to LibrePCB.

Contributing

Contributions are welcome! See our Contributing Guide for details.

For internal details take a look at the automatically generated documentation (doxygen)

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.

Instead of building LibrePCB manually, Arch Linux users could install the package librepcb-git from the AUR. The package clones and builds the latest (unstable!) version of the master branch from GitHub.

Requirements

To compile LibrePCB, you need the following software components:

  • g++ >= 4.8, MinGW >= 4.8, or Clang >= 3.3 (C++11 support is required)
  • Qt >= 5.5
  • zlib
  • OpenSSL
  • CMake 3.5 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

sudo apt-get install git build-essential qt5-default qttools5-dev-tools qttools5-dev \
     libglu1-mesa-dev openssl zlib1g zlib1g-dev libqt5opengl5-dev libqt5svg5-dev cmake
sudo apt-get install qt5-doc qtcreator # optional

Installation on Arch Linux

sudo pacman -S git base-devel qt5-base qt5-svg qt5-tools desktop-file-utils shared-mime-info \
     openssl zlib cmake
sudo pacman -S qt5-doc qtcreator # optional

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 qt5 and cmake: brew update && brew install qt5 cmake
  4. Make the toolchain available: brew unlink qt && brew link --force qt5

Installation on Windows

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

  • The MinGW compiler itself
  • The Qt libraries for MinGW
  • cmake

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

License

LibrePCB is published under the GNU GPLv3 license.

librepcb's People

Contributors

0xb767b avatar 5n8ke avatar bjaminn avatar chrisgwerder avatar dbrgn avatar eduardosm avatar embedme avatar freddii avatar hephaisto avatar javsanpar avatar jeffwheeler avatar kliment avatar luz avatar luzpaz avatar masondb avatar melak avatar nifa18 avatar nzsmartie avatar omgitsaheadcrab avatar petross404 avatar picknick- avatar probonopd avatar rnestler avatar robbawebba avatar rzvncj avatar the-compiler avatar trdenton avatar tubbles avatar ubruhin avatar yurivict avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.