LibrePCB Blog

LibrePCB 0.1.0 RC2 Released

After two weeks of testing, we have a new release candidate ready with some bugfixes and usability improvements:

Changelog

Control Panel:

  • Hide non-existent recent and favorite projects
  • Hide debug tools in workspace settings dialog

Library Manager:

  • Don’t show 100% progress while extracting ZIP

Library Editor:

  • Fix saving of component symbol position/rotation (#356)

Schematic Editor:

  • Fix resizing of “Add Component” dialog caused by long device names

Board Editor:

  • Fix crash when trying to connect trace to pad without net
  • Fix too high default width of the dock widget at the right
  • Fix possibly hidden layers in footprint preview of the “Place Devices” dock
  • Show warning in the “Place Devices” dock if no matching device found in library
  • Set default board size to 100x80mm
  • Set default grid interval to 0.635mm

Miscellaneous:

  • Allow deselecting items while keeping other items selected (#361)
  • Add attribute units “current” and “power”

New languages:

  • Esperanto (8% translated)
  • Italian (20% translated)

Download

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

https://librepcb.org/download/

LibrePCB 0.1.0 RC1 Released

Great news: Our first official release candidate is out! :-)

If you didn’t try LibrePCB already, now is the time to start using (or at least testing) LibrePCB for your next projects – we would love to get your feedback!

Project Status

Please keep in mind that this is our very first release candidate, so you may encounter one or another bug or missing feature. Nevertheless, we think the application is in a very usable state now – you can download and create libraries, draw schematics, route multilayer PCBs and export Gerber files. Unfortunately features like DRC, BOM export or buses are not implemented yet, they will be provided in a future release.

If you encounter bugs, we would be happy if you report them to our issue tracker. As it’s only a release candidate, there is some time to fix the most critical issues until the first stable release.

File Format Stability

Until now, we always communicated that the file format is not considered stable. Any change in the file format could break older projects, so generally it was not recommended to use LibrePCB productively.

With this first release candidate we consider the file format to be stable, so any future release should be able to open libraries and projects created with this release candidate. Only if there is an extremely critical issue with the file format we may still do a breaking change before publishing the stable 0.1.0 release – but that’s very unlikely :)

ATTENTION: The file format is only considered stable for official releases – any intermediate version (e.g. from nightly builds) may not be upgradeable in the next release! So if you already used our nightly builds (or other binaries built from the master branch), you have to switch to official releases now. Nightly builds must really not be used for productive work. See developers information and release workflow documentation for details.

Libraries

Our official and ready-to-use libraries can easily be installed with the library manager integrated in LibrePCB. But as these libraries currently only contain very few elements, we would be very happy to get pull requests at the corresponding repositories to add much more elements!

Download

The release candidate can be downloaded for all major operating systems at our new download page:

https://librepcb.org/download/

Many thanks to all the contributors and sponsors making this release possible! It was hard work of more than five years to bring out this first release. We would really appreciate if you supported the development either with contributions or donations (e.g. at Patreon). Every dollar helps to keep this huge project alive ;-)

And now: Happy testing! :-)

Status Update 2018-09-15

The last blog post is already a few months ago, and many things happened in the meantime. Thus I would like to inform you about the current status of the project, what happened in past and what the next tasks are.

Our logo was originally downloaded from a free icon portal. Although it was legal (thanks to its permissive license), it’s not a good idea to use a free icon as a logo. Because we didn’t have the copyright on it, it was not guaranteed to be exclusively used by us (other projects could use the same icon too).

As the corresponding issue was unresolved for more than three years (it was our 6th issue!), we decided to start a design contest at 99designs to get a new logo. And here’s the winning design:

New Logo

Sure, it’s quite similar to the old logo, just nicer ;-) Probably that’s because I already liked the old logo, and maybe also a little bit because it was (too) hard for me to go with a completely different logo than the one we had for several years… Anyway, I hope you like the new logo as much as I do :)

Latest Changes

It would be too much to explain all the changes from the last months, thus here just a list of the most important pull requests merged:

The last one sounds innocent, but that’s actually the change which (finally) made the board editor really usable (it fixed many annoying bugs).

Next Steps

With all the changes from above, our milestone 0.1 is nearly complete. That means that we are now feature-complete for our first release!

So you can expect the first official stable release very soon :-)

The open tasks are now:

  1. Define a development and release workflow
  2. Prepare and test file format upgrade procedure
  3. Review the whole file format and make the last changes if needed
  4. Create and publish the first release!

So, stay tuned :)

LibrePCB Meets FontoBene

Finally! LibrePCB has a fully functional stroke font which can be used on PCBs. So now you can place designators or other text items on silkscreen (or other layers) which of course are then exported into the generated Gerber files. The new font file format FontoBene was developed especially for LibrePCB.

Board Texts

Why a stroke font instead of OTF/TTF?

It may sound strange to implement a primitive stroke font in 2018 when we actually have much more powerful TrueType and OpenType fonts since many years. But there are still reasons to stick with the good old stroke fonts.

One reason is that OpenType and TrueType fonts are very complex and thus require high effort to integrate them into LibrePCB. For example the Gerber export is not as trivial as you may expect because Gerber supports neither fonts nor Bézier curves. On the other side, fonts consisting only of a bunch of lines are extremely easy to export into Gerber files.

Beside their simplicity, stroke fonts even have a clear advantage compared to OTF/TTF. Since you can set the stroke width to a value greater than or equal to the minimum silkscreen line width specified by your PCB manufacturer, you can be sure that the text items are printed properly and thus are perfect readable.

Text Properties

Introducing FontoBene

Unfortunately we were not happy with the available stroke font formats because of several reasons. Hershey and NewStroke fonts have many edges because they only consist of straight line segments. LFF from LibreCAD and CXF from QCad look much smoother because they support circular arc segments, but unfortunately there aren’t any clear specifications available and the existing fonts have non-permissive, partly even unknown licenses.

So we started to create clear specifications for a new stroke font file format, called FontoBene. Because the project is completely independent from any software project (even from LibrePCB), our hope is that it will also be used by other projects some time.

FontoBene

Currently LibrePCB uses the NewStroke font which we converted to FontoBene, mainly because it is available under the CC0 Public Domain license. This means that we currently don’t yet take advantage of having support for circular arc segments. The goal is to improve the font step by step.

Self-Contained Projects

In contrast to other EDA tools, LibrePCB embeds the used font files into each project. When creating a new project, The font files from the applications installation directory are just copied into the projects directory.

The main advantage of this concept is that it makes projects more self-contained, i.e. projects are not affected at all if we modify or even replace the font files bundled with the application. So there is no risk to break existing projects by modifying the applications font files.

Another advantage is that users are free to modify the font files of specific projects. For example if our font is missing a glyph you would need, or if you’re unhappy with the look of some glyphs, you can just modify the font files in your project to fix it. Other EDA tools do not allow users to modify their (built-in) fonts.

LibrePCB Talk at FOSDEM 2018

The Free and Open Source Software Developers’ European Meeting (FOSDEM) is a great event for developers and users interested in free software. It is hosted at the ULB Solbosch Campus in Brussels, Belgium. This year it takes place on February 3 / 4.

FOSDEM

There are many different tracks available, but for us the most interesting one is the CAD and Open Hardware devroom. It contains talks about PCB design, FPGA design, SPICE simulation and open hardware in general.

And this year we have submitted the Introduction to LibrePCB talk to present our project! The talk takes place on Saturday, February 3, 16:00 in room K.4.201. For those who cannot attend, there are also live streams available :-)