Skip to the content
2 layers271 × 110.5 mmKeyboard, the printed circuit board in 3D

Double Action Keyboard firmware for Teensy microcontrollers

Size
271 × 110.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
223
Nets
173
Pads
1,079
Tracks, vias
1,517, 24
Pours
2
Routed
Yes
KiCad
KiCad 4
Created
4 Mar 2017
Updated
20 Nov 2022

Overview

Keyboard is an open-source printed circuit board by jlidauer, from the jlidauer/DAK-FW repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 271 × 110.5 mm with 223 parts on 173 nets, routed with 1,517 tracks and 24 vias.

Its parts include 139 diodes, 13 resistors, 2 connectors and 1 IC. It belongs with the keyboards and input boards and the NXP (LPC, Kinetis, i.MX RT) boards of this library.

README

README.md

DAK

Double Action Keyboard Firmware

This firmware is used for Double Action Keyboards with Teensy microcontrollers. Currently the firmware provides two independed layers (normal-layer and FN-layer), both of these layers support double action (first action, second action). This means that each double action key can be configured to have up to four independent actions. The firmware is developed using the Arduino IDE with the Teensyduino add-on.

Double Action Keyboard PCB V1.0

An example implementation a double action keyboard PCB can be found in the PCB directory.

What is a Double Action Keyboard?

A double action keyboard has switches that have two physical positions (two steps). Each key has two different functions that can be triggered without pressing modifier keys, this makes typing of special characters easier. For example, when pressing a key one step down, the keyboard could send a normal key stroke (e.g., KEY_A), and if the same key would be pressed two steps down instead, the keyboard could send the key combination of a special character (e.g., ALTGR + KEY_9).

More info can be found in the Wiki: Building a Double Action Keyboard.

Compatible microcontrollers:

In principle all Teensy microcontrollers with keyboard funtionality should work.

The firmware has been tested with the following microcontrollers:

  • Teensy 3.2
  • Teensy-LC

How to use this firmware?

See the Wiki for instructions: Getting Started

Parts

223
QtyValueFootprintReferences
1361N4148DAK_lib:diodeDO35D1, D10, D100, D101, D102, D103, D104, D105, D106, D107, D108, D109, D110, D111, D112, D113 +120
115kDAK_lib:resistorR1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11
2324DAK_lib:resistorR12, R13
1btn2:via_0.6mm
1#$DAK_lib:Double_Action_SwitchB28
1,DAK_lib:Double_Action_SwitchB51
1.DAK_lib:Double_Action_SwitchB52
1ADAK_lib:Double_Action_SwitchB30
1ALTGRDAK_lib:Double_Action_SwitchB64
1BDAK_lib:Double_Action_SwitchB48
1BKSPDAK_lib:Double_Action_SwitchB61
1CDAK_lib:Double_Action_SwitchB46
1CLKDAK_lib:Double_Action_SwitchB29
1DDAK_lib:Double_Action_SwitchB32
1DELDAK_lib:Double_Action_SwitchB14
1D_SmallDAK_lib:diodeDO35D11
1EDAK_lib:Double_Action_SwitchB18
1ENDDAK_lib:Double_Action_SwitchB36
1ENTERDAK_lib:Double_Action_SwitchB60
1ESCDAK_lib:Double_Action_SwitchB1
1FDAK_lib:Double_Action_SwitchB33
1F1DAK_lib:Double_Action_SwitchB2
1F10DAK_lib:Double_Action_SwitchB11
1F11DAK_lib:Double_Action_SwitchB12
1F12DAK_lib:Double_Action_SwitchB13
1F2DAK_lib:Double_Action_SwitchB3
1F3DAK_lib:Double_Action_SwitchB4
1F4DAK_lib:Double_Action_SwitchB5
1F5DAK_lib:Double_Action_SwitchB6
1F6DAK_lib:Double_Action_SwitchB7
1F7DAK_lib:Double_Action_SwitchB8
1F8DAK_lib:Double_Action_SwitchB9
1F9DAK_lib:Double_Action_SwitchB10
1FN1DAK_lib:Double_Action_SwitchB58
1FN2DAK_lib:Double_Action_SwitchB62
1GDAK_lib:Double_Action_SwitchB34
1GUIDAK_lib:Double_Action_SwitchB56
1HDAK_lib:Double_Action_SwitchB37
1HOMEDAK_lib:Double_Action_SwitchB22
1IDAK_lib:Double_Action_SwitchB25
1JDAK_lib:Double_Action_SwitchB38
1KDAK_lib:Double_Action_SwitchB39
1LDAK_lib:Double_Action_SwitchB40
1LED_leftDAK_lib:LED_D3.0mmD138
1LED_rightDAK_lib:LED_D3.0mmD139
1LaltDAK_lib:Double_Action_SwitchB57
1LctrlDAK_lib:Double_Action_SwitchB55
1LshiftDAK_lib:Double_Action_SwitchB43
1MDAK_lib:Double_Action_SwitchB50
1MshiftDAK_lib:Double_Action_SwitchB63
1NDAK_lib:Double_Action_SwitchB49
1ODAK_lib:Double_Action_SwitchB26
1OPTDAK_lib:Double_Action_SwitchB65
1PDAK_lib:Double_Action_SwitchB27
1PGDNDAK_lib:Double_Action_SwitchB35
1PGUPDAK_lib:Double_Action_SwitchB21
1QDAK_lib:Double_Action_SwitchB16
1RDAK_lib:Double_Action_SwitchB19
1RctrlDAK_lib:Double_Action_SwitchB66
1RshiftDAK_lib:Double_Action_SwitchB54
1SDAK_lib:Double_Action_SwitchB31
1SKQUCAA010_ALPSDAK_lib:SKQUCAA010_ALPSNB1
1SPACEDAK_lib:Double_Action_SwitchB59
1TDAK_lib:Double_Action_SwitchB20
1TABDAK_lib:Double_Action_SwitchB15
1Teensy-LCDAK_lib:Teensy_LCU1
1UDAK_lib:Double_Action_SwitchB24
1USB_PADSDAK_lib:SMD_pad_2xP2
1USB_miniDAK_lib:USB_mini_BP1
1VDAK_lib:Double_Action_SwitchB47
1WDAK_lib:Double_Action_SwitchB17
1XDAK_lib:Double_Action_SwitchB45
1YDAK_lib:Double_Action_SwitchB23
1ZDAK_lib:Double_Action_SwitchB44
1_-DAK_lib:Double_Action_SwitchB53
1ÄDAK_lib:Double_Action_SwitchB42
1ÖDAK_lib:Double_Action_SwitchB41

Similar boards

  • 2 layers293.3 × 128.5 mmTwoshot, the printed circuit board in 3D

    Twoshot

    tpcarlson/synth-diy

    Mostly Eurorack projects

    223 parts107
  • 2 layers99.1 × 99.1 mmPower supply panelized, the printed circuit board in 3D

    Power supply panelized

    thebiguno/microcontroller-projects

    A home for a bunch of microcontroller projects which don't warrant their own repos.

    223 parts75
  • 2 layers101.6 × 147.3 mmKarabas pro revER, the printed circuit board in 3D

    Karabas pro revER

    andykarpov/karabas-pro

    FPGA based retrocomputer with FDD and HDD controllers

    223 parts37MIT
  • 2 layers115.5 × 96.2 mmClosed deck x4, the printed circuit board in 3D

    Closed deck x4

    OpenLogicEFI/Hardware

    Hardware is based off an open source project called Speeduino by Josh Stewart.

    223 parts19
  • 2 layers75 × 75 mmSparkFun BMV080 panelized v01b, the printed circuit board in 3D

    SparkFun BMV080 panelized v01b

    embeddedos-org/eCAD-Hardware-Products

    Hardware designs + EE docs + Board datasheets of Multiple products

    223 parts8MIT
  • 2 layers406.4 × 158.6 mmCDS, the printed circuit board in 3D

    CDS

    Cipulot/CDS

    Replacement PCB for the CDS Technology keyboard (CDS-G5CSKB, Topre HiPro).

    223 parts4
  • 2 layers277.2 × 203.3 mmFront Panel, the printed circuit board in 3D

    Front Panel

    Syntaxer04/RC1Computer

    8-Bit Relay Computer inspired by Harry Porter and DipDot

    223 parts4GPL-3.0
  • 2 layers565.3 × 351.3 mmClarinoid devboard, the printed circuit board in 3D

    Clarinoid devboard

    thenfour/Clarinoid

    an electronic wind instrument / clarinet / flute / not sure

    223 parts4

Questions

How big is the Keyboard PCB?

It measures 271 × 110.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Keyboard use?

223 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 Keyboard KiCad files?

From the jlidauer/DAK-FW repository on GitHub, at the commit this page was made from: the board is PCB_V1.0/keyboard.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keyboard 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).