Alle posts

Een dockingstation in mijn bureau

Een dockingstation dat in je bureaublad zit. Vanaf één plek laad je je telefoon op, zet je de computer aan of uit en bedien je de ledstrip. Die gaat vanzelf aan en uit met de computer.

Een zwart dockingstation ingebouwd in een bureaublad: een telefoon in een uitsparing, een klein schermpje, een verlichte aan-knop, een draaiknop en drie USB-poorten.
Ingebouwd in het bureau: telefoonvak, schermpje, aan-knop, draaiknop en USB.

Wat je nodig hebt

  • Een 5V-drukknop met verlichting (angel eye)
  • Een oled-schermpje
  • Een ESP8266-bordje (Wemos D1 mini)
  • Een USB-hub
  • Een haakse USB-C-adapter en een USB-naar-USB-C-kabel
  • Een draaiknop met drukfunctie (rotary encoder)
  • Female dupont-kabeltjes
Een hand zet een telefoon in het vak van het dockingstation, op de USB-C-stekker.
De USB-C-stekker veert mee, zodat de telefoon er makkelijk in glijdt.

Software

Het dockingstation wordt aangestuurd door een kleine microcontroller met wifi. Een ander bordje kan ook, zoals een ESP32. Je zet de firmware erop met een micro-USB-kabel; daar is een opening voor aan de bovenkant van de behuizing.

Ik heb de firmware geschreven in PlatformIO, maar een andere ontwikkelomgeving die Arduino-code ondersteunt werkt ook. Je vindt de code in main.cpp, in de download onderaan deze post.

Bovenaan dat bestand staat welke pinnen waarvoor gebruikt worden. Wil je andere pinnen gebruiken, dan pas je het daar aan. Let ook op NUM_LEDS: dat is het aantal leds van je ledstrip. Ik gebruik een ledstrip met de WS2812B-chip; heb je een ander type, pas dat dan ook bovenaan aan.

De firmware zet de ledstrip aan of uit op basis van twee dingen:

  • het signaal van de computer (PC_STATUS);
  • de draaiknop.

Staat de ledstrip aan, dan regel je de helderheid door de knop naar links of rechts te draaien.

Behuizing

Uit elkaar getrokken 3D-ontwerp van het dockingstation: de bak met uitsparingen, het deksel en losse houders voor de USB-adapter en de knoppen.
Het 3D-ontwerp, in losse delen.

Ik heb de behuizing in zwart PLA geprint, maar andere materialen kunnen ook. De STL-bestanden zitten in de download.

De hoofddelen zet je in elkaar met schroeven, in schroefdraadinzetstukken die ik met een soldeerbout in het plastic heb gesmolten. De kleinere delen lijm je vast. Zo hoeft niets op support geprint te worden. De elektronica zet je vast met bijvoorbeeld smeltlijm.

De USB-C-adapter zit in een eigen geprint huisje. Met een klein veertje (uit een pen, bijvoorbeeld) blijft hij op zijn plek en kan hij toch een beetje op en neer bewegen.

Elektronica

Zo sluit je alles aan op de microcontroller:

  • D0 → de led-aansluiting op het moederbord (computerstatus). Mijn computer geeft daar 5V; die heb ik omgezet naar 3,3V.
  • D3 → drukknop van de draaiknop (10k-weerstand naar de voeding)
  • D5 → pin A van de draaiknop (10k-weerstand naar de voeding)
  • D6 → pin B van de draaiknop (10k-weerstand naar de voeding)
  • SDA → SDA van het oled-scherm
  • SCL → SCL van het oled-scherm
Aansluitschema: het Wemos-bordje met draadjes naar het oled-scherm, de draaiknop met weerstanden en een ledstrip.
Het aansluitschema.

De aan-knop. Dat hangt af van het type knop. Bij de mijne kon ik de plus en min van het ledje rechtstreeks op het moederbord aansluiten, en het NC-contact direct op de power-aansluiting van het moederbord.

De USB-hub. Ik heb de behuizing eraf gehaald en alleen het printplaatje met de USB-poorten gebruikt. Daaraan zit een USB-kabel die je direct op je computer aansluit.

De verbinding met de computer. In de behuizing heb ik twee female headers gelijmd, van 3 en 4 pinnen. Op de 4-pins header sluit je een kabel van het moederbord aan. De 3-pins header is voor de voeding en het datasignaal van de ledstrip.

De onderkant van het dockingstation, open: bedrading, het bordje, weerstanden en een witte USB-kabel in de zwarte bak.
Van onderen: alle bedrading in de bak.

Video en download

Heb jij ook een idee?

Vertel me wat je wilt maken. Een schets of een paar zinnen is genoeg om te beginnen.