ID.nl logo
Tien microcontroller-bordjes vergeleken
© PXimport
Huis

Tien microcontroller-bordjes vergeleken

Toen de Raspberry Pi Foundation begin 2021 de Raspberry Pi Pico aankondigde, bleek dit een geduchte concurrent voor de Arduino-microcontrollerbordjes te zijn. Nog opvallender was dat ze hier een eigen chip voor ontwikkeld hadden: de RP2040. Het duurde niet lang tot andere fabrikanten rond diezelfde chip ook allerlei microcontrollerbordjes bouwden. Maak kennis met tien van deze kleine krachtpatsers.

De wereld van elektronicaknutselaars is in twee domeinen onderverdeeld: die van de singleboardcomputers en die van de microcontrollerbordjes. Een singleboardcomputer, waarvan de Raspberry Pi het bekendste voorbeeld is, heeft een relatief krachtige processor, intern geheugen (RAM), soms eigen opslag, video-uitvoer enzovoort. Allemaal eigenschappen die we van een desktopcomputer of laptop kennen, maar dan in een kleinere vorm.

Een microcontrollerbordje daarentegen, zoals de bekende Arduino-bordjes, is een printplaatje waarop bijna alle functionaliteit in één chip ingebouwd is: de microcontroller. Die bevat doorgaans zowel de processor als het RAM en ROM. De processor in een microcontroller is heel wat minder krachtig dan die in een singleboardcomputer en er is minder geheugen beschikbaar.

Waarom zou je dan een microcontrollerbordje gebruiken als een singleboardcomputer zoveel krachtiger is? Microcontrollers zijn betrouwbaarder omdat ze geen heel besturingssysteem draaien, maar enkel de code die jij erin programmeert. Bovendien zijn ze goedkoper en verbruiken ze minder energie. Voor eenvoudige toepassingen zijn microcontrollers dan ook heel geschikt.

De Arduino-microcontrollerfamilie is het laatste decennium populair geworden bij elektronicaknutselaars. Maar de Raspberry Pi Pico is een geduchte concurrent, niet in het minst door de krachtige RP2040: een dualcore ARM Cortex-M0+-microcontroller van 32 bit. We bekijken tien microcontrollerbordjes met de RP2040-chip.

Raspberry Pi Pico

De Raspberry Pi Pico was het eerste ontwikkelbordje met de RP2040-microcontroller en is nog altijd het beste voor algemene toepassingen. Het is goedkoop (rond de 5 euro) en perfect ondersteund door allerlei ontwikkelsoftware in het RP2040-ecosysteem. Bovendien beschikt het bordje van 51 × 21 mm over 40 pinnen, waarvan 26 GPIO-pinnen die voor algemeen gebruik in te zetten zijn en 3 ADC-pinnen om analoge signalen in te lezen.

De microcontroller programmeren doe je via de micro-usb-aansluiting of via de SWD-pinnen (Serial Wire Debug) aan de andere kant. Naast de chip is er 2 MB flashgeheugen op het bordje gesoldeerd. Dat is het minste van alle RP2040-bordjes, maar ruimschoots voldoende voor de meeste toepassingen. Ter vergelijking: de Arduino Uno en Nano hebben maar 32 KB flashgeheugen en zelfs de Nano 33 BLE is ‘maar’ met 1 MB uitgerust.

De Raspberry Pi Pico is met of zonder header te koop. Er bestaan ook allerlei uitbreidingsbordjes en displaymodules die op de header passen, waardoor je hiermee wel heel eenvoudig je eerste stappen in de microcontrollerwereld zet.

©PXimport

Arduino Nano RP2040 Connect

Hoewel de Raspberry Pi Pico als concurrent voor Arduino-bordjes in de markt wordt gezet, levert de Raspberry Pi Foundation zijn RP2040-chip ook aan concurrerende producenten, en zo ook aan het team achter Arduino. Zij hebben de chip ingebouwd in een premiumbordje (rond de 26 euro): de Arduino Nano RP2040 Connect. Deze heeft de afmetingen van een Arduino Nano (45 × 18 mm met 30 pinnen), maar beschikt dankzij de RP2040 wel over veel meer rekenkracht. Bovendien is er maar liefst 16 MB flashgeheugen aanwezig, de maximale capaciteit die de RP2040 ondersteunt. 

Verder zit het bordje tjokvol functionaliteit. De u-blox NINA-W102-module biedt wifi en bluetooth, en er zit ook een bewegingssensor, microfoon, cryptochip en RGB-led in. Van de 22 GPIO-pinnen zijn er 20 voor PWM (Pulse Width Modulation) bruikbaar en 8 zijn er analoog. De softwareondersteuning is ook uitstekend, zowel in de Arduino IDE als in de ontwikkelomgevingen voor MicroPython en CircuitPython. 

Er is uiteraard ook rechtstreekse ondersteuning voor het bordje in de Arduino IoT Cloud, Arduino’s clouddienst waarin je microcontrollers programmeert. Al met al heeft dit bordje wel een stevige prijs, maar door alle functionaliteit is het een veelzijdig ontwikkelbordje voor IoT-toepassingen.

©PXimport

Adafruit Feather RP2040

Adafruit brengt al jaren ontwikkelbordjes met diverse processorfamilies uit in zijn Feather-reeks, met standaardafmetingen van 50,8 × 22,8 mm en 28 pinnen. Deze Adafruit Feather RP2040 is daar een nieuw lid van. 21 pinnen zijn algemeen bruikbare GPIO-pinnen, waarvan 4 ADC-pinnen, dus één meer dan de Raspberry Pi Pico. Voor wie een extra analoog signaal wil uitlezen, is het bordje dan ook heel interessant. Maar ook daarnaast is het bordje goed uitgerust. Er is niet alleen een rode led, maar ook een RGB-led van het NeoPixel-type. 

Het flashgeheugen van 8 MB is ruim. Gebruik je MicroPython of CircuitPython, dan heb je nog een 7 MB over. Verder heeft de Adafruit Feather RP2040 een STEMMA QT-connector, waardoor je eenvoudig een component met een STEMMA QT-, Qwiic- of Grove I²C-stekker aansluit. Het bordje heeft een usb-c-connector en aan de zijkant een JST-PH-connector voor een LiPo-batterij. De ingebouwde batterijlader laadt een aangesloten batterij als je usb aangesloten hebt.

Zonder usb haalt het bordje zijn voeding uit de batterij. Dat maakt de Adafruit Feather RP2040 dus ideaal voor mobiele toepassingen.

©PXimport

SparkFun Thing Plus - RP2040

Adafruits Feather-formaat staat ook open voor andere fabrikanten en concurrent SparkFun heeft daar gebruik van gemaakt met zijn Thing Plus - RP2040. Het bordje lijkt sterk op de Adafruit Feather RP2040, inclusief de vier ADC-pinnen. We vinden hier dezelfde Qwiic-connector, usb-c-connector en JST-PH-connector voor een LiPo-batterij. Met zijn 59 × 23 mm is het bordje wel iets groter dan zijn voorbeeld. De connectoren staan dan ook net iets anders gepositioneerd. Zo staat de Qwiic-connector naast de batterijconnector. Bovendien heeft het bordje aan de onderkant een microSD-kaartslot. 

Wil je in je microcontrollertoepassing veel data opslaan (voor datalogging van sensormetingen) of inlezen (zoals afbeeldingen of audio), dan is de SparkFun Thing Plus - RP2040 dankzij dit kaartslot een heel interessant bordje. De communicatielijnen zijn aan specifieke GPIO’s toegekend en daarmee kun je je microSD-kaart met bijvoorbeeld MicroPython als massaopslag aanspreken. 

Verder is het bordje ook heel ruim voorzien van 16 MB flashgeheugen, evenals van een blauwe led en NeoPixel-RGB-led. Er zijn ook tien pingaatjes waarop je een header kunt solderen voor JTAG/SWD-debugging.

©PXimport

Seeed XIAO RP2040

Waarschijnlijk de kleinste telg in de RP2040-familie is de Seeed XIAO RP2040, die maar 20 × 17,5 mm meet. Dat heeft natuurlijk zijn weerslag op het aantal GPIO-pinnen: dat zijn er maar 11. Die zijn wel allemaal met PWM te gebruiken en 4 ervan ook als analoge pin. Op de onderkant heb je ook pads voor SWD. De Seeed XIAO RP2040 is uitgerust met 2 MB flashgeheugen, een usb-c-connector, een gewone led en een NeoPixel-RGB-led. In feite maken deze specificaties van de Seeed XIAO RP2040 gewoon een kleinere versie van de Raspberry Pi Pico met een RGB-led.

Maar de veelzijdigheid van de GPIO-pinnen maken het bordje heel flexibel. Dankzij de vier analoge pinnen kun je er potentiometers of analoge sensoren op aansluiten. En omdat alle pinnen PWM ondersteunen, kun je er de helderheid van leds of de snelheid van motoren mee aansturen. Bovendien kun je ook I²C, SPI en UART op de pinnen gebruiken. Kortom, het bordje is geschikt voor heel wat toepassingen waarin compacte afmetingen belangrijk zijn.

©PXimport

Solder Party RP2040 Stamp

De RP2040 Stamp van het Zweedse Solder Party is met zijn 25 × 25 mm iets groter dan de Seeed XIAO RP2040, maar heeft als voordeel dat het toegang geeft tot alle 30 GPIO’s van de microcontroller. Daardoor heb je de beschikking over twee keer I²C, twee keer SPI, twee keer UART, 16 pinnen met PWM en 4 analoge pinnen. Om dit alles zo compact te houden, staan de pingaten aan de vier zijden wel op 2 mm afstand van elkaar, waardoor dit bordje niet op een breadboard past. 

Er is geen usb-connector gemonteerd, maar de usb-pinnen zijn wel beschikbaar. Het bordje kan via deze pinnen gevoed worden of via de ingebouwde voedings- en laadschakeling (zonder bescherming) voor een LiPo-batterij. De flashchip heeft een capaciteit van 8 MB. De RP2040 Stamp is open hardware: alle hardwareschema’s zijn gepubliceerd onder een CERN-licentie.

Solder Party heeft ook een bijbehorend RP2040 Carrier Board dat de Arduino Uno Shield-pinout volgt. Als je de RP2040 Stamp hierop monteert, heb je connectoren voor usb-c, Qwiic/STEMMA QT, een LiPo-batterij, DC-aansluiting en een SWD-header.

Pimoroni Pico LiPo

De Pico LiPo van Pimoroni heeft dezelfde pinout als de Raspberry Pi Pico en is daardoor ook volledig compatibel met allerlei Raspberry Pi Pico-add-ons. Daarnaast komt het bordje met heel wat leuke extra’s. Zo is het uitgerust met een usb-c-poort en een Qwiic/STEMMA QT-connector, evenals een JST-SH-connector voor SWD. Een JST-PH-batterijconnector maakt het plaatje compleet. De laadschakeling heeft een bescherming ingebouwd. Er is ook een aan-uitknop, wat handig is als je bij batterijgevoede toepassingen stroom wilt besparen wanneer je het bordje even niet nodig hebt. 

De Pico LiPo meet 53 × 21 mm, dus twee millimeter langer dan de Raspberry Pi Pico, en is beschikbaar met 4 of 16 MB flashgeheugen. Die laatste versie is zo’n drie keer duurder dan de Raspberry Pi Pico, maar met alle extra functionaliteit én de compatibiliteit met de add-ons is dat zeker niet te duur voor draagbare toepassingen. Zowel MicroPython als CircuitPython en C/C++ zijn ondersteund.

©PXimport

Pimoroni Badger 2040

De Pimoroni Badger 2040 is een RP2040 gemonteerd op de achterkant van een zwart-wit e-paperscherm van 2,9 inch, met vijf knoppen. Hij is uitgerust met 2 MB flashgeheugen, een usb-c-connector en een JST-PH-connector voor een batterij, en een connector voor Qwiic/STEMMA QT. Er zijn ook nog enkele pads aan de achterkant voor toegang tot I²C, UART en SWD.

Pimoroni verkoopt ook een kit met accessoires, waarin twee AAA-batterijen en een batterijhouder zitten, klittenband om de batterijhouder aan het bordje te bevestigen, een usb-c-naar-usb-a-kabel en een nekkoord dat door een sleuf in het bordje past. Hiermee heb je dan een draagbaar schermpje dat door de e-papertechnologie heel zuinig is. Wil je een LiPo-batterij aansluiten, neem er dan een met ingebouwde bescherming, want de Badger 2040 is niet voorzien van batterijbescherming.

Een belangrijke beperking is wel dat het bordje geen batterijlader heeft. Je hebt dus een externe LiPo-lader nodig als je je batterij wilt opladen. Pimoroni’s software maakt het heel eenvoudig om in MicroPython tekst en afbeeldingen op het scherm te tonen.

Cytron Maker Pi RP2040

Wil je met de RP2040 motoren aansturen, bijvoorbeeld voor een robot of om planten water te geven, dan is de Maker Pi RP2040 van Cytron het ideale bordje. De ingebouwde motordriver kan twee DC-motoren (inclusief statusleds en testknoppen) en vier servomotoren aansturen. Er zijn 13 indicatorleds voor de status van de GPIO-pinnen, een piëzozoemer met schakelaar om hem te dempen qua geluid, twee drukknoppen, twee NeoPixel-RGB-leds en maar liefst zeven Grove-connectoren voor I²C, SPI, UART of analoge communicatie. 

De RP2040 op het bordje wordt vergezeld van 2 MB flashgeheugen, een micro-usb-aansluiting en een aansluiting voor een LiPo-batterij. De ingebouwde LiPo/Li-Ion-laadschakeling heeft bescherming tegen overladen en ontladen. Het bordje komt ook met een aan-uitschakelaar en meet 88 × 64 mm. Cytron laadt de chip al met CircuitPython, zodat je onmiddellijk aan de slag kunt. Ook MicroPython, C/C++ en Arduino zijn uiteraard ondersteund. 

Kortom, de Maker Pi RP2040 biedt alles wat je nodig hebt voor het stevigere werk met een combinatie van motoren en sensoren.

©PXimport

Pimoroni PicoSystem

De PicoSystem van Pimoroni is een volwaardige draagbare gameconsole gebouwd rond de RP2040. De microcontroller is vergezeld van een 16MB-flashchip en heeft een 1,54inch-kleurenschermpje met links daarvan een D-pad en rechts vier knoppen. Er is een RGB-led, aan-uitknop en piëzozoemer. De LiPo-batterij met een capaciteit van 525 mAh zou voldoende moeten zijn voor minstens zes uur speelplezier. 

Het PicoSystem meet 96,6 × 42,7 mm en gebruikt een usb-c-kabel om de batterij op te laden en de microcontroller te programmeren. Er zitten ook SWD- en UART-pinnen op de printplaat, maar daarvoor moet je de behuizing openschroeven. Pimoroni levert het PicoSystem met het platformspel Super Square Bros van Scorpion Games, maar je kunt er nog heel wat andere naar uploaden. 

Je eigen games maken kan met de officiële PicoSystem-API voor C++ en MicroPython, met de Stage-bibliotheek in CircuitPython of met de 32bit-SDK in C/C++. Met die laatste creëer je games die zowel op het PicoSystem als op de 32bit-console werken, en ook op Linux, Windows en macOS.

De RP2040, een krachtige microcontroller

De RP2040-chip past in een QFN-56-SMD-behuizing van 7 × 7 mm en wordt met een 40nm-proces gemaakt. De chip heeft twee ARM Cortex-M0+-processorkernen die op een kloksnelheid van 133 MHz draaien en beschikt over 264 KB SRAM. Er is geen intern flashgeheugen of EEPROM: de bootloader laadt de firmware vanaf extern flashgeheugen (de controller ondersteunt capaciteiten tot 16 MB) of de usb-bus. 

Van de 30 GPIO-pinnen kunnen er 4 optioneel als analoge invoer worden gebruikt. Verder heeft de chip twee keer UART, twee keer SPI, twee keer I²C, 16 PWM-kanalen, en een usb1.1-controller en PHY-chip met ondersteuning voor host en device. De RP2040 heeft ook 8 PIO state machines. 

PIO staat voor Programmable I/O en hiermee is het mogelijk om in een extra, kleine processor die los van de ARM-kernen draait speciale code uit te voeren voor efficiënte communicatie met de buitenwereld, zoals extra UARTs, DVI, NeoPixels of CAN-bus.

Conclusie

De RP2040 is een krachtige microcontroller van de makers van de Raspberry Pi waar allerlei fabrikanten ontwikkelbordjes met diverse toepassingsdomeinen omheen hebben gemaakt. Voor je eerste experimenten met de RP2040 is de Raspberry Pi Pico nog altijd het beste bordje, omdat het zo veelzijdig en goedkoop is. Arduino, Adafruit, SparkFun en Pimoroni hebben elk hun eigen varianten met licht verschillende functionaliteit, die elk hun eigen toepassingsdomeinen hebben waarvoor ze optimaal uitgerust zijn.

Moet je toepassing vooral compact zijn, dan zijn de Seeed Xiao RP2040 (zo klein mogelijk) en de Solder Party RP2040 Stamp (zo klein mogelijk met toegang tot alle GPIO’s) niet te kloppen. Daarnaast bestaan er ook heel specifiek uitgeruste bordjes, bijvoorbeeld met een e-paperscherm, motordriver of zelfs een volledige RP2040-gebaseerde gameconsole.

 Wat al deze bordjes gemeen hebben, is dat ze een uitstekende ondersteuning hebben in allerlei ontwikkelomgevingen en ecosystemen zoals MicroPython, CircuitPython en Arduino. In nog geen anderhalf jaar tijd heeft de RP2040 dan ook zeker zijn plaats in de wereld van elektronicaknutselaars ingenomen.

▼ Volgende artikel
Consumenten testen: de Philips 5000 Series CX5120/11 energiebesparende verwarming
Huis

Consumenten testen: de Philips 5000 Series CX5120/11 energiebesparende verwarming

Ben je op zoek naar een energiezuinige bijverwarming die snel en efficiënt warmte levert? Dan is een keramische verwarming wel iets voor jou: die combineert moderne technologie met gebruiksgemak. Zoals de Philips 5000 Series CX5120/11 keramische verwarming. Wat zijn de praktijkervaringen van de testers van Review.nl? Lees hier hun bevindingen.

Ben je op zoek naar een snelle, slimme en veilige manier om je huis te verwarmen? Met deze krachtige keramische verwarming zit je binnen twee seconden al lekker warm! En het beste? Je bespaart tot wel 50% energie vergeleken met een gewone verwarmingsventilator. Via de handige Philips Air+-app heb je altijd en overal controle over je verwarming. Bovendien zorgt de 5-voudige veiligheidsbescherming ervoor dat je je nergens zorgen over hoeft te maken. Warmte, gemak én gemoedsrust – wat wil je nog meer? Testers van Review.nl mochten de Philips 5000 Series CX5120/11 gedurende een periode testen. Hier lees je hun bevindingen.

Het slanke, zwarte design van deze Philips verwarming past goed in een modern interieur. Met een hoogte van minder dan 60 centimeter is het apparaat compact genoeg om onder een bureau te plaatsen. "Door het slanke en zwarte design is deze verwarming overal te plaatsen", aldus Rob, één van de testers. Het apparaat is daarnaast licht van gewicht, wat het makkelijk maakt om hem van kamer naar kamer te verplaatsen wanneer nodig.

Snelle en effectieve verwarming

De CX5120/11 overtuigt met zijn krachtige verwarmingsprestaties. "Het apparaat verwarmt de kamer verrassend snel, wat ideaal is op koude dagen", schrijft GeertK, die de CX5120/11 een 8,0 geeft. De oscillerende voet zorgt voor een goede warmteverdeling in de ruimte. Rob is blij met het vermogen: "Hierdoor is het mogelijk om in een korte periode een fijne warmte te verspreiden". Daar is tester Cindyver het mee eens. Ook wordt gewaardeerd dat de keramische verwarming geen vieze geurtjes verspreidt.

De Philips 5000 Series CX5120/11 kan ook in een thuisnetwerk worden gebruikt, waardoor app-bediening ingesteld kan worden en een koppeling met Google Home en Alexa mogelijk is. Wel kan er nog iets worden verbeterd aan het proces voor het maken van een verbinding met het draadloze netwerk. Roberto073: "Het koppelen met de Air+ app verliep zonder gedoe, al bleef het wifi-icoontje wit in plaats van oranje, zoals de handleiding aangaf. Dat was echter geen probleem, want alles werkte naar behoren." AnneliesD hierover: "De installatie was even puzzelen omdat er verwezen werd naar het netwerk van Philips in plaats van ons thuis wifi-netwerk. Maar dit was zo gewijzigd in de app."

Slim en gebruiksvriendelijk

Een groot pluspunt is de bediening via de bijbehorende app. Hiermee kun je de verwarming op afstand bedienen en programma's instellen. 'Via deze app is het mogelijk om zelf een programma te maken wanneer, hoe laat en hoe warm de verwarming moet werken', licht een enthousiaste gebruiker toe. De Auto+ modus regelt de verwarming automatisch voor optimale energiebesparing. Het touchscreen op het apparaat zelf biedt een gebruiksvriendelijk alternatief voor de app-bediening.

Tester Har74 is blij met de slimme functies van de verwarming en de app: "In de kinderkamer is de verwarming een keer omgevallen, maar de app gaf meteen een melding dat het apparaat was omgevallen en automatisch was uitgeschakeld. "

Tester AnneliesD is blij met de CX5120/11: "Vooral met thuiswerken is het ideaal om één ruimte te verwarmen en de cv-installatie niet te hoeven gebruikenm. wat dus ook aanzienlijk scheelt in de kosten! "

Geschikt voor kleinere ruimtes

De verwarming is vooral effectief in kleinere ruimtes tot ongeveer 20 m². 'In mijn studeerkamer komt de verwarming tot zijn recht', schrijft een tester. Verschillende gebruikers zetten het apparaat specifiek in als bijverwarming voor een thuiswerkplek. Een minpunt van de Philips 5000 Series CX5120/11 is volgens Max546 de lengte van het snoer. "Zonder verlengsnoer kun je hem niet zomaar overal neerzetten", aldus de tester.

Tester Har74 merkt dat deze verwarming minder geschikt is voor grotere ruimtes, want volgens de specificaties is hij vooral geschikt voor kamers tot 20 m³. Ook vindt hij het jammer dat de verwarming niet in andere kleuren dan zwart verkrijgbaar is.

Conclusie

Met een gemiddelde score van 8,7 is de Philips 5000 Series CX5120/11 een overtuigende keuze voor wie op zoek is naar een slimme bijverwarming voor kleinere ruimtes. De combinatie van snelle warmte, app-bediening en energiezuinige werking maakt het een praktisch apparaat voor bijvoorbeeld een thuiswerkplek of slaapkamer. Het compacte formaat en stille werking zijn extra pluspunten. Enige minpunten zijn de relatief korte stroomkabel en het feit dat de temperatuurmeting bij het apparaat niet altijd overeenkomt met de werkelijke kamertemperatuur.

✅ Pluspunten
Snel en efficiënt verwarmen
Stille werking
Prettige app-bediening
Energiezuinig
Val- en aanraakbeveiliging

❌ Minpunten
Voor kleinere ruimtes tot 20 m³
Stroomkabel in sommige situaties te kort
Soms verschil in gemeten en werkelijke temperatuur

Meer over de Philips 7000 Series HR3760/10

Op Kieskeurig.nl

▼ Volgende artikel
Calibre via Docker: boekenplank op je server
© Paolese
Huis

Calibre via Docker: boekenplank op je server

Verzamel je je e-books het liefst centraal op een server? Dan ligt het voor de hand om die verzameling daar ook te beheren. Een van de beste beheerprogramma’s is Calibre. Hoewel dit vaak onder Windows wordt gebruikt, kun je het ook via Docker installeren en gebruiken. Daarna beheer je alles via een browser. We laten zien hoe dat werkt.

Na het lezen van dit artikel weet je hoe je e-books via Calibre Web kunt beheren. Daarvoor ondernemen we de volgende stappen:

  • Docker installeren
  • Calibre instellen
    • Database maken
    • E-books toevoegen
  • Calibre Web configureren
  • Draadloos synchroniseren met Kobo-e-readers

Lees ook: Bladeren in stijl: Hoe kies je de perfecte e-reader?

Code downloaden

In dit artikel staat een voorbeeld van wat YAML-code (en diverse andere commando’s). Omdat YAML erg gevoelig is voor foute spaties, kun je die code beter downloaden en daarna bekijken of kopiëren. Zie het bestand code-calweb.txt.

Calibre is een populair en voor velen vertrouwd programma voor het beheren van e-books, dat al heel lang mee gaat (zie het kader ‘Calibre vereenvoudigt je e-bookbeheer’). De meeste mensen gebruiken het op een pc, maar daar kleven wel wat nadelen aan. Een installatie op een server is praktischer. Een centrale installatie zorgt ervoor dat je gemakkelijker toegang tot Calibre hebt, vanaf verschillende apparaten en met verschillende gebruikers.

Ook de regelmatige software-updates zijn eenvoudiger te installeren, desgewenst zelfs automatisch. Het maken van back-ups is eveneens makkelijker. Op een pc vergeten mensen dat vaak, waardoor bij een crash of herinstallatie van Windows de zorgvuldig opgebouwde verzameling verloren gaat.

In dit artikel gaan we Calibre via Docker draaien. Je kunt de software daarna via een browser gebruiken, met dezelfde vertrouwde gebruikersinterface. We combineren het met Calibre Web. Daarmee kun je, ook weer via de browser, comfortabel je e-books lezen.

Ook de communicatie met e-readers komt aan bod. We laten zien hoe je via Calibre Web rechtstreeks synchroniseert met een Kobo e-reader. En vanuit Calibre gaan we e-books naar een Kindle sturen.

Calibre vereenvoudigt je e-bookbeheer

Calibre is een populair programma voor het beheren van je verzameling e-books. Het is beschikbaar voor Windows, macOS en Linux. Calibre kan op basis van metadata alle relevante informatie over e-books voor je ophalen, zoals beschrijvingen en een omslagafbeelding.

Je kunt de details ook handmatig aanpassen, per bestand of op groepsniveau. Ook converteer je e-books direct in Calibre om ze compatibel te maken met jouw e-reader. Bovendien zijn er de nodige extra’s, zoals het omzetten van nieuwsartikelen naar een e-book op basis van rss-feeds.

De eerste versie van Calibre verscheen in oktober 2006. Dat was kort na de release van de Sony PRS-500, een van de eerste op e-ink gebaseerde e-readers. Aanvankelijk lag de kracht bij de conversie van e-books tussen verschillende formaten. Tegenwoordig staan vooral de beheerfuncties centraal, en de uitgebreide zoek- en sorteeropties. De software is gratis, opensource en vrij aanpasbaar.

Calibre is veruit het bekendste programma voor het beheren van e-books.

1 Calibre (Web) en Docker (Compose)

We gaan in dit artikel Calibre en Calibre Web installeren op een server. Hierbij maken we gebruik van Docker en Docker Compose. Hiervoor gebruiken we een Linux-server met Ubuntu 24.04 LTS. Voor het werken met Docker installeren we Docker CE (Community Edition). Daar zijn installatiegidsen voor. Hierna kun je zowel Docker als Docker Compose gebruiken.

Zorg dat het systeem dat je gaat gebruiken genoeg geheugen heeft. Er is geen schokkende hoeveelheid voor nodig, maar 2 GB is geen overbodige luxe. Dit heeft vooral te maken met de ‘remote desktop’-opzet: op de achtergrond wordt een VNC-verbinding opgezet om de gebruikersinterface van Calibre weer te geven. Gebruik je een container in Proxmox VE, dan is 4 GB een veilige bovengrens. Meestal ligt het geheugengebruik rond 500 MB, maar tijdens het gebruik loopt dat snel op naar 1 GB met wat uitschieters naar boven.

Alle e-books staan bij onze opzet op een NAS. Daarom koppelen (‘mounten’) we die map aan het systeem, op de locatie /mnt/nas/boeken. Die locatie gaan we (in de volgende paragraaf) als volume toevoegen aan Calibre. Het voordeel is dat je vanuit Calibre gemakkelijk door die map kunt bladeren om e-books toe te voegen aan de bibliotheek in Calibre zelf.

Zorg dat je op het systeem over Docker en Docker Compose beschikt.

2 Docker Compose

Op het systeem maken we een mapje voor Calibre en plaatsen daarin een bestand docker-compose.yml met de onderstaande inhoud. We kiezen voor zowel Calibre als Calibre Web het Docker-image van het bekende LinuxServer.io.

Mogelijk zijn voor jouw situatie wat aanpassingen nodig. De belangrijkste opties nemen we in de volgende twee paragrafen met je door. Bij twijfel kun je ook de documentatie voor de genoemde Docker-images raadplegen. Bij de uitleg maken we onderscheid tussen de host en de container. De host is daarbij uiteraard jouw server met Docker.

Met de hulp van Docker Compose beheren we de instellingen voor beide containers.

3 Volumes koppelen

Volumes zorgen feitelijk voor de mogelijkheid bestanden uit te wisselen tussen de host en container. Voor Calibre maken we onder volumes: een koppeling tussen de map ./config op de host en /config in de container. Hier bewaart Calibre de configuratie en straks ook de Calibre-bibliotheek.

Verder koppelen we de gemounte map /mnt/nas/boeken met daarin alle ongesorteerde e-books aan /media. Binnen Calibre kun je straks door de map /media bladeren om eenvoudig e-books aan je bibliotheek toe te voegen.

Optioneel kun je een map, zoals de hier voorgestelde map /mnt/nas/boeken/Toevoegen, koppelen aan de container onder bijvoorbeeld /toevoegen. We laten in paragraaf 7 zien hoe je met een kleine aanpassing de e-books in die map automatisch aan Calibre kunt toevoegen. Bij de container voor Calibre Web zie je onder volumes: alleen de koppeling met de lokale map ./config. Daar staat straks de bibliotheek van Calibre, die we bij de configuratie van Calibre Web alleen nog hoeven aan te wijzen. Controleer voor beide containers onder environment: de waardes bij PUID en PGID. Dat is de ID van respectievelijk de eigenaar en groep van de gekoppelde volumes. Deze waardes kun je nagaan met de opdracht id gebruiker. Dit voorkomt problemen met rechten bij bestandstoegang.

In een onderliggende map worden de configuratie en bibliotheek bewaard.

Back-up maken van Calibre

Het is raadzaam om af en toe een back-up te maken van Calibre en Calibre Web. Het gaat hierbij om het bestand docker-compose.yml en de onderliggende map config. In de map met het bestand docker-compose.yml kun je daarvoor de onderstaande opdracht geven. Bewaar vervolgens het bestand calibre.tar op een veilige plek. Gebruik deze opdracht:

tar --exclude=config/.cache -cvf calibre.tar docker-compose.yml config/

Hierbij sluiten we overigens de folder .cache die in de map config te vinden is uit.

4 Poorten configureren

Er zijn voor beide containers poorten gekoppeld. Dit zie je onder ports:. Het poortnummer links is steeds de poort op de host. Die mag je eventueel veranderen, bijvoorbeeld omdat een poort (zoals de populaire poort 8080) al in gebruik is. Het poortnummer rechts is de poort in de container. Die mag je niet veranderen. We houden hier dezelfde poortnummers aan. Bij de container voor Calibre geeft poort 8080 toegang tot Calibre zelf en poort 8081 dient voor de ingebouwde contentserver (zie paragraaf 8 en het kader ‘Inhoudsserver van Calibre gebruiken’). Calibre Web maken we via poort 8083 toegankelijk.

Poort 8083 geeft toegang tot Calibre Web, waarmee je e-books via een browser kunt lezen.

5 Beheer van de containers

Als je alle gewenste aanpassingen hebt gemaakt en de configuratie hebt bewaard, kun je beide containers starten met één opdracht:

docker compose up -d

Om de containers te stoppen, geef je deze opdracht:

docker compose down

Merk op dat er regelmatig updates verschijnen voor Calibre, waar je ook een melding van zult krijgen. Je hoeft dan in Calibre zelf niets te doen. Enkele commando’s vanaf de opdrachtregel volstaan. Stop als eerste de containers met:

docker compose down

Haal dan de nieuwe images op waarop de containers zijn gebaseerd. Dit kan in één keer met:

docker compose pull

Daarna kun je de containers opnieuw starten met:

docker compose up -d

Daarbij zullen de containers op basis van de nieuwe images worden opgebouwd. Controleer eventueel de status met:

docker ps

Dit laat zien welke containers actief zijn en welke poorten ze gebruiken.

Via enkele eenvoudige commando’s kun je de Docker-containers beheren.

6 Eerste stappen in Calibre

We gaan nu verder in de browser en beginnen met het instellen van Calibre. Log in op het ip-adres van het systeem waarop Calibre staat en poort 8080, zoals http://ipadres:8080. Kies in het eerste scherm Nederlands als taal. Kies daarna de locatie voor de bibliotheek voor Calibre. Hier worden alle toegevoegde boeken naartoe gekopieerd. We accepteren de standaardlocatie /config/Calibre Bibliotheek.

In het volgende scherm kies je je type e-reader. We kiezen voor een model van Kobo. Klik op Volgende om verder te gaan en dan Voltooien. Je komt nu direct in Calibre. Als je eerder met deze software hebt gewerkt, zal de gebruikersinterface vertrouwd zijn. Je ziet nog maar één boek in je Calibre-bibliotheek: de snelstartgids voor het werken met Calibre. Tijd dus voor wat extra leesvoer!

Bij het eerste gebruik moet je enkele instellingen aanpassen.

7 Boeken toevoegen

Om een e-book toe te voegen aan Calibre ga je naar Boeken toevoegen. Blader via de bestandsbeheerder vervolgens naar /media. Hier zie je de gemounte map met alle e-books. Wil je ook automatisch boeken aan Calibre kunnen toevoegen? Dit kun je instellen onder Voorkeuren. Kies onder Importeren/Exporteren de optie Boeken toevoegen. Op het tabje Automatisch toevoegen kun je naar de map bladeren waar de automatisch toe te voegen e-books staan. In ons voorbeeld is dat /toevoegen. Alle boeken die je in die map zet, zullen automatisch aan Calibre worden toegevoegd en daarna uit die map worden verwijderd. Kies na deze wijziging voor het herstarten van Calibre.

Boeken in deze speciale map worden automatisch aan Calibre toegevoegd.

8 Calibre Web

Met Calibre Web kun je een Calibre-database via een browser toegankelijk maken, zodat je door je verzameling e-books kunt bladeren en deze kunt lezen of downloaden. Het geeft je meer mogelijkheden dan de contentserver van Calibre (zie kader ‘Inhoudsserver van Calibre gebruiken’). Zo kun je in Calibre Web boekenplanken maken en beheren. Deze kun je vervolgens synchroniseren met een Kobo e-reader.

Open om te beginnen Calibre Web op poort 8083, zoals http://ipadres:8083. Hier log je in met het initiële gebruikersaccount (gebruikersnaam admin en wachtwoord admin123). Eerst wordt gevraagd naar de locatie van de database van Calibre. Blader hiervoor naar /config/Calibre Bibliotheek en kies Select. Bewaar de instelling met Save. Als je naar Books gaat, zie je nu ook de eerdergenoemde gids voor Calibre en de boeken die je mogelijk zelf al had toegevoegd.

Voeg je in het vervolg in Calibre een boek toe, dan verschijnt deze ook direct in Calibre Web, omdat ze de database delen. Het is raadzaam om de taal van de gebruikersinterface op Nederlands te zetten. Klik daarvoor op je naam (admin) om je profiel te openen. Bij Language kies je Nederlands. Klik daarna op Save.

In Calibre Web verwijzen we naar de bibliotheek van Calibre.

Inhoudsserver van Calibre gebruiken

Calibre heeft een ingebouwde contentserver ofwel inhoudsserver. Schakel je deze in, dan kun je met een browser door je bibliotheek bladeren, en e-books te lezen of downloaden. Er is wat functionaliteit betreft wat overlap met Calibre Web. Je kunt ze eventueel naast elkaar gebruiken.

Voor de inhoudsserver hebben we poort 8081 op de host gekoppeld met poort 8081 in de container. Om de inhoudsserver te starten, ga je in Calibre naar Verbinden/delen en kies je Inhoudsserver starten. Open je browser en bezoek het ip-adres met poort 8081. Hier kun je je Calibre-bibliotheek bekijken. Dat kan ook direct vanaf de browser van een e-reader.

Er zijn ook andere, handigere methodes om e-books over te zetten. In dit artikel komt een directe synchronisatie met Kobo aan bod (paragrafen 9 en 10) en het versturen naar een Kindle vanuit Calibre (paragraaf 11).

De inhoudsserver maakt je bibliotheek beschikbaar via een browser.

9 Boekenplanken maken

Calibre Web kent het principe van boekenplanken, waarvan het beheer overigens los staat van Calibre. Begin hiervoor in het menu aan de linkerkant met Boekenplank maken. Open je vervolgens een e-book, dan kun je deze toevoegen aan een of meerdere boekenplanken. Handig aan de e-reader van Kobo is dat hij je boekenplanken met inhoud weergeeft in je bibliotheek als je naar het tabje Verzamelingen gaat. Hiervoor moet je de e-reader synchroniseren met Calibre Web. Je zou bijvoorbeeld een boekenplank kunnen maken voor boeken die je binnenkort wilt lezen. Of een boekplank voor elk genre. Ook kun je voor een specifieke e-reader een boekenplank maken. In de volgende paragrafen leggen we uit hoe je boekenplanken met je Kobo-e-reader kunt synchroniseren.

Je kunt boekenplanken maken voor synchronisatie met je e-reader.

10 Synchronisatie

Je kunt een e-reader van Kobo draadloos synchroniseren met Calibre Web. Hiervoor ga je naar het menu Beheer. Kies onder Instellingen de optie Bewerk basisconfiguratie. Onder het kopje Geavanceerde opties zet je vinkjes bij Zet Kobo sync aan en Proxy onbekende verzoeken naar Kobo winkel. Met die laatste optie zul je op je e-reader bij synchronisatie ook nog steeds boeken ontvangen die je bijvoorbeeld via bol.com hebt gekocht.

Op zoek naar leesvoer?

Koop een e-book bij bol

Controleer of de correcte poort is ingesteld voor Calibre Web (wij gebruiken de standaardpoort 8083). Als je een ander poortnummer hebt gekozen, moet je dat hier wijzigen. Kies daarna Opslaan. Open nu je profiel door op je gebruikersnaam te klikken (standaard is dat admin). Klik bij Kobo Sync Token op Aanmaken/Bekijken. Kopieer nu de regel die er als volgt uitziet:

api_endpoint=http://10.0.10.37:8083/kobo/faa613c4e5d334a3d82210b157bb0e

Sluit je Kobo e-reader aan op de pc. Blader naar de map .kobo/Kobo en open het bestand Kobo eReader.conf. Zoek naar de regel met api_endpoint. De standaardconfiguratie ziet er meestal als volgt uit:

api_endpoint=https://storeapi.kobo.com

Verander deze regel naar de voorgestelde configuratie van Calibre Web. Als de bewuste regel (nog) niet bestaat, moet je deze aanmaken onder de groep [OneStoreServices].

We maken een aanpassing aan de configuratie van Calibre Web.

Selectief boekenplanken synchroniseren

Standaard worden met een Kobo-e-reader alle boekenplanken gesynchroniseerd. Wil je alleen één of enkele boekenplanken synchroniseren? Ga dan naar je profiel (veelal admin). Zet een vinkje bij Synchroniseer alleen boeken op geselecteerde boekenplanken met Kobo en kies Opslaan. Open daarna een boekenplank en kies Bewerk boekenplank eigenschappen. Met een vinkje kun je kiezen of die boekenplank met een boekenplank met een Kobo-apparaat moet worden gesynchroniseerd.

Naar voorkeur kun je ook één of enkele boekenplanken synchroniseren.

11 Kindle-e-reader

De Kindle van Amazon is een populair alternatief voor Kobo, dat wel werkt met een eigen ecosysteem. Heb je e-books in een afwijkend formaat, bijvoorbeeld drm-vrije epub-bestanden, dan kun je deze per e-mail naar een Kindle sturen. Dit gaat via de servers van Amazon, waar ze worden geconverteerd naar een geschikt formaat. Het e-mailadres waar je boeken naar kunt sturen kun je achterhalen door op je Kindle de instellingen te openen. Je ziet het @kindle.com-adres onder E-mail voor versturen naar Kindle. Je kunt hier direct vanuit Calibre e-books naar sturen.

Ga daarvoor in Calibre naar Voorkeuren. Kies onder Delen de optie Deel boeken via e-mail. Vul onder E-mail het e-mailadres van de Kindle in. Vul ook je e-mailadres als afzenderadres in onder Afzender e-mail. Je kunt eventueel een server instellen voor het versturen, maar het werkt meestal ook zonder.

Klik nu in Calibre met rechts op een e-book. Het menu Verbinden/delen geeft de optie voor het versturen per er-mail. Je e-book verschijnt hierna vanzelf op je Kindle. Mislukt de conversie, dan ontvang je een e-mailbericht van Amazon. Het is vrijwel altijd op te lossen met een trucje: converteer het e-book binnen Calibre naar het formaat .mobi. Converteer het daarna terug van .mobi naar .epub. Probeer vervolgens opnieuw het e-book naar je Kindle te sturen.

Je kunt per e-mail boeken delen met bijvoorbeeld een Kindle-e-reader.

Inspiratie voor extra leesvoer

Hebban is een leuke website om inspiratie voor nieuwe boeken op te doen. Je vindt er een enorme catalogus met Nederlandstalige boeken, voorzien van meer dan 5,6 miljoen beoordelingen en recensies. Er zijn ook veel lijstjes, zoals de tiplijst met boeken van de laatste dertig dagen, de Hebban Rank met de duizend populairste boeken van dit moment en een lijst met de duizend mooiste boeken aller tijden. Die laatste lijst wordt samengesteld op basis van de persoonlijke tiplijsten van duizenden leden. Je kunt op de website ook zelf een lijstje bijhouden met boeken die je interessant vindt. De meeste boeken zijn uiteraard ook als e-book verkrijgbaar. Een internationaal alternatief is Goodreads.