Frequently Asked Questions



Why should I use LibrePCB instead of XYZ?

Why another EDA tool? Why not contributing to tool XYZ?

Each of the existing open-source EDA tools has a different target audience, a different focus, and different opinions about how things should be done. It makes no sense for LibrePCB developers to work on another tool (e.g. KiCad) just to be able to implement the small subset of our ideas they agree on. It’s almost impossible (and senseless) to fundamentally change the mindset of other EDA tool developers.

In the end, it’s good for users to have multiple different EDA tools to choose from. Of course we don’t develop multiple identical tools.

Why introducing a new, non-standardized file format?

From time to time, people ask why every EDA package invented its own file format instead of developing a standardized, open file format to allow data exchange between different EDA packages.

Although this sounds like a great idea, in practice it makes no sense, unfortunately. The data structure of a PCB project obviously has to reflect the feature set and concepts of the tool itself; for example, if the tool uses UUIDs for referencing objects, the file format has to reflect this. If we introduced a file format to be used by multiple EDA packages, it would mean that the general concepts of these packages must be identical as well (otherwise they wouldn’t be compatible with the file format). But it makes no sense to develop multiple identical EDA packages. The same applies to LibrePCB: we want to provide you with an EDA tool that is different (from our point of view: better) than other tools, and that’s only possible with a different file format.

The version number is very low, is it already usable?

Yes it is! It is working very well and can be used productively to create PCBs. However, just don’t expect advanced features yet (e.g. hierarchical sheets). Features like that will be implemented in future releases.

Check out #madewithlibrepcb to see pictures of some PCBs made with LibrePCB.

I can’t find XYZ in the libraries, where is it?

Providing high-quality libraries requires a huge amount of time until they are somewhat "complete" (that’s impossible anyway). So it can happen that you don’t find a particular part in the schematic editor, or the board editor shows the message "No device or package for the selected component found in the library!".

That’s not a problem of the software. It only means the part is not provided by the installed libraries. So first make sure you have installed all libraries which might contain the desired part (if unsure, just install all of them). If it is still not available, it probably doesn’t exist yet in any library.

But there’s good news: With LibrePCB it’s very easy to create your own library elements! Just create a local library and add the elements you need.

In addition, you could ask in our forum if other users already created the library elements you need.

I get the error "No device or package found […​]"!

See I can’t find XYZ in the libraries, where is it?. In this particular case, your libraries do contain a particular component, but no corresponding device (or package). Create a local library and add a corresponding device for your component.

Can I order the PCB only through LibrePCB Fab?

No! Of course you can always export traditional production data (i.e. Gerber files) and order wherever you want. Although LibrePCB Fab makes life easier, we understand that you might not be happy with the provided manufacturers or you like to have more control over the ordering process (e.g. reviewing Gerber files).

In our opinion, LibrePCB Fab is a win-win-win situation because users profit from a simple and quick order process, the LibrePCB project profits from an additional income to fund the development, and manufacturers profit from gaining more customers and publicity. Thus it is a perfect way to support the LibrePCB project.

If you still don’t like it for some reason, just don’t use it — we’re totally fine with that and we’re committed to keep the traditional production data export intact since we strongly belive in freedom. Choosing a PCB manufacturer must always be up to you.

Who operates LibrePCB? Is there a company behind it?

LibrePCB is an open-source project founded and coordinated by @ubruhin. Although he’s the main developer, the project receives lots of contributions from the community — for example translations, documentation and code contributions. There is no company involved in operating the project (see also How is LibrePCB related to its sponsors?), and the project is not following any commercial interests.

LibrePCB has several commercial sponsors which support the project in different ways. Some are donating money, some are providing a particular service we need to operate the project (e.g. webhosting). In return, we list them on our website as a simple and honest form of publicity. We think this is a very fair deal since LibrePCB users profit from getting a continuously developed EDA suite free of charge(!) without any downsides at all (no advertisement in the application etc.).

Note that decision-making is not impacted by sponsors. We only decide about features from the user’s point of view, not by commercial interests of sponsors. Also we take privacy very serious — even LibrePCB Fab does not forward any data to our manufacturing partners unless you explicitly choose to forward the project to them.

What is the donated money used for?

Short answer: For full-time development and many other things.

Long answer: To operate the LibrePCB project, various things directly cost money. For example:

Virtual server

We need a virtual server for hosting the website, library manager API, fabrication service, various automation tools etc. Actually our current server setup would cost us at least 500 USD every year, but thanks to our sponsor luckily we get it for free so the donated money is not used for that.

Domains & mailserver

It’s not much money, but we have to pay our Internet domain names. Also the mailserver is rented because hosting it by ourselves on the virtual server is everything else than trivial.

Hardware

From time to time, some hardware might be needed. For example to test LibrePCB on macOS, we bought a Mac Mini on the second-hand market.

Conferences

When presenting LibrePCB at conferences (e.g. FOSDEM), we need to buy flight tickets, hotels etc. to attend.

However, operating a large and complex project like LibrePCB mainly takes a lot of time. At first glance you might only see the effort spent for development of the application. But in total, there are many different tasks which need to be done:

Application development

The most obvious and most time consuming part is to actually develop the application (new features, bugfixes etc.).

Website & webservice development

Developing & maintaining the website, the API webservice, the fabrication service, documentation builder, translations synchronizing script, …​

Server administration

The virtual server is entirely set up and maintained by ourselves so we regularly need to keep it up to date, fix problems, monitor it etc.

Support

Reproducing bug reports, answering user questions, picking up feature requests, responding to emails from people not reading the "there’s no free email support" statement, …​

Documentation

Writing good documentation including expressive screenshots and creating helpful video tutorials is not only quite difficult but also very very time consuming.

Sponsorings coordination

Both financial and in-kind sponsorings are a manual task, often requiring lots of communication between the involved parties (many emails, sometimes videocalls).

This list is by far not complete, but hopefully you now have a rough idea about the involved effort to operate the LibrePCB project and understand that all this cannot be done anymore by a volunteer in free time. Therefore the project founder and main developer @ubruhin started to work full time on LibrePCB and thus heavily relies on donations and sponsorings to pay the rent, food etc. Any donated money thus goes to him and he’ll spend it for the mentioned usage.