LibrePCB Blog

LibrePCB Talk at FOSDEM 2022

January 28, 2022

After the introduction to LibrePCB talk at FOSDEM 18 and the status update talk at FOSDEM 20, I’m happy to give one more update about the current project status at FOSDEM 22!


The status update talk will take place on Saturday, February 5, at 12:00 CET. Due to obvious reasons, it’s an online event this year. After the talk we will have some time for a live Q&A session. The details, including the links to join the livestream or the chat, are available here.

I’m looking forward to meet you online at FOSDEM 22!

LibrePCB 0.1.6 Released

November 2, 2021

After a whole year of development, we are very happy to finally announce LibrePCB 0.1.6, which contains a lot of useful improvements!


LibrePCB Fab (#927)

One major goal of the LibrePCB project is to make creating PCBs easier and faster by removing unnecessary complexity of the PCB design workflow. However, orderding PCBs with Gerber/Excellon files is still a hurdle, especially for users not familiar yet with the traditional PCB production data workflow.

To remove this hurdle, we integrated a new service, called LibrePCB Fab, into the schematic- and board editors. It allows to order PCBs in a very simple, fast way – without worrying about Gerber or Excellon files at all!

Order PCB

Although this service is intended mainly for beginners, it is actually even useful for experienced users since it saves quite some time when ordering PCBs, at least if you don’t need the higher flexibility of the traditional Gerber/Excellon export.


DXF Import (#917)

This release finally adds an import for DXF files, the industry standard for 2D mechanical drawings. Instead of drawing polygons like package dimensions or board outlines manually, you can now simply import them from a DXF file right into the package- symbol- or board editor. Circles can optionally be converted to holes, which is useful to import mounting holes together with the board outlines.

For example, creating an Arduino Shield is now much easier once you got its outline as a DXF:

DXF Import


Migration to CMake (#798)

Although this change is not directly relevant for LibrePCB users, it is still noteworthy because of its impact for LibrePCB developers and package maintainers.

Until LibrePCB 0.1.5, we used qmake as build system since it is the official build system of Qt 5. But unfortunately, we had several issues with it, especially regarding the integration and optional unbundling of third party libraries.

Since CMake is the de facto standard for C++ projects, we have now migrated LibrePCB to CMake as well. This allowed us to highly improve the way how third party libraries can now be unbundled, which is very useful for package maintainers. Note that even Qt 6 switched to CMake, one more good reason for this step ;-)

Special thanks to @dbrgn for the huge effort spent for this migration!


Library Editor:

  • Allow copying elements to other library (#911)
  • Provide “Snap To Grid” context menu item (#867)
  • Stop rejecting overlapping package pads, just warn about them (#876)
  • Remove checkbox text “required/optional” in component signals editor (#875)
  • Make GUI of remote libraries completely read-only (#918)
  • Ignore delete command if no items selected (#899)

Schematic Editor:

  • Snap wires to pins/junctions off the grid (#877)

Board Editor:

  • Improve “Place Devices” dock and add new features to it (#892)
  • Hide tabs if there are less than two boards (#898)
  • Do not reject placing vias on top of other items (#878)
  • Fix staying in the device placement tool (#794)
  • Fix crash after adding a device to a board failed (#855)
  • Fix some strange trace layer change behavior (#926)


  • Hide empty categories in ERC dock (#897)
  • Support partial DRC checks & quick re-run from dock widget (#907)
  • Fix loading maximum stopmask drill diameter from DRC rules (#786)


  • Add DXF import to package-, symbol- and board editors (#917)
  • Improve Gerber files compatibility with manufacturers (#881)
  • In BOM export, show whether devices are in sync with schematic (#888)
  • Do not include output/ directory in *.lppz export (#929)


  • Log fatal error messages to stderr (#816)


  • Add dialog to start ordering a PCB (#927)
  • Allow overriding workspace path by environment variable (#817)
  • Allow opening locked workspace/project/library in some cases (#871)
  • Ask for new workspace path if workspace failed to open (#906)
  • Only autosave project if there were changes (#912)
  • Improve error messages when project library update fails (#824)
  • Don’t provide “Hidden Grab Areas” layer when not reasonable (#831)
  • Set library-/board editor tab bars on MacOS to document mode (#930)
  • Fix missing holes in footprint previews (#796)
  • Fix wrong schematic editor colors when OpenGL is enabled (#921)


  • Add support for OpenBSD (#804)
  • Drop support for Qt < 5.5 (#885)
  • Allow overriding default workspace path by environment variable (#905)
  • Display TLS library version in about dialog (#923)
  • Update official binary releases to Qt 5.15.2 and OpenSSL 1.1.1 (#925)


  • Migrate from qmake to CMake (#798)
  • Use built-in markdown support when using Qt >=5.14 (#779)
  • Replace sexpresso library with own implementation (#802)


The release can be downloaded for all major operating systems from our download page:

Thanks to all contributors for making this awesome release possible!

LibrePCB 0.1.5 Released

October 4, 2020

We are happy to announce LibrePCB 0.1.5 with several long awaited new features in the library-, schematic- and board editors!


Copy&Paste in Schematic- and Board Editors

Finally the clipboard functionality cut, copy and paste are available in the schematic- and board editors (#724, #754)! Just use the keyboard shortcuts Ctrl+X to cut, Ctrl+C to copy and Ctrl+V to paste schematic- or board items. In the board editor, it’s even possible to paste polygons copied from a footprint in the library editor.

Usability Improvements In All Editors

This release contains a lot of usability improvements, which makes creating library elements, schematics and boards much easier. Especially drawing traces and placing vias was one of the weaknesses of LibrePCB – until now! The tools to draw traces and place vias have been heavily improved, for example:

  • Traces snap to pads and vias even if they are off the grid
  • The layer can be switched while drawing a trace, vias are inserted automatically
  • Vias automatically take the closest net while placing
  • Inserted vias are automatically connected to the traces underneath
  • Trace and via properties can be changed with keyboard shortcuts while drawing a trace

Draw Trace

Another inconvenience was that the outline of planes and polygons could only be modified by specifying the exact vertex coordinates. Now this is much easier since vertices can be moved, inserted and removed graphically right in the editors.


Library Manager:

  • Fix error when downloading a library after an aborted download (#775)

Library Editor:

  • Implement “Select All” (Ctrl+A) (#723)
  • Support cycling selection through items under cursor by pressing Shift (#757)
  • Support rotate/mirror/flip while moving items (#769)
  • Support modifying polygons graphically (#773)
  • Copy all categories when duplicating a library element (#765)
  • Fix “Could not move X to Y” error when moving library element (#715)
  • Fix crash when going back in “New Component” wizard (#719)

Schematic Editor:

  • Implement clipboard cut/copy/paste (#724)
  • Implement “Select All” (Ctrl+A) (#723)
  • Support cycling selection through items under cursor by pressing Shift (#757)
  • Support cycling through results of the search toolbar (#756)
  • Make component toolbar norm-aware by using preferred symbol variant (#768)
  • Fix leaving tool with when pressing right mouse click while moving (#761)

Board Editor:

  • Implement clipboard cut/copy/paste (#754)
  • Implement “Select All” (Ctrl+A) (#723)
  • Heavily improve the “Draw Trace” tool (#733, #751, #753, #749)
  • Heavily improve the “Add Via” tool (#736)
  • Support cycling selection through items under cursor by pressing Shift (#748)
  • Support cycling through results of the search toolbar (#756)
  • Support modifying polygons graphically (#773)
  • Support modifying plane outlines graphically (#774)
  • Don’t remove complete trace when changing a device (#746)
  • Fix possibly outdated displayed texts of devices (#770)
  • Fix possibly outdated displayed net names (#771)


  • Disregard schematic-only components in net pin count (#745)


  • Add support for Solaris based systems (#713)
  • Allow unbundling of some vendored libraries (#698, #742)
  • Fix too restrictive format version check of FontoBene files (fontobene-qt5#673)
  • Various internal code refactorings & improvements (#720, #760, #767, …)


The release can be downloaded for all major operating systems from our download page:

Thanks to all contributors for making this awesome release possible!

LibrePCB 0.1.4 Released

May 3, 2020

This minor release is one more important step to make LibrePCB more powerful and to improve usability of the user interface.


Usability Improvements

The user interface got many usability improvements to make creating libraries and projects more efficient. For example the schematic- and board editors now allow searching for symbols resp. devices (#671):

Search Symbol

Furthermore, all input fields for length values (line width, drill diameter, coordinate etc.) are now displayed in the unit configured in the workspace settings (#684). The unit of each input field can even be changed individually and gets saved and restored automatically. And you can now enter mathematical expressions and optionally append a unit (e.g. “mm”) which will then be evaluated:

Search Symbol

Pick&Place and SVG Export

This release adds a pick&place CSV file export (#639) so LibrePCB is now also suitable to design PCBs which will be assembled by pick&place machines:

Pick&Place Export

In addition, an SVG export has been implemented for both, schematics and boards (#656). This allows to postprocess them in a vector graphics tool for various purposes.

À propos file export: The BOM CSV export is now comma-separated instead of semicolon-separated (#678). This improves compatibility with CSV readers.

Compatibility Note

LibrePCB 0.1.4 uses exactly the same file format for projects as all previous 0.1.x releases and are thus fully compatible.

However, previous versions had a bug which allowed to have linebreaks in net names (#603). This has been fixed in 0.1.4, and since we expect (or hope…) no projects to be affected by this bug, no automatic upgrade mechanism has been implemented. If you still run into the issue that a project cannot be opened with LibrePCB 0.1.4, the affected net names need to be fixed manually. Please don’t hesitate to contact us to get help with the migration.


Library Editor:

  • Add “filter” toolbar to filter element lists (#673)
  • Support moving elements to other library (#638)
  • Show warning in device editor if no pads are connected (#680)

Schematic Editor:

  • Add SVG export for sheets (#656)
  • Add “search” toolbar to find symbols in sheets (#671)
  • Add possibility to rename sheets (#640)
  • Fix possibly wrapping of items in schematic pages dock (#685)

Board Editor:

  • Add pick&place file export (#639)
  • Add SVG export for boards (#656)
  • Add “search” toolbar to find devices in boards (#671)
  • Sort items in “Change Device” context menu (#677)
  • Fix duplicate vertices when drawing polygons (#672)
  • Fix possibly disappearing airwires in some situations (#687)

BOM Export:

  • Use comma instead of semicolon as separator (#678)


  • Deny newlines in net names and other identifiers (#637)
  • Speed up UUID validation and thus the library scan (#651)
  • Respect configured workspace length unit in editors (#684)
  • Respect configured grid unit in statusbar of editors (#689)
  • Improve keyboard navigation in dialogs (#690)
  • Use wizard to create and switch workspace from ControlPanel (#688)
  • Split workspace chooser and workspace initialization wizard (#652)
  • Fix falling back to system language for untranslated strings (#645)
  • Various internal code improvements and refactoring
  • Many translation improvements and fixes


  • Change default installation directory on macOS to /Applications (#644)

New languages:


The release can be downloaded for all major operating systems from our download page:

LibrePCB Talk at FOSDEM 2020

January 3, 2020

It’s two years ago since I gave the introduction to LibrePCB talk at FOSDEM 18. This was a milestone in the history of LibrePCB since it was the first time LibrePCB was actively presented to a large audience.


Since that talk, there was a huge progress regarding LibrePCB. Therefore I decided to submit a status update talk at FOSDEM 2020. The talk takes place on Saturday, February 1, 10:55 in room H.2213 at the ULB Solbosch Campus in Brussels, Belgium. As always, there are also live streams available.

See you in Brussels! :-)

LibrePCB 0.1.3 Released

November 30, 2019

LibrePCB 0.1.2 Released

July 14, 2019

LibrePCB 0.1.1 Released

April 21, 2019

LibrePCB 0.1.0 Released

November 25, 2018

LibrePCB 0.1.0 RC2 Released

November 4, 2018

LibrePCB 0.1.0 RC1 Released

October 21, 2018

Status Update 2018-09-15

September 15, 2018

LibrePCB Meets FontoBene

April 21, 2018

LibrePCB Has a Blog! :-)

September 13, 2017

RSS Feed