Skip to the content
2 layers94.9 × 76 mmToadsTempest, the printed circuit board in 3D

Super small custom 42-keys column-staggered ergonomic mechanical keyboard powered by CH552T microcontroller, created for pocket keyboard design contest #00

Size
94.9 × 76 mm
Copper layers
2
Thickness
1.6 mm
Parts
113
Nets
94
Pads
362
Tracks, vias
992, 133
Pours
46
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
1 Sep 2024
Updated
18 Sep 2024

Overview

ToadsTempest is an open-source printed circuit board by tikinson, from the tikinson/ToadsTempest repository on GitHub, published under the CC0-1.0 licence. It is a 2-layer board of 94.9 × 76 mm with 113 parts on 94 nets, routed with 992 tracks and 133 vias.

It is built around the CH552T, USBLC6-2SC6 and PMEG2010EA. Its parts include 42 switches, 22 diodes, 3 resistors, 2 capacitors and 2 ICs. It belongs with the keyboards and input boards and the 8051 (CH55x, STC, AT89) boards of this library.

Main components

3

README

README.md

ToadsTempest

Intro

I want to be savage, I like Jiraiya a lot, I want to participate in a challenge. This project is in intersection of those three ideas. Also I was surprised about possibilities of F.A.K. and resourses like Keyboard Builders' Digest.

So, after some times I made this:

Super small custom 42-keys column-staggered ergonomic mechanical keyboard powered by CH552T microcontroller, created for pocket keyboard design contest #00

Top View of the Keyboard

Idea

My idea was to design a keyboard that could offer a typing experience comparable to keyboards using Novelkeys Cream Clickie switches. I accidentally stumbled upon Teardown video and thought it might be interesting to try to create something similar for the contest. I found some affordable buttons that work with similar membranes, which reminded me of buttons from old mobile phones. If you place an actuator above them and organize the space to conveniently place springs, it could resemble (maybe?) the Novelkeys Cream Clickie switches.

There wasn’t enough vertical space for such a design, so I simplified it as much as possible in my mind.

Additionally, I got excited about the idea of using a transparent PCB. This could add a unique aesthetic while allowing the internal components and wiring to be visible, making the design even more interesting. Unfourtunatly, that's not so cheap. So maybe i'll save idea of acrylic 'sandwich' with transparent PCB for next projects.

Prototype

So there is a prototype! Some fails done, some lessons learned. Top View Bottom View BAV70 diodes, CH555T controller, either FAK firmware... It's all mindblowing things for person, that have done only one PCB in entire life =)

I had a bit of a rough time with sandpaper, and honestly, the outline for laser cutting needs further refinement. Maybe I need to change the approach altogether. Some things that i want to say about the prototype:

  • You need as much graphical information as possible in different layers in KiCad of the footprints; this will allow creation of very precise outlines in the future. So, even if there is some error accumulation, it will be much smaller.

  • Castellated holes on PCBs can (and actually do) differ from the real board. It seems this wasn't the best decision, but it was quite interesting.

  • Colored acrylic and transparent acrylic are two different things.

  • Directly copying the button layout from a previous project was a mistake.i

  • Always check footprints against the manufacturer's data.

  • LEDs, at least for indicating whether the keyboard is connected to the computer.

  • Don’t mix up the pins; otherwise, you’ll have to solder wires and cut traces on the PCB.

  • A switch made from acrylic is not very reliable.

  • Individual switches are better than all switches in one housing.

  • You can try larger springs with higher actuation force.

  • Don't forget to connect GND =)

  • Creating only half of the PCB but making it mirrorable instead of a whole PCB was a very interesting experience. It would be great to design a keyboard in the future that can be both monoblock and split, depending on the user's preference.

BOM

DesignatorFootprintQuantityValueLCSC Part #Unit PriceTotal Price
BOOT, RESET, SW1-SW42BZCN-tsc00344BOOT, RESET, SW_PushC115357€ 0.0122€ 0.5368
C1, C20402_Handsoldering2100nFC1525€ 0.0011€ 0.0022
D1-D21SOT-23_Handsoldering21BAV70_SmallC727123€ 0.0072€ 0.1512
D220402_Handsoldering1PMEG2010EAC2837790€ 0.0239€ 0.0239
F10402_Handsoldering1500mAC210357€ 0.0305€ 0.0305
J1USB_C_Receptacle_HRO_TYPE-C-31-M-121USB_C_Receptacle_USB2.0C2765186€ 1.2500€ 1.2500
R1, R20402_Handsoldering25.1kC25905€ 0.0005€ 0.0010
R30402_Handsoldering110kC25744€ 0.0005€ 0.0005
U1SOT-23-61USBLC6-2SC6C2687116€ 0.0299€ 0.0299
U2TSSOP-20_4.4x6.5mm_P0.65mm1CH552TC111367€ 0.4678€ 0.4678
Springs (42 units)-42-C22365223€ 0.0276€ 1.1592
Round Standoff M2 (8 units)-8-AliExpress€ 0.0718€ 0.5744
Hexagon Head Screws M2 (16 units)-16-AliExpress€ 0.0286€ 0.4576
Silicone Feet (7 units)-7-Amazon€ 0.0300€ 0.2100
PCB Fabrication (for 2 PCBs)-2-jlcpcb€ 0.500€ 1.00
Acrylic Sheet-1-ebay€ 11.88€ 11.88
Laser Cutting-1-Local Fablab€ 7.45€ 7.45
Total Cost€ 25.2740

Prices are excluding supplier shipping costs.

Keyboard Layout

my fork (configs in branch)

Layer 0: QWERTY
TABQWERTYUIOPESC
LSFTASDFGHJKL;'
LCTLZXCVBNM,./LALT
   SPCMO1LGUIBSPCMO2ENT
  • MO1: Layer Toggle (Layer 1)
  • MO2: Layer Toggle (Layer 2)

Layer 1: Function
F1F2F3F4F5F6F7F8F9F10F11F12
LSFTHOMEPGDNPGUPENDTTTTTTTTLEFTDOWNUPRGHTTTTT
LCTLTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
   SPCXXXXLGUIBSPCXXXXENT

Layer 2: Numeric
TAB1234567890ESC
LSFTTTTTTTTTTTTTTTTTTTTT-=`[]\
LCTLTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
   SPCXXXXLGUIBSPCXXXXENT

CONCLUSIONS

Miniature keyboards are an exciting adventure. The development process keeps you on your toes and doesn't let you sleep.

Even though I didn’t achieve a very pleasant typing experience (I’d say the prototype turned out terribly, with my maximum typing speed being 6 words per minute compared to 46 words per minute on my daily driver keyboard 🐌), it was still incredibly interesting! I really like the appearance of the keyboard despite its flaws.

Using laser cutting can significantly impact the project budget, so perhaps the next round will explore additive manufacturing technologies. I can already imagine the rituals with a 3D printer! 😄

It seems that keyboard development is the most balanced hobby for me. There’s enough challenge, and much of it is done with pleasure. It’s pretty cool.

I want to highlight how fascinating, thrilling, and rewarding the development, resources, and projects that inspired me have been. The firmware was so easy to configure, and even though I wasn’t familiar with the Nickel language, adapting it using examples from the repository was engaging. I am also very impressed by the zilpzalp project. I need to get a board for myself; it is very elegant and made with love. I found a lot of inspiration in this project!

Jiraiya

Parts

113
QtyValueFootprintReferences
42SW_PushTKN_board_lib:BZCN-tsc003SW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +26
23SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1, JP2, JP10, JP11, JP12, JP13, JP14, JP15, JP16, JP17, JP18, JP19, JP20, JP21, JP22, JP23 +7
21BAV70_SmallPackage_TO_SOT_SMD:SOT-23_HandsolderingD1, D2, D3, D4, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21 +5
11MountingHole_Padreversable keeb parts:castellated padH1, H2, H3, H4, H5, H6, H7, H8, H9, H10, H11
2100nFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC1, C2
25.1kResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR1, R2
110kResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR3
1500mAFuse:Fuse_0402_1005Metric_Pad0.77x0.64mm_HandSolderF1
1BOOTTKN_board_lib:BZCN-tsc003BOOT
1CH552TPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU2
1PMEG2010EADiode_SMD:D_0402_1005Metric_Pad0.77x0.64mm_HandSolderD22
1RESETTKN_board_lib:BZCN-tsc003RST
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U1
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

The 109 most common of 113 parts.

Similar boards

  • 2 layers143.6 × 139.6 mmKazhan oldCopy, the printed circuit board in 3D

    Kazhan oldCopy

    tikinson/kazhan

    custom 28-keys ergonomic mechanical keyboard powered by CH552T microcontroller

    98 partsGPL-3.0
  • 2 layers282.6 × 90.8 mmAlufo, the printed circuit board in 3D

    Alufo

    bgkendall/Alufo

    Small split keyboard using stacked one-layer aluminium core boards with an on-board CH552T controller.

    94 partsCERN-OHL-S-2.0
  • 2 layers209.8 × 147 mmKicad miao panel, the printed circuit board in 3D

    Kicad miao panel

    kilipan/miao

    A cheap and hand-solderable drop-in replacement for the XIAO using ch552t

    2,645 parts33CERN-OHL-S-2.0
  • 2 layers283 × 100 mm0xLM, the printed circuit board in 3D

    0xLM

    llmerlos/0xLM

    PICCTRL 0xLM - 6x3+3 Split Keyboard with onboard CH559

    100 parts17CERN-OHL-P-2.0
  • 2 layers193.5 × 116.6 mmButterfly, the printed circuit board in 3D

    Butterfly

    ThePurox/Hexapoda

    The electronic design is inspired by the MIAO MCU board.

    67 parts13
  • 2 layers227.3 × 84.9 mmKicad chiffchaff, the printed circuit board in 3D

    Kicad chiffchaff

    kilipan/chiffchaff

    104 parts3CERN-OHL-S-2.0
  • 4 layers100 × 100 mmFarmMesh Node, the printed circuit board in 3D

    FarmMesh Node

    chinawrj/FarmMesh-Node

    Developing an integrated hardware and software solution for farm-wide Mesh networking: RP2350B/ESP32-C5 nodes, firmware, network protocols, and Wi-Fi/BLE sensor access.

    164 parts
  • 2 layers207.8 × 57.2 mmKicad ch552t, the printed circuit board in 3D

    Kicad ch552t

    kilipan/tsuru

    67 parts29CERN-OHL-S-2.0

Questions

How big is the ToadsTempest PCB?

It measures 94.9 × 76 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ToadsTempest use?

113 parts, built around the CH552T, USBLC6-2SC6 and PMEG2010EA. 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 ToadsTempest KiCad files?

From the tikinson/ToadsTempest repository on GitHub, at the commit this page was made from: the board is Toad'sTempest.kicad_pcb and its schematic Toad'sTempest.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ToadsTempest design in my own project?

Its repository publishes it under the CC0-1.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).