Skip to the content
2 layers154.5 × 105.5 mmSeismos 5CoreStencil, the printed circuit board in 3D

Seismos 5CoreStencil

ReSummit/Seismos18

A split keyboard that evolves the concept of the Zebra keyboard, but fancier

Size
154.5 × 105.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
100
Nets
27
Pads
842
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 7 (file 20221018)
Created
13 Oct 2023
Updated
11 May 2024

Overview

Seismos 5CoreStencil is an open-source printed circuit board by ReSummit, from the ReSummit/Seismos repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 154.5 × 105.5 mm with 100 parts on 27 nets.

It is built around the 1N4148W, SM09B-SRSS-TB(LF)(SN) and SK6812-EC20, with the SM10B-SRSS-TB(LF)(SN) and EVQPUC02K among its other parts. Its parts include 40 diodes, 35 switches and 13 connectors. It belongs with the keyboards and input boards of this library.

Main components

5

README

README.md

Seismos

An evolution of the Zebra keyboard, but can be used for everyday typing. Switch between ortholinear for macro keypads and staggered for typing on the go.

Since this design utilizes daughter boards, you can even choose to move the columns around with a different rail system from the example one provided.

Allows for an interchangeable configuration between 4 and 5 row keys per column. With both halves of the keyboard, you can have a maximum of 68 keys (+2 encoder switches).

NOTE: If you had downloaded gerber files before December 5th, 2023, redownload the files as the RGB lights were not wired correctly. Apparently KiCAD displays the back side from the top perspective... doh! This is fixed. I also fixed the power switch so that sliding it up turns on the keyboard rather than this not being congruent on both sides.

Pictures / Example Column Shifts:

PCB Library Structure

NOTE: If you check the PCB for DRC errors, most of them will come from either the keyboard_reversible.pretty footprint or the switch footprints inherited from the MiRage keyboard. Since both have been used before, they can be ignored.

Libraries

All PCBs in the pcbs folder refer to the footprint and symbol libraries found in libs/Seismos-libs as well as libs/keyboard_reversible.pretty.

Wait, keyboard_reversible.pretty isn't in the git clone? You need to run git submodule initialization and update with this command:

bash
git submodule update --init --recursive

After this, you should not get errors on missing libraries.

Current State of PCBs

Since release v2.0.0, there are now PCBs that incorporate the 74HC595A shift register. Thanks to drFaustroll (from QMK Discord) on an example schematic for the shift register. With this shift register, displays are now on their own I2C / SPI bus and two pins are dedicated to split communications. 2 pins are now free so I have openned up these pins at the bottom of the keyboard on the front side. These ARE NOT compatible with the I2C variants of the keyboards unless you are not using the displays and will need some modification of the firmware, so choose carefully!

WARNING: If you are planning to use a display on this keyboard, note that nice!view compatibility with the I2C PCBs only applies for wireless builds only! Annoyingly, the nice!view does not use an I2C interface; it uses an SPI interface to work (whyyyyyyy). I considered moving the CS pin to the headphone jack, but this means that one of the hardware pins for I2C is not connected so this did not happen. Normal 4 pin I2C SSD1306 displays will work for wired or wireless builds however assuming that all communications happen on I2C.

There are column and thumb cluster layouts for 4 and 5 keys (however, thumb cluster can only have 4 max). This means you can get a max total of 68 keys, plus two if you are using the rotary encoders as buttons.

For this release, there are PCBs for 4 and 5 columns. Currently, the left, right, and columns are made with a maximum size of 7x5 keys per side. Something to know is that due to routing efficiency, the column order is reversed for the right side; however, row number remains the same from top to bottom.

With release v1.1.2, the PCBs are now fully tested and ready to be used. Still, read through the notes for building this keyboard a couple sections below so you know what you're getting into.

PCB Design Thoughts

Theoretically, since JST SH connectors are pretty small, we can possibly a maximum of 12 pins, which means that you can get at most ~7 rows per column... if the microcontroller has that many pins!

Some future design thoughts:

  • A suggestion to reduce pin count is to wire the 1x4 keys as a 2x2 key setup to save pins; however, this results in a 2x2n keyboard layout, which will likely be a pain... Still interesting though to point out.
  • ZMK has a pull request that introduced charlieplexing, which will reduce the pin count. If this is done per half, it may be possible to have a 70% keyboard on both sides with 10 rows per column (5 forward diodes, 5 backwards diodes). There's quite a lot of room here but currently it is still in development.

Important notes for building keyboard

For the JST SH cables, note that the male to male connector tips should face the same side. An example one is shown below (note it is a 9 pin JST SH cale, but should be the same for 10 pin JST cables).

Example of JST SH cable with male-to-male connectors facing the same side.

Soldering the JST SH connectors is not easy! It is recommended to use the stencil design that is provided along with the stencil jig, hot plate, and solder paste. Otherwise, use a soldering iron and rely on flux!

After you are done building the core and mantle PCBs, there are example firmware files provided. Please checkout the firmware_example folder for more details. (Unfortunately, I haven't gotten to QMK yet, so that will have to wait for a bit)

Required PCBs to upload

For PCBs, you will need the following:

  • Minimum 2 core PCBs for left and right hands
  • At least 14 mantle PCBs, 7 per core PCB
    • To save on cost, you may want to just stick with 20 of one type of mantle. 5 or 4 rows are usually enough

NOTE: For the Core PCBs, you wil need to choose if you want I2C only or with a shift register starting from release v2.0.0. If you want to minimize components needed and you are sure that you have an ATMEGA microcontroller, you should choose I2C only. If you are not sure, you should choose I2C with shift register and just get the 74HC595A.

BOM

Required

  • (If using shift register version) 2x 74HC595A SOIC-16 shift registers, though you may want extras just in case
  • 28 x 10 position JST SH individual wires and connectors (preferrably 10cm long). Aliexpress has these with different colors like cable mods.
    • NOTE: For these links, they come from the same seller. Contact the seller after placing a temporary order to reduce shipping costs before paying!
    • Wires: https://www.aliexpress.us/item/3256802676433370.html (choose colors, 10 cm, and double head)
      • For 5 rows, 10 cm is typically enough; you may be surprised at how far the columns can go with this. However, if you plan on changing the case design, you may need 15 cm if your columns need to go farther.
    • Connectors: https://www.aliexpress.us/item/3256802084257935.html (choose 10 pin and SMD Horizontal)
  • Parts that can be found from Typeractive.xyz:
    • 2 x EVQPUC02K reset button
    • 2 x SSSS811101 (alternatively on Aliexpress, MSK-12C01 or SW-12C01N-GY18)
    • 2 x 110 mAH battery (since TRRS does not have 5V, you need batteries; may change later)
  • 2 x nice!nano (or Arduino Pro Micro compatible footprint)
  • 56-70 x 1N4148W Diodes (variable number depending on how many keys you want)
  • M3 assorted length screws (see case section for more details)
  • 56-70 x MX / Choc PCB Sockets (1511 for MX or 1350 for Chocs)

Optional

  • 56-68 x SK6812MINI-E for RGB
    • 6 x per column from center of keyboard + 4 for each thumb cluster
      • Example: left and right sides require 80 total for all columns. If you only need 5 columns, then you need 68.
  • 2 x nice!view (or OLED, but won't be aligned to center of microcontroller)
  • 4 x 12 pin low profile socket pin headers for socketed microcontrollers (or similar)
  • 2 x Rotary encoder EC11 (similar to Sofle)
  • 2 x PJ320A headphone jacks
    • NOTE: Due to me wanting to allow for wireless or wired setups, the current PCB design will not charge the other keyboard side. This is because VCC is disconnected to avoid blowing up the charging circuit of the nice!nano. If you need it, bridge the connector near one of the headphone jack pins.
  • 2 x 4.7k SMD resistors for I2C. This is only needed if you plan on using I2C for split communications. There's not enough space for THT versions so uh sorry :(.

Case

Curious to see what it looks like? Behold, OnShape link that contains questionable features that are unlabelled... This case works with the PCBs and allows for sliding rails, but won't lock the rails. A better design is in the works, but this is a good start.

Currently, a better design is in the works to place the rails underneath the PCB instead of above; this would allow the keyboard to be more low profile. For now, this works.

This design requires the following additional parts:

  • Countersunk M3 screws:
    • 24 M3x12mm
      • Mounts down the PCB to each column plate frame into the bottom stopper
    • 3 M3x8mm
      • Holds down the rails for the keyboard
    • 14 M3x6mm
      • Corresponding nuts for the top stopper screws located near the top of each column needed
    • 2 M3x5mm
      • For the holes near the encoder and display

Onshape Document (click on picture):

OnShape

More Pictures

More pictures of build: Development case design:

References

Seismos uses elements found from multiple places for footprints, symbols, and even the idea.

The idea for this keyboard was inspired from the Zebra keyboard. It uses jumper cables but looks to be mainly for having a physical means to determine the layout.

For footprints, they are derived from multiple places:

In the libs folder, there may be other files regarding other footprints such as the EVQPUC02K. This was found on EasyEDA on early attempts to extract the footprints. There is also the MSK-12C02 switch. This was found from mzst's blog website, which was a good reference for the switch, but I ended up using the symbol and combined with the other footprint found from EasyEDA. Archived here as well bvecause it is nice to have a backup of it.

For firmware, there are QMK, ZMK, and KMK. Only QMK has support for shift registers at the moment but I will get to the other firmwares at some point. QMK's firmware is somewhat based from the Sofle code already on the qmk_firmware, especially the oled implementation, which is untested. Also, the LICENSE may need to be updated; will check this later.

Parts

100
QtyValueFootprintReferences
341N4148WDiode_SMD:D_SOD-123D1, D1, D2, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21 +18
34Switch_SK6812-E_DiodeSeismos-libs:Switch_SK6812-E_DiodeSW1, SW1, SW2, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21 +18
7SM09B-SRSS-TB(LF)(SN)Seismos-libs:CONN-SMD_10P-P1.00_SM10B-SRSS-TB-LF-SNJ1, J2, J3, J4, J5, J6, J7
6SK6812-ESeismos-libs:SK6812-ELED1, LED2, LED3, LED4, LED5, LED6
6SM10B-SRSS-TB_(LF)(SN)Seismos-libs:CONN-SMD_10P-P1.00_SM10B-SRSS-TB-LF-SNJ1, J8, J9, J10, J11, J12
4Hole_M3_3.2mmSeismos-libs:Hole_M3_3.2mm, 2, 4, 4
2,
2LOGOSeismos-libs:ReSummit_LogoG***, G***
1EVQPUC02KSeismos-libs:SW-SMD_EVQPUD02KSW3

The 96 most common of 100 parts.

More from ReSummit/Seismos

7
  • 2 layers154.5 × 105.5 mm(OLD) Seismos CoreStencil, the printed circuit board in 3D

    (OLD) Seismos CoreStencil

    ReSummit/Seismos

    A split keyboard that evolves the concept of the Zebra keyboard, but fancier

    93 parts18GPL-3.0
  • 2 layers147 × 78 mmSeismos 5CoreLShift, the printed circuit board in 3D

    Seismos 5CoreLShift

    ReSummit/Seismos

    A split keyboard that evolves the concept of the Zebra keyboard, but fancier

    32 parts18GPL-3.0
  • 2 layers147 × 78 mmSeismos 5CoreL, the printed circuit board in 3D

    Seismos 5CoreL

    ReSummit/Seismos

    A split keyboard that evolves the concept of the Zebra keyboard, but fancier

    30 parts18GPL-3.0
  • 2 layers147 × 78 mmSeismos CoreR, the printed circuit board in 3D

    Seismos CoreR

    ReSummit/Seismos

    A split keyboard that evolves the concept of the Zebra keyboard, but fancier

    27 parts18GPL-3.0
  • 2 layers107.5 × 76 mmSeismos 4-Rhythm, the printed circuit board in 3D

    Seismos 4-Rhythm

    ReSummit/Seismos

    A split keyboard that evolves the concept of the Zebra keyboard, but fancier

    22 parts18GPL-3.0
  • 2 layers19 × 105.4 mmSeismos 5-Key, the printed circuit board in 3D

    Seismos 5-Key

    ReSummit/Seismos

    A split keyboard that evolves the concept of the Zebra keyboard, but fancier

    14 parts18GPL-3.0
  • 2 layers38 × 48.4 mmSeismos 4-Thumb, the printed circuit board in 3D

    Seismos 4-Thumb

    ReSummit/Seismos

    A split keyboard that evolves the concept of the Zebra keyboard, but fancier

    12 parts18GPL-3.0

Similar boards

  • 4 layers55 × 55 mmDrone PCB FC, the printed circuit board in 3D

    Drone PCB FC

    Ethansuttor/drone_PCB

    An 80×80 mm STM32F405 flight controller for a 4S freestyle quad, running Betaflight off a custom target I wrote.

    90 parts
  • 4 layers35 × 35 mmCanonical, the printed circuit board in 3D

    Canonical

    AnasSarkiz/smart-nema14-motor-controller

    STEPPERONLINE 14HM11-0404S controller — unrouted work-in-progress prototype; mechanical and electrical qualification pending

    213 parts
  • 4 layers64 × 80 mmIris brainstem, the printed circuit board in 3D

    Iris brainstem

    HeyPCB/iris-brainstem

    Iris Brainstem: power and servo hub of the Iris robot head. 9 V USB-C PD in, 6 V / 5 A servo rail in stitched copper zones (measured), 5 V rail, half-duplex servo bus with ten ports, speaker amp.

    97 partsCERN-OHL-S-2.0
  • 4 layers80 × 40 mmIris cortex, the printed circuit board in 3D

    Iris cortex

    HeyPCB/iris-cortex

    Iris Cortex: head controller of the Iris robot head. ESP32-S3 (16 MB flash, 8 MB PSRAM), OV2640 eye-camera FPC, iris-ring LED drivers, harness hub.

    77 partsCERN-OHL-S-2.0
  • 4 layers58 × 45 mmMicroduck CM4 Carrier R13, the printed circuit board in 3D

    Microduck CM4 Carrier R13

    ldcyes/OpenDuck

    已完成可编辑原理图、真实四层 PCB 和本地库。阶梯板面积 4510 mm²,比原 65×60 + 32×30 mm 两板总面积 4860 mm² 少 350 mm²(7.20%)。原 TDK 模块本体、四个安装孔和原 TDK 器件位置保留,回生电容采用原料号卧装,J1 因实际拔插通道冲突改为同系列 BM08 顶插。当前为工程候选,未制造,未完成热、回生瞬态、低电量或行走验收。

    46 parts
  • 2 layers215.1 × 85 mmLe oeuf, the printed circuit board in 3D

    Le oeuf

    eggsworks/le-oeuf-v2

    An ultra-low profile (Kailh PG1316S) keyboard inspired by Le Chiffre.

    110 parts8CERN-OHL-S-2.0
  • 4 layers119 × 63.2 mmOpenChordM1, the printed circuit board in 3D

    OpenChordM1

    FugLong/OpenChord

    An open-source music device for portable, expressive, and extensible audio creation.

    75 parts3MIT

Questions

How big is the Seismos 5CoreStencil PCB?

It measures 154.5 × 105.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Seismos 5CoreStencil use?

100 parts, built around the 1N4148W, SM09B-SRSS-TB(LF)(SN), SK6812-EC20 and SM10B-SRSS-TB(LF)(SN). 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 Seismos 5CoreStencil KiCad files?

From the ReSummit/Seismos repository on GitHub, at the commit this page was made from: the board is pcbs/Core PCBs (Mantles)/Stencil/Seismos_5CoreStencil/Seismos_5CoreStencil.kicad_pcb and its schematic pcbs/Core PCBs (Mantles)/5 Key Core (Using Shift Register)/Seismos_5CoreLShift/Seismos_5CoreLShift.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Seismos 5CoreStencil design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).