In deze workshop lees en leer je hoe je zelf printplaten kunt ontwerpen met LibrePCB
Erik Krom
Wie wel eens met elektronica speelt en z'n eigen schakelingen bouwt, zal ongetwijfeld gebruikmaken van breadboards. Als de schakeling naar tevredenheid werkt, kun je deze op een standaard printplaat solderen. Deze printplaten hebben een raster van gaten en aan de onderkant koper. Het koper heb je zelf in het juiste patroon aan elkaar te solderen.
Breadboard bordje met rijen |
Een stap verder is dan weer een zelf ontworpen printplaat. Sommigen zullen (vroeger) er wel eens eentje hebben gemaakt. Tegenwoordig zijn diverse fabrikanten (zoals Aisler en PCBway) die professionele printplaten kunnen leveren, voor een interessante prijs. Het ontwerp heb je zelf te maken op de computer. Hiervoor zijn er diverse programma’s beschikbaar en één daarvan is LibrePCB.
Voor Linux, Windows en macOS
LibrePCB is gratis, open source en beschikbaar voor zowel Windows, Linux en macOS.
Voor Linux is LibrePCB vaak beschikbaar via de software store van de betreffende distributie. In bijvoorbeeld Linux Mint is dat Programmabeheer. Voor Windows en macOS kan LibrePCB worden gedownload van de website https://librepcb.org/
Eerste start
Bij het voor het eerst opstarten wordt gevraagd naar een workspace (werkmap). Dit is de plek waar standaard al je data en instellingen voor LibrePCB zullen worden opgeslagen. Bij eerste gebruik heeft LibrePCB deze plek natuurlijk nieuw aan te maken. Mocht je echter ooit LibrePCB opnieuw (moeten) installeren, dan kun je naar de bestaande locatie verwijzen en heb je voor LibrePCB al je data en instellingen weer terug. Wanneer een nieuwe workspace wordt gemaakt, zal er vervolgens worden gevraagd naar de gewenste taal, norm, lengte-eenheid en gebruikersnaam. Het meeste spreekt voor zich.
Zelf heb ik bij taal de voorkeur deze op Systeem Language te laten staan. Mijn computer staat ingesteld op Nederland, echter is Nederlands helaas niet beschikbaar voor LibrePCB: LibrePCB valt daarom terug op Engels. In ‘normeringen’ heb ik mij niet verdiept en deze laat ik daarom op None staan. De lengte-eenheid heb ik op millimeters staan. Wat je invult bij User name wordt standaard gebruik als gebruikersnaam voor o.a. projecten en zelf getekende componenten.
Het lege hoofdscherm |
Library manager
Nu krijgen we het hoofdvenster van LibrePCB. Een nieuw project starten om onze eerste schakeling te bouwen, heeft nog geen zin. Bovenaan staat overigens een foutmelding dat er geen libraries zijn ingesteld. Libraries zijn pakketten die verzamelingen van componenten en footprints bevatten en deze hebben we dus toe te voegen.
Ga naar de Library Manager en een nieuw venster wordt geopend:
De menubalk uitvergroot |
Hieronder links staat Add a new library al geselecteerd, rechts onder de tab Download from repository staat een hele lijst van libraries. Je kunt selectief zijn met welke je installeert of net als ik beneden het vinkje voor Select all aanzetten om alles binnen te halen.
Met de knop Download and install/update selected libraries worden alle geselecteerde libraries binnengehaald. Als dit klaar is, kan het venster van de Libary Manager weer worden gesloten.
Elektrisch schema
Nu de libraries zijn geïnstalleerd, kunnen we beginnen met onze eerste schakeling.
Klik op New Project. Er komt een venstertje waarin je het project een naam moet geven. De overige velden Author:, License: en Location: zijn al ingevuld met wat er is aangegeven bij het aanmaken van de workspace. Indien gewenst kun je dit aanpassen. Na te klikken op Next> kun je instellen of een elektrisch schema en of er een printplaat moet worden ontworpen. Beiden staan standaard aangevinkt en dat laten we zo. De namen van het schema en printplaat kun je wijzigen als je wilt. In een project kun je meerdere schema's en/of printplaten maken. Dan kan het handig zijn deze een eigen naam te geven, maar we beperken ons hier tot slechts een enkel schema en print. Klik op Finish.
Venster voor het maken van het elektrisch schema |
Het maken van het schema en ontwerpen van een print gebeurt in twee aparte vensters. Bij het aanmaken en openen van een project worden beide vensters geopend. Gewoonlijk opent het venster voor het maken van een elektrisch schema vooraan. We houden ons bij dit venster, omdat we eerst een elektrisch schema hebben te maken voor we kunnen beginnen met het ontwerpen van een printplaat.
Toevoegen componenten
Bij het maken van een elektrisch schema staat er bovenaan een melding dat er nog geen enkele component is geplaatst. Dit kan natuurlijk wel kloppen, want beginnen net. In de linkerwerkbalk staat van boven naar beneden: Selectie pijl, draden tekenen, draad labels, insert component en liniaal. We beginnen met het toevoegen van een component dat op twee manieren kan. Zo kun je klikken op Add Component in de melding bovenaan, maar dit kan wel alleen voor het eerste component. Je kunt ook klikken op invoegen component via het icoon van een chip met een + in de linker werkbalk. Er opent een venster waar kan worden geselecteerd welk onderdeel je wilt toevoegen.
Invoegen van een component |
Links staan de categorieën voor verschillende soorten componenten en in het midden staan de component-symbolen. Deze kun je weer uitklappen voor een specifieke footprint. Rechts staat er een voorbeeld van het symbool en eronder een voorbeeld van de footprint.
LED
Veel mensen zijn wel bekend met de ronde Ø5mm LED die in ongeveer in elke experimenteerpakket voorkomt. Als voorbeeld gaan we daarom een schakeling maken met een LED. De LED gaan we als eerste toevoegen. Deze staat in de categorie Optoelectronics > LED. Mocht je een component zoeken waarvan je niet kunt vinden in welke categorie een component staat, dan kun je ook het zoekveld links bovenaan gebruiken. Als je hier ‘led’ invoert, komen in het midden alle componenten te staan die iets met leds te maken hebben. In het midden is de 'LED' als component beschikbaar en als we deze uitklappen, zien we twee onderdelen met footprints voor een Ø5mm led. Ik heb nog niet kunnen achterhalen wat het verschil is tussen deze twee, dus we kiezen gewoon een. Met de knop OK gaan we terug naar de maken van het schema met ons component in de hand:
Nu kunnen we deze plaatsen in het schema. Met [r] of rechtermuisknop kun je het draaien en met [m] spiegelen. Sleep de component naar de plek waar je de component wilt hebben en klik met de muis. Door meerdere keren te klikken, plaats je dezelfde component meerdere keren, maar dat is dan natuurlijk wel handig om op verschillende plekken te doen. Met [Esc] stop je het plaatsen van de huidige component en opent vanzelf het venster voor het kiezen van een (andere) component.
Soldeerconnector
Een LED hoort over het algemeen in serie te staan met een weerstand (resistor). Dit is dus het volgende wat we toevoegen en ergens plaatsen. Let er op dat de aansluitingen elkaar niet raken. De componenten gaan we later aan elkaar verbinden door de draden te tekenen. Om de voeding te kunnen aansluiten, plaatsen we als laatste nog een 2 pins connector. In de hoofdcategorie Connectors staat een hele rij soldeerconnectors die gewoon gaten zijn om je draad direct in te solderen. Van 1 gat op rij tot wel 40 gaten. Kies hier de Soldered Wire Connector 1x02 met bijpassende footprint. Deze heeft de twee aansluitingen die nodig is voor de + en - voor de LED.
Verbinden
Nu we alle componenten in het schema hebben, is het tijd deze met elkaar te verbinden. In de werkbalk links is er een symbool dat er uitziet als een diagonale lijn, net onder het symbool van het selectiepijltje. Deze is om draden te tekenen tussen de componenten. Verbind dus een aansluiting van de connector naar de LED, LED naar de weerstand en van de weerstand naar de andere aansluiting van de connector. In de werkbalk bovenin het schema zijn tijdens het tekenen van de draden verschillende opties te selecteren, in hoe dit reageert als je een schuine draad probeert te trekken. Het is gebruikelijk om zoveel mogelijk horizontale en verticale lijnen te gebruiken, want dit houdt het schema overzichtelijk. Welke mode (modus) je wilt gebruiken, kun je selecteren in de werkbalk boven het schema. Dat is echter veel schuiven met de muis. Je kunt tijdens het trekken van een draad ook wisselen door op de rechtermuisknop te klikken: elke klik gaat naar de volgende modus in het rijtje.
Naam en waarde
Elk component heeft een naam en een waarde (Value). Een naam wordt over algemeen automatisch gegenereerd. Een waarde is niet noodzakelijk, maar kan wel handig zijn. Deze wordt gewoonlijk ook op de printplaat weergeven. Als je al weet welke weerstandswaarde je gaat gebruiken, is het natuurlijk handig dit al aan te geven. Rechtsklik op de weerstand en kies Properties… of dubbelklik op de weerstand. Een venster met de eigenschappen van de weerstand wordt geopend:
De weerstandswaarde zouden we kunnen invullen in het veld bij Value:, maar dan zal het ohm-symbool ontbreken. Er staat al een variabele {{RESISTANCE}} en deze staat ook eronder bij Attributes:. Hier is het ohm-teken wel beschikbaar en zelfs al geselecteerd. Vul in de kolom Value de gewenste weerstandswaarde. Bij de LED kan des gewenst op de zelfde manier een kleur worden gedefinieerd.
Ons schema is bijna klaar. Het belangrijkste component mist nog: het LibrePCB-logo. Hoe meer het programma bekend wordt, hoe meer het wordt gebruikt, hoe meer ondersteuning. De tekst kun je in de eigenschappen aanpassen om eventueel je eigen naam erbij te zetten. Zie de afbeelding links voor een eindresultaat.
Printplaat
Het elektrisch schema is hiermee klaar, op naar het bouwen van de printplaat. Klik in de bovenste werkbalk naast het huisje op het groene printplaatje. In het grote zwarte veld komt de PCB lay-out.
Start printplaat ontwerpen |
Als het goed is, is er een wit kader zichtbaar en staat de linker onderhoek in een witte +. Deze + is het nul-punt. Het is handig om hier in de buurt te beginnen met het opbouwen van de printplaat. Mocht dit niet zichtbaar zijn, dan kan het helpen een stukje uit te zoomen.
Rechts staat bovenaan een lijst met de componenten die we in het elektrisch schema hebben staan. Als we er een selecteren, komt eronder de Device: en de Footprint: te staan die standaard is geselecteerd. Daaronder staat een voorbeeld van de geselecteerde footprint. De device is het onderdeel wat je straks op de printplaat wilt gaan plaatsen. De footprints zijn de aansluitingen in de printplaat die daar bij passen. Laten we weer bij de LED beginnen om deze als eerste te plaatsen. Bij het maken van het elektrisch schema hadden we al de LED ø5.0mmx8.7... geselecteerd. Deze staat nu dus ook bij Device:. Bij de Footprints: kun je zien dat er verschillende footprints beschikbaar zijn, bijv. met grotere soldeerpads of dat je de LED op z'n kant zet. De standaard Vertical-footprint voldoet voor nu. Door op Add te klikken of te dubbelklikken op de component in de lijst, voegen we deze toe aan de printplaat. Het plaatsen gaat hetzelfde als bij het plaatsen van de componenten eerder.
Dit doen we ook voor andere onderdelen. Bij de connector zul je zien dat je geen Device of footprint kunt selecteren, omdat er maar één beschikbaar is. Bij de weerstand is het even oppassen. Afhankelijk hoe deze precies was ingebracht, kan het zijn dat als device een SMD-weerstand staat geselecteerd. Dit moet op R-THT-0207 worden gezet. De footprint hiervoor staat standaard op Horizontal 7.62mm. Persoonlijk vind ik dat wat krap. Als ik een weerstandje opmeet die ik hier heb liggen, kom ik eerder bij 8 mm uit. Hierom kies ik zelf liever voor de zekerheid Horizontal 10.16mm als footprint.
Kopersporen trekken
Bij het plaatsen van de onderdelen op de printplaat zal het wel al zijn opgevallen dat deze met gele lijntjes met elkaar worden verbonden. Dit zijn de verbindingen tussen de onderdelen zoals bepaald in het elektrisch schema en hebben we dus aan te leggen. Er is (nog) geen tool die automatisch een lay-out van de koperstroken maakt, dit moeten we dus nog zelf met de hand doen:
Kopersporen trekken |
Het gaat bijna op dezelfde manier als dat we de draden trokken in de elektrisch schema. Een verschil is dat er in de werkbalk boven wat meer opties staan om in te stellen, zoals de breedte van de koperstrook. De standaard 0,5 mm is over het algemeen breed genoeg. Maar als dat wat krap wordt omdat je bijv. ergens veel stroom heb door te voeren, heb je deze waarde te wijzigen voordat je de koperstrook plaatst. De breedte is ook naderhand aan te passen door er rechts op te klikken en dan Set Line Width ...
Hoewel alle aansluitingen klaar zijn, is nog te vroeg de prints te bestellen. Als we dat nu zouden doen, hebben we een erg groot leeg gebied. Dat grote witte kader is namelijk de buitenste rand van de printplaat. Dit frame kun je kleiner maken door het te selecteren en dan aan de hoeken naar de gewenste positie te slepen.
Mocht je de printplaat ergens willen kunnen vastschroeven, dan zijn schroefgaten makkelijk toe te voegen. In de linkerwerkbalk staat er een donkergrijs rondje met een witte plus erin: Add non-plated holes. Hiermee kunnen ronde gaten worden aangegeven. Standaard staat de diameter van het gat op ø 1,0 mm. Dit is natuurlijk erg klein, zelf gebruik ik graag schroeven van ø 3,0 mm. Om dat netjes passend te hebben, maak ik de gaten ø 3,2mm en plaats er één in elke hoek van de printplaat. Deze afbeelding toont een eindresultaat:
Fouten in het ontwerp
Tijdens het ontwerpen is er altijd een kans dat je iets vergeet of een foutje maakt. LibrePCB heeft de tool Design Rule Check (DRC) die automatisch kan controleren of er geen fouten in het ontwerp zitten. Bijvoorbeeld of twee kopersporen te dicht bij elkaar zitten. Klik in de linker werkbalk op het onderste icoon dat er uit ziet als een controlelijst op een klembord. Er is een lijst van verschillende punten waarop wordt gecontroleerd.
![]() |
DRC met foutmeldingen |
Bij elk punt staat ook de waarde waaraan het moet voldoen. Verschillende fabrikanten van printplaten kunnen verschillende eisen hebben. De standaardwaardes in LibrePCB zijn over het algemeen prima. Met de knop Run DRC wordt de controle gestart en komt er een lijst van alle fouten die het is tegen gekomen. Als de lijst leeg blijft, zijn er dus geen fouten gevonden. Bij het sluiten van het DRC-venster komen we terug in het venster voor het ontwerpen van de printplaat. Als er foutmeldingen werden weergegeven in de DRC, dan staan deze nu rechts waar we eerst de componenten en footprints selecteerden om toe te voegen. Je kunt nu ook dubbelklikken op een melding en dan wordt er vanzelf ingezoomd en gemarkeerd waar het probleem zit. Als de problemen zijn aangepakt, kun je de DRC weer uitvoeren om te controleren of de aanpassing hebben geholpen.
Exporteren
Nu de print klaar is, kunnen de bestanden voor fabrikanten worden gemaakt. Sommige fabrikanten zoals Aisler en PCBway kunnen direct werken met de bestanden van LibrePCB. Zij maken dan de gerber-bestanden voor je. Het makkelijkst is dan een project te exporteren als een .lppz-bestand. Ga in de menubalk naar File, Export, Export *.lzzp Archive...". Er wordt gevraagd waar je het bestand wilt opslaan. Standaard staat weer de werkmap van het project geselecteerd.
Voor fabrikanten waar je de .lppz-bestand niet kunt gebruiken, heb je de gerber bestanden zelf te maken. Ga in de menubalk naar File en kies achtereenvolgens Production Data en Generate Fabrication Data.... Er zijn een aantal opties en namen die je kunt kiezen of wijzigen. Het meeste kun je laten zoals het al staat. Alleen als je waardes van bijv, de weerstanden op de printplaat wilt tonen, heb het vinkje bij Values aan te zetten bij Top Silksreen Layers. Als je ook onderdelen aan de onderkant hebt zitten ook bij Bottom Silksreen Layers.
Tot slot
We hebben nu onze eerst printplaten ontworpen en zijn klaar om bij een fabrikant te laten maken. Of je start een nieuwe printplaatontwerp voor je eigen elektrische schakeling. Helaas is LibrePCB nog beperkt met de aantal elektrische onderdelen die in de standaard bibliotheken staan. Gelukkig kan je een eigen bibliotheek met eigen onderdelen maken.
Afgelopen jaren heb ik een paar printplaten ontworpen. Hiervoor had ik voor een aantal elektrische onderdelen zelf de symbolen en/of footprints te maken.
![]() |
Eigen ontworpen printplaten |
In deel 2 gaan we hier mee aan de slag. Zelf kun je natuurlijk ook de nodige informatie vinden op LibrePCB.org