Properties of a symbol might show wrong attributes

When double-clicking of a schematic symbol the properties of that item are shown.
The dialog title says “Properties of U1-A” and beneath are a 5 UI fields with the following titles:
“Component”, “Symbol”, “Assembly Options…”, “Attributes of Component” and “Library elements”.

What confuses me is that there is a “Attributes of Component” but not a “Attributes of Device”, which IMHO would be more important.

And this is why: in the library I’m creating, a component has no Attributes (yet…) but the Device has Attributes: “DATASHEET_LOCAL” = “./…/datasheets/lm358p”, and “DATASHEET_ONLINE” = “”.

Why not show the “Attributes of Device”?
What am I missing?

BTW Question: is LibrePCB able to access both datasheet locations?
(open Preview with the local datasheet PDF and calling Safari and go to the online datasheet)
It can open the Finder and show me the local library elements, so it should be able to (at least) open the local datasheet.


What you add to the schematic is a component, not a device. Even when you select a device in the “Add Component” dialog, it is not really relevant for the schematic (only for the board).

Also note that attributes can be defined for parts as well. If you select a part in the “Assembly Options” list, the attribute list below changes from “Attributes of Component” to “Attributes of Selected Part”. This is also the place where your attributes from the library device are added, so your DATASHEET_LOCAL should appear here.

I know it might be a bit confusing but this concept makes the MPN management so powerful.

Regarding datasheets, actually LibrePCB 1.0.0 already contains a mechanism intended specifically for datasheets (or other documents), instead of “abusing” attributes to store URLs. However, this new mechanism is not implemented in the GUI yet – once done, it will be possible to open datasheets in the web browser (maybe not from local files yet, but this should be easy to implement too).

Sorry, but I’m not following your logic…


My Component name is (as example) “OpAmp Dual” or “Transistor NPN”.
A component doesn’t need to know in which device it will be used, therefore it does not need to retain information of a device (like the datasheet of the LM358P)

The device builds on top of a component and need all the info it can get which includes the datasheet.

I was not confused until your reply… ha, ha, ha
Maybe I totally misunderstood the logic of LibrePCB’s library structure, which would be a bummer, because my brain is wired a certain way, a result from using professional EDA software (in a corporate setting) since the late 80’.

I like to have access to a datasheet even when the internet is down.
Therefore, IMHO a local (and accessible) copy of the datasheet is paramount.


Hm maybe this explanation about components/devices/parts helps?

And also how assembly data works:

Or this documentation:

Regarding local datasheets I agree, the problem is just that I cannot implement all the hundreds of missing features at the same time :wink: So you need to be patient…

No problem.