From: Zachary Vance Date: Tue, 8 Apr 2025 21:11:30 +0000 (-0400) Subject: Zorchpad Keyboard Schematic X-Git-Url: https://git.za3k.com/?a=commitdiff_plain;h=0f732a49349b63b07425f22dcc4b3c8be2bf7e8a;p=blog.git Zorchpad Keyboard Schematic --- diff --git a/images/12x5_keyboard.svg b/images/12x5_keyboard.svg new file mode 100644 index 0000000..8c0cb7c --- /dev/null +++ b/images/12x5_keyboard.svg @@ -0,0 +1,20333 @@ + + + +SVG Image created as keyboard_8x8-12x5 View.svg date 2025/04/08 16:27:17 + Image generated by Eeschema-SVG + + + + + + + + + + + + + + + + + + + + +KEY_O2 +KEY_O2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_OS2 +KEY_OS2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SPACE3 +KEY_SPACE3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_EQUALS2 +KEY_EQUALS2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_CTRL2 +KEY_CTRL2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_ALT2 +KEY_ALT2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_MINUS2 +KEY_MINUS2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_I2 +KEY_I2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + + + + + + +KEY_12 +KEY_12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_14 +KEY_14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_QUOTE2 +KEY_QUOTE2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_BACK2 +KEY_BACK2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_LEFT2 +KEY_LEFT2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_PERIOD2 +KEY_PERIOD2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_UP2 +KEY_UP2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_DOWN2 +KEY_DOWN2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_COMMA2 +KEY_COMMA2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_19 +KEY_19 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_17 +KEY_17 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_20 +KEY_20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_18 +KEY_18 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_U2 +KEY_U2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_Y2 +KEY_Y2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_B2 +KEY_B2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_V2 +KEY_V2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_J2 +KEY_J2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_T2 +KEY_T2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_F2 +KEY_F2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_R2 +KEY_R2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_P2 +KEY_P2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_G2 +KEY_G2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + + + + + + +KEY_H2 +KEY_H2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SC2 +KEY_SC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SLASH2 +KEY_SLASH2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SPACE4 +KEY_SPACE4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_E2 +KEY_E2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_W2 +KEY_W2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_D2 +KEY_D2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_X2 +KEY_X2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_M2 +KEY_M2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_S2 +KEY_S2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_C2 +KEY_C2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_TAB2 +KEY_TAB2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_ESC2 +KEY_ESC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_13 +KEY_13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_11 +KEY_11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_FN2 +KEY_FN2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_16 +KEY_16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_15 +KEY_15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_RET4 +KEY_RET4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_Z2 +KEY_Z2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_RET3 +KEY_RET3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_L2 +KEY_L2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_K2 +KEY_K2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_RIGHT2 +KEY_RIGHT2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SHIFT2 +KEY_SHIFT2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + +KEY_N2 +KEY_N2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_A2 +KEY_A2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_Q2 +KEY_Q2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + +Input 1 +Input 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 8 +Input 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 6 +Input 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 2 +Input 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +6 + +6 + + + + + + + + + + + + + + + + + + + + + + + + +Input 3 +Input 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 7 +Input 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + +1 + + + + + + + + + +3 + +3 + + + + + + + + + + + + + + + + + +1 + +1 + + + + + + + + +Input 4 +Input 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 5 +Input 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +2 + +2 + + + + + + + + + + + + + + +2 + +2 + + + + + + + + + + + + + + +3 + +3 + + + + + + + + + + + + + + + + + +4 + +4 + + + + + + +Input 7 +Input 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 6 +Input 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +7 + +7 + + + + + + +4 + +4 + + + + + + + +5 + +5 + + + + + + + + + + + + + + + + + + + +8 + +8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +5 + +5 + + + + + + + + + + + + + + + + + + + +7 + +7 + + + + + + +6 + +6 + + + + + + + + + + + + + + + + + + + + + + + + + +8 + +8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Inputs, Pull-up high + +Inputs, Pull-up high + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Outputs (Low) +Outputs (Low) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_OS2 +KEY_OS2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SPACE3 +KEY_SPACE3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_CTRL2 +KEY_CTRL2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SPACE4 +KEY_SPACE4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + +KEY_MINUS2 +KEY_MINUS2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_EQUALS2 +KEY_EQUALS2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_COMMA2 +KEY_COMMA2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_DOWN2 +KEY_DOWN2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_UP2 +KEY_UP2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_PERIOD2 +KEY_PERIOD2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_LEFT2 +KEY_LEFT2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_RIGHT2 +KEY_RIGHT2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_Z2 +KEY_Z2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SHIFT2 +KEY_SHIFT2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/8x8_keyboard.svg b/images/8x8_keyboard.svg new file mode 100644 index 0000000..fb784e0 --- /dev/null +++ b/images/8x8_keyboard.svg @@ -0,0 +1,18778 @@ + + + +SVG Image created as keyboard_8x8-8x8 View.svg date 2025/04/08 16:27:16 + Image generated by Eeschema-SVG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + +KEY_N1 +KEY_N1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SHIFT1 +KEY_SHIFT1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_RET2 +KEY_RET2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_CTRL1 +KEY_CTRL1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_E1 +KEY_E1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_G1 +KEY_G1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_D1 +KEY_D1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_I1 +KEY_I1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + +KEY_F1 +KEY_F1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_TAB1 +KEY_TAB1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_1 +KEY_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_PERIOD1 +KEY_PERIOD1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_W1 +KEY_W1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + +KEY_RET1 +KEY_RET1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_9 +KEY_9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_M1 +KEY_M1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + +KEY_B1 +KEY_B1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_X1 +KEY_X1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_Z1 +KEY_Z1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_QUOTE1 +KEY_QUOTE1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_ALT1 +KEY_ALT1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_EQUALS1 +KEY_EQUALS1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_K1 +KEY_K1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_L1 +KEY_L1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SC1 +KEY_SC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_P1 +KEY_P1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_3 +KEY_3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_R1 +KEY_R1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_T1 +KEY_T1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_MINUS1 +KEY_MINUS1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_BACK1 +KEY_BACK1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_O1 +KEY_O1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_ESC1 +KEY_ESC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_OS1 +KEY_OS1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_C1 +KEY_C1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_V1 +KEY_V1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_FN1 +KEY_FN1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SPACE1 +KEY_SPACE1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_S1 +KEY_S1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_DOWN1 +KEY_DOWN1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_8 +KEY_8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_10 +KEY_10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_7 +KEY_7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_Y1 +KEY_Y1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_J1 +KEY_J1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_U1 +KEY_U1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_H1 +KEY_H1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_6 +KEY_6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_RIGHT1 +KEY_RIGHT1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SPACE2 +KEY_SPACE2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_COMMA1 +KEY_COMMA1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + + + + + +KEY_Q1 +KEY_Q1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_4 +KEY_4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_2 +KEY_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_UP1 +KEY_UP1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_A1 +KEY_A1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_5 +KEY_5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SLASH1 +KEY_SLASH1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_LEFT1 +KEY_LEFT1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +6 + +6 + + + + + + + + + + + + + + + + + + + + + + + + + +7 + +7 + + + + + + +2 + +2 + + + + + + + + + + + + + + +5 + +5 + + + + + + + + + + + + + + + + + + + +8 + +8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 8 +Input 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 7 +Input 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 6 +Input 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +3 + +3 + + + + + + + + + + + + + + + + + +1 + +1 + + + + + + + + +Input 1 +Input 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4 + +4 + + + + + + +Input 3 +Input 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 4 +Input 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 5 +Input 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Input 2 +Input 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Outputs (Low) +Outputs (Low) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Inputs, Pull-up high + +Inputs, Pull-up high + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + +KEY_CTRL1 +KEY_CTRL1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + +KEY_SHIFT1 +KEY_SHIFT1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + ++3.3V ++3.3V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1K +1K + + + + + + + + + + + + + + +KEY_MINUS1 +KEY_MINUS1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_OS1 +KEY_OS1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SPACE1 +KEY_SPACE1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_Z1 +KEY_Z1 + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_EQUALS1 +KEY_EQUALS1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_FN1 +KEY_FN1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_BACK1 +KEY_BACK1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_PERIOD1 +KEY_PERIOD1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_COMMA1 +KEY_COMMA1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_SPACE2 +KEY_SPACE2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_UP1 +KEY_UP1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_DOWN1 +KEY_DOWN1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_LEFT1 +KEY_LEFT1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +KEY_RIGHT1 +KEY_RIGHT1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/posts/zorchpad-keyboard3.md b/posts/zorchpad-keyboard3.md new file mode 100644 index 0000000..ce67075 --- /dev/null +++ b/posts/zorchpad-keyboard3.md @@ -0,0 +1,77 @@ +--- +author: admin +categories: +- Technical +date: 2025-04-08 02:00:00 +tags: +- zorchpad +- electronics +- schematic +title: 'Zorchpad: Keyboard schematic' +--- +The [Zorchpad](/tag/zorchpad/) is a low-power computer I'm working on. Standard keyboards unforunately need too much power, so I'm making my own. + +The keyboard layout I'm using has ~60 keys in a 12x5 grid. + +![caption: 12x5 ortholinear layout](/wp-content/uploads/2024/05/keyboard57.png) + +The standard way to wire a keyboard is to use a set of wires -- one for each row, one for each column. That's 12 + 5 wires = 17 wires. By driving one of 12 outputs low for a column, and checking each of 5 inputs, we can see which (if any) of the 5 keys in the column are being pressed. We then rapidly switch which of the 12 outputs is low, much faster than human speed, to see which of the 60 keys is pressed. + +We'd like to support **n-key-rollover**, a term which means we can detect any number of keys being pressed at the same time. We don't really need lots of letter keys pressed at once, but this lets us not treat keys like Shift or Control specially. It doesn't cost much, and makes the hardware and software simpler. + +Wiring things up the simplest way results in **ghosting**, a problem where if you press several keys at once, others can erroneously appear pressed as well. Installing a diode on each key solves the issue. Easy-peasy. + +But we have a problem. My microcontroller doesn't have 17 free pins. So my plan is to instead use **shift registers**. + +A **serial-in, parallel-out** shift register lets you send 8 bits, one at a time, and then a special pulse (the "latch"). This sets 8 different output channels. + +A **parallel-in, serial-out** An input shift register lets you do the reverse--you set a "clock" pin to read from 8 input channels to an internal buffer, then read one of the stored bits at a time. + +Using 1 SIPO and 1 PISO gives us 8 pins out and 8 pins in. It takes 3 pins per shift register. Some can be shared, so the total might be less than 6, but we have 6 free pins. + +We need 12 outputs, not 8. How do we deal with that? One valid approach is to use 2 SIPO (or 2 PISO) shift registers. But I noticed that we only have 60 keys on the keyboard -- in theory 8 inputs x 8 outputs should be plenty. And in fact, we can rearrange things. + +What if we take a 8x8 layout, which we know we can wire, and slice it up? + +``` +01234567 <-- column # + +AAAAAAAA 0 <--- row # +AAAAAAAA 1 +AAAAAAAA 2 +AAAAAAAA 3 +AAAAAAAA 4 +BBBBCCCC 5 +BBBBCCCC 6 +BBBB---- 7 +``` + +Re-arranging the pieces, we can make our 12x5 keyboard: + +``` + 01234567 0123 <- column # + +row# --> 0 AAAAAAAA BBBB 5 <-- row # + 1 AAAAAAAA BBBB 6 + 2 AAAAAAAA BBBB 7 + + 3 AAAAAAAA CCCC 5 + 4 AAAAAAAA CCCC 6 + + 4567 <- column # + +``` + +(Thanks for splud of #electronics for this specific arrangement.) + +Looks great. All I need to do is hand-wire that layout onto a keyboard. + +![caption: a keypad someone else hand-wired](/wp-content/uploads/2024/05/image.png) + +Okay... that looks hard. I really don't want to do the whole thing and realize I wired it wrong. Let's actually write out an entire schematic to make sure I do the right thing. We have a lot of complicated wiring and diode directions and so on. + +![logical 8x8 layout](8x8_keyboard.svg) + +![physical 12x5 layout](12x5_keyboard.svg) + +All right, I'm ready to assemble and solder. Wish me luck!