Skip to the content
PCBKitNew board
2 layers127.8 × 85 mmSwirl, the printed circuit board in 3D

helix-like choc spaced keyboard with dual thumb rollers

Size
127.8 × 85 mm
Copper layers
2
Thickness
1.6 mm
Parts
66
Nets
53
Pads
617
Tracks, vias
1,200, 28
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
29 May 2023
Updated
9 Sep 2023

Overview

Swirl is an open-source printed circuit board by vmorganp, from the vmorganp/swirl repository on GitHub. It is a 2-layer board of 127.8 × 85 mm with 66 parts on 53 nets, routed with 1,200 tracks and 28 vias.

Its parts include 31 diodes and 31 switches. It belongs with the keyboards and input boards of this library.

README

README.md

Swirl

A Split keyboard with a thumb encoder on either side heavily inspired by the helix

20230909_151407

ToDo

  • diconnect the 2 pairs of inner pins on the trrs jack. both being ground causes a short circuit and requires modification of the TRRS jack at this time
    • I'm pretty sure there's something i2c related with this that you're supposed to do, but I don't actually understand that.
  • Get the button part of the encoder in the appropriate col/row rather than being it's own direct connect key which is poorly supported in qmk

Build Guide

Ingredients

  • 2x PCBs (Upload the zip from here to https://jlcpcb.com/ (the minimum order quantity is 5, maybe get six and share with a couple friends?)
  • 2x Pro-micro or pro-micro-compatible microcontrollers (I like the elite pi from here)
  • 70x 1N4148 surface mounted diodes (SMD) like these (you actually only need 64, but they're almost always sold in 10s)
  • 70x kailh choc v1 keyswitches of your choice like these (you actually only need 64, but they're almost always sold in 10s)
  • 70x kailh choc v1 key caps of your choice like these (you actually only need 64, but they're almost always sold in 10s)
  • 2x 3.5mm trrs headphone jack like these
  • 2x If you don't use the elite pi or have a will to do paperclip-resets, get some reset switches like these
  • 2x EVQWGD001 roller encoder like these (please don't buy these on amazon, try ebay or something because these are wildly overpriced, but this link should be more stable than an ebay listing)
  • Soldering tools
  • Optionally, all of the hotswap stuff for your controllers and switches

Hardware Steps

  1. Bridge the microcontroller connections depending on your controller's orientation If you want the smooth side up, solder the bridges on the bottom, if you want the components (and the reset button on an eliete-pi) facing up, solder the bridges that face up
  2. Solder SMDs (Ensure that the line on the SMD is on the same side of the connection as the line printed on the PCB)
  3. Solder microcontroller
  4. Solder TRRS connector
  5. Solder key switches
  6. Solder roller encoder

Software Steps

Prerequisites

  • Have qmk installed and setup, try the docs here if you don't already have that setup
  1. clone my qmk fork (maybe we get this merged into upstream at some point??) git clone git@github.com:vmorganp/qmk_firmware.git

  2. Compile and flash the firmware. (The default firmware is NOT good and I highly recommend creating your own)

    • Assuming you're using an elite-pi, compile the firmware using:

      1. qmk compile -kb swirl -km default -e CONVERT_TO=elite_pi`
      2. Drag and drop the compiled .uf2 file onto the pi
    • Otherwise:

      1. Run qmk flash -kb swirl -km default
      2. press the reset button/bridge the reset contact
      3. let it run
  3. enjoy!

Credits

@mrzealot and the other maintainers of ergogen

@ceoloide for having ergogen v4 footprints over in https://github.com/ceoloide/corney-island

@superfola on discord for helping me find me the reversible encoder footprint

@benvallack for informing me in a digestible way that this whole thing is actually doable

@imstubtw (i think) for the tutorial at https://flatfootfox.com/ergogen-part4-footprints-cases/

@aejay for the "swirl" text graphic here

Parts

66
QtyValueFootprintReferences
31ComboDiodeD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +15
31PG1350S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +15
1ProMicroMCU1
1kbd:ResetSWB1
1EVQWGD001Library:RollerEncoderEN1
1TRRS-PJ-320A-dualTRRS-PJ-320A-dualTRRS1

Questions

How big is the Swirl PCB?

It measures 127.8 × 85 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Swirl use?

66 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Swirl KiCad files?

From the vmorganp/swirl repository on GitHub, at the commit this page was made from: the board is v0/ergogen_output/pcb/swirl/swirl.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Swirl design in my own project?

Its repository states no licence, so its author keeps all rights: ask vmorganp before reusing the design.

Similar boards

  • 2 layers126.5 × 83 mmPcb pro controller, the printed circuit board in 3D

    Pcb pro controller

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    66 parts915
  • 2 layers94.6 × 46.1 mmHeaterMeterPI, the printed circuit board in 3D

    HeaterMeterPI

    CapnBry/HeaterMeter

    HeaterMeter and LinkMeter Arduino BBQ Controller

    66 parts557MIT
  • 2 layers56.9 × 35.2 mmAmoeba tp, the printed circuit board in 3D

    Amoeba tp

    mtl/keyboard-pcbs

    Keyboard PCBs

    66 parts485
  • 2 layers82 × 120 mmSample Numeric Keyboard, the printed circuit board in 3D

    Sample Numeric Keyboard

    famichu/MagLev_Switch_MX

    The 3D printable magnetic levitation contactless switch with the linear output hall effect sensor.

    66 parts467
  • 2 layers136.8 × 98.6 mmHillside, the printed circuit board in 3D

    Hillside

    mmccoyd/hillside

    Family of split ergonomic keyboards with three rows of six or five keys and a generous thumb arc

    66 parts448MIT
  • 2 layers115.7 × 95.7 mmFifi split keeb, the printed circuit board in 3D

    Fifi split keeb

    raychengy/fifi_split_keeb

    Fifi Keyboard 🐶 ⌨️

    66 parts334
  • 2 layers95.2 × 57.2 mmDomesdayDuplicator, the printed circuit board in 3D

    DomesdayDuplicator

    Domesday86/DomesdayDuplicator

    High-speed LaserDisc RF sampler

    66 parts325GPL-3.0
  • 2 layers96.5 × 66 mmBumperDuino, the printed circuit board in 3D

    BumperDuino

    Ardumower/ardumower

    Develop an open source robotic lawn mower (HW+SW reference platform)

    66 parts282