summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyboards/kinesis/Makefile79
-rw-r--r--keyboards/kinesis/config.h174
-rw-r--r--keyboards/kinesis/docs/kicad/kinesis-cache.lib232
-rw-r--r--keyboards/kinesis/docs/kicad/kinesis.pro83
-rw-r--r--keyboards/kinesis/docs/kicad/kinesis.sch634
-rw-r--r--keyboards/kinesis/docs/photos/P1050573.jpgbin0 -> 177711 bytes
-rw-r--r--keyboards/kinesis/docs/photos/P1050574.jpgbin0 -> 343978 bytes
-rw-r--r--keyboards/kinesis/docs/photos/P1050575.jpgbin0 -> 266771 bytes
-rw-r--r--keyboards/kinesis/docs/readme.txt52
-rw-r--r--keyboards/kinesis/docs/schematic.pngbin0 -> 175014 bytes
-rw-r--r--keyboards/kinesis/keymaps/default/Makefile21
-rw-r--r--keyboards/kinesis/keymaps/default/config.h8
-rw-r--r--keyboards/kinesis/keymaps/default/keymap.c116
-rw-r--r--keyboards/kinesis/keymaps/default/readme.md1
-rw-r--r--keyboards/kinesis/keymaps/programmer/Makefile21
-rw-r--r--keyboards/kinesis/keymaps/programmer/config.h8
-rw-r--r--keyboards/kinesis/keymaps/programmer/keymap.c245
-rw-r--r--keyboards/kinesis/keymaps/programmer/readme.md2
-rw-r--r--keyboards/kinesis/kinesis.c106
-rw-r--r--keyboards/kinesis/kinesis.h67
-rw-r--r--keyboards/kinesis/matrix.c228
-rw-r--r--keyboards/kinesis/readme.md42
22 files changed, 2119 insertions, 0 deletions
diff --git a/keyboards/kinesis/Makefile b/keyboards/kinesis/Makefile
new file mode 100644
index 0000000000..ca077e6366
--- /dev/null
+++ b/keyboards/kinesis/Makefile
@@ -0,0 +1,79 @@
+
+## Project specific files
+
+SRC= matrix.c
+
+# MCU name
+MCU = at90usb1286
+#MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+OPT_DEFS += -DBOOTLOADER_SIZE=1024
+
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE ?= no # Console for debug(+400)
+COMMAND_ENABLE ?= no
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE ?= no # USB Nkey Rollover
+BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
+MIDI_ENABLE ?= no # MIDI controls
+UNICODE_ENABLE ?= no # Unicode
+BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output should be port E6, current quantum library hardcodes C6, which we use for programming
+CUSTOM_MATRIX=yes # need to do our own thing with the matrix
+
+ifndef QUANTUM_DIR
+ include ../../Makefile
+endif
+
+
diff --git a/keyboards/kinesis/config.h b/keyboards/kinesis/config.h
new file mode 100644
index 0000000000..8f1fdbdb6c
--- /dev/null
+++ b/keyboards/kinesis/config.h
@@ -0,0 +1,174 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER You
+#define PRODUCT kinesis-advantage
+#define DESCRIPTION A custom keyboard
+
+// Mouse
+#define MOUSEKEY_DELAY 20
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_MAX_SPEED 4
+#define MOUSEKEY_TIME_TO_MAX 20
+#define MOUSEKEY_WHEEL_MAX_SPEED 1
+#define MOUSEKEY_WHEEL_DELTA 1
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 1
+
+/* key matrix size */
+#define MATRIX_ROWS 16
+#define MATRIX_COLS 8
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+//Passed through the port multipler, so 4 pins =16
+#define MATRIX_ROW_PINS { F0,F1, F2, F3 }
+
+// May be upside down.
+#define MATRIX_COL_PINS { B0,B1, B2, B3, B4, B5, B6, B7 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* key combination for magic key command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP1 H
+//#define MAGIC_KEY_HELP2 SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0_ALT1 ESC
+//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER PAUSE
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+#endif
diff --git a/keyboards/kinesis/docs/kicad/kinesis-cache.lib b/keyboards/kinesis/docs/kicad/kinesis-cache.lib
new file mode 100644
index 0000000000..f798d39d6c
--- /dev/null
+++ b/keyboards/kinesis/docs/kicad/kinesis-cache.lib
@@ -0,0 +1,232 @@
+EESchema-LIBRARY Version 2.3 Date: Wednesday, November 12, 2014 'pmt' 10:15:19 pm
+#encoding utf-8
+#
+# AT90S4414-P
+#
+DEF AT90S4414-P IC 0 40 Y Y 1 F N
+F0 "IC" -850 1880 40 H V L BNN
+F1 "AT90S4414-P" 450 -1950 40 H V L BNN
+F2 "DIL40" 0 0 30 H V C CIN
+F3 "~" 0 0 60 H V C CNN
+ALIAS AT90S8515-P
+$FPLIST
+ 40DIP-ELL600
+ 40dip600
+$ENDFPLIST
+DRAW
+S -850 1850 850 -1850 0 1 10 f
+X (T0)PB0 1 1000 700 150 L 40 40 1 1 B
+X (T1)PB1 2 1000 600 150 L 40 40 1 1 B
+X (AIN0)PB2 3 1000 500 150 L 40 40 1 1 B
+X (AIN1)PB3 4 1000 400 150 L 40 40 1 1 B
+X (~SS~)PB4 5 1000 300 150 L 40 40 1 1 B
+X (MOSI)PB5 6 1000 200 150 L 40 40 1 1 B
+X (MISO)PB6 7 1000 100 150 L 40 40 1 1 B
+X (SCK)PB7 8 1000 0 150 L 40 40 1 1 B
+X ~RESET 9 -1000 1700 150 R 40 40 1 1 I
+X (RXD)PD0 10 1000 -1000 150 L 40 40 1 1 B
+X GND 20 0 -2000 150 U 40 40 1 1 W
+X ALE 30 1000 850 150 L 40 40 1 1 O
+X VCC 40 0 2000 150 D 40 40 1 1 W
+X (TXD)PD1 11 1000 -1100 150 L 40 40 1 1 B
+X (A8)PC0 21 1000 -150 150 L 40 40 1 1 B
+X ICP 31 -1000 -1400 150 R 40 40 1 1 I
+X (INT0)PD2 12 1000 -1200 150 L 40 40 1 1 B
+X (A9)PC1 22 1000 -250 150 L 40 40 1 1 B
+X (AD7)PA7 32 1000 1000 150 L 40 40 1 1 B
+X (INT1)PD3 13 1000 -1300 150 L 40 40 1 1 B
+X (A10)PC2 23 1000 -350 150 L 40 40 1 1 B
+X (AD6)PA6 33 1000 1100 150 L 40 40 1 1 B
+X PD4 14 1000 -1400 150 L 40 40 1 1 B
+X (A11)PC3 24 1000 -450 150 L 40 40 1 1 B
+X (AD5)PA5 34 1000 1200 150 L 40 40 1 1 B
+X (OC1A)PD5 15 1000 -1500 150 L 40 40 1 1 B
+X (A12)PC4 25 1000 -550 150 L 40 40 1 1 B
+X (AD4)PA4 35 1000 1300 150 L 40 40 1 1 B
+X (~WR~)PD6 16 1000 -1600 150 L 40 40 1 1 B
+X (A13)PC5 26 1000 -650 150 L 40 40 1 1 B
+X (AD3)PA3 36 1000 1400 150 L 40 40 1 1 B
+X (~RD~)PD7 17 1000 -1700 150 L 40 40 1 1 B
+X (A14)PC6 27 1000 -750 150 L 40 40 1 1 B
+X (AD2)PA2 37 1000 1500 150 L 40 40 1 1 B
+X XTAL2 18 -1000 1200 150 R 40 40 1 1 B
+X (A15)PC7 28 1000 -850 150 L 40 40 1 1 B
+X (AD1)PA1 38 1000 1600 150 L 40 40 1 1 B
+X XTAL1 19 -1000 800 150 R 40 40 1 1 B
+X OC1B 29 -1000 -1500 150 R 40 40 1 1 W
+X (AD0)PA0 39 1000 1700 150 L 40 40 1 1 B
+ENDDRAW
+ENDDEF
+#
+# ATMEGA16U4-A
+#
+DEF ATMEGA16U4-A U 0 40 Y Y 1 F N
+F0 "U" -950 1700 40 H V C CNN
+F1 "ATMEGA16U4-A" 700 -1500 40 H V C CNN
+F2 "TQFP44" 0 0 35 H V C CIN
+F3 "~" 1100 1100 60 H V C CNN
+ALIAS ATMEGA16U4RC-A ATMEGA32U4-A ATMEGA32U4RC-A
+$FPLIST
+ TQFP44
+$ENDFPLIST
+DRAW
+S -1000 1650 950 -1450 0 1 10 f
+X (INT6/AIN0)PE6 1 1100 -650 150 L 40 40 1 1 B
+X UVCC 2 -450 1800 150 D 40 40 1 1 W
+X D- 3 -1150 100 150 R 40 40 1 1 B
+X D+ 4 -1150 200 150 R 40 40 1 1 B
+X UGND 5 -400 -1600 150 U 40 40 1 1 P
+X UCAP 6 -1150 -50 150 R 40 40 1 1 P
+X VBUS 7 -1150 350 150 R 40 40 1 1 P
+X (SS/PCINT0)PB0 8 1100 1550 150 L 40 40 1 1 B
+X (SCLK/PCINT1)PB1 9 1100 1450 150 L 40 40 1 1 B
+X (PDI/MOSI/PCINT2)PB2 10 1100 1350 150 L 40 40 1 1 B
+X (RXD/INT2)PD2 20 1100 150 150 L 40 40 1 1 B
+X (ADC13/OC1B/OC4B/PCINT13)PB6 30 1100 950 150 L 40 40 1 1 B
+X (ADC1)PF1 40 1100 -950 150 L 40 40 1 1 B
+X (PDO/MISO/PCINT3)PB3 11 1100 1250 150 L 40 40 1 1 B
+X (TXD/INT3)PD3 21 1100 50 150 L 40 40 1 1 B
+X (OC3A/~OC4A~)PC6 31 1100 650 150 L 40 40 1 1 B
+X (ADC0)PF0 41 1100 -850 150 L 40 40 1 1 B
+X (OC0A/OC1C/~RTS~/PCINT7)PB7 12 1100 850 150 L 40 40 1 1 B
+X (XCK1/~CTS~)PD5 22 1100 -150 150 L 40 40 1 1 B
+X (ICP3/CLK0/OC4A)PC7 32 1100 550 150 L 40 40 1 1 B
+X AREF 42 -1150 -850 150 R 40 40 1 1 P
+X ~RESET~ 13 -1150 1550 150 R 40 40 1 1 I
+X GND 23 -50 -1600 150 U 40 40 1 1 W
+X (~HWB~)PE2 33 1100 -550 150 L 40 40 1 1 B
+X GND 43 150 -1600 150 U 40 40 1 1 W
+X VCC 14 -200 1800 150 D 40 40 1 1 W
+X AVCC 24 150 1800 150 D 40 40 1 1 W
+X VCC 34 -100 1800 150 D 40 40 1 1 W
+X AVCC 44 250 1800 150 D 40 40 1 1 W
+X GND 15 -150 -1600 150 U 40 40 1 1 W
+X (ICP2/ADC8)PD4 25 1100 -50 150 L 40 40 1 1 B
+X GND 35 50 -1600 150 U 40 40 1 1 W
+X XTAL2 16 -1150 950 150 R 40 40 1 1 O
+X (T1/~OC4D~/ADC9)PD6 26 1100 -250 150 L 40 40 1 1 B
+X (ADC7/TDI)PF7 36 1100 -1350 150 L 40 40 1 1 B
+X XTAL1 17 -1150 1150 150 R 40 40 1 1 I
+X (T0/OC4D/ADC10)PD7 27 1100 -350 150 L 40 40 1 1 B
+X (ADC6/TDO)PF6 37 1100 -1250 150 L 40 40 1 1 B
+X (OC0B/SCL/INT0)PD0 18 1100 350 150 L 40 40 1 1 B
+X (ADC11/PCINT4)PB4 28 1100 1150 150 L 40 40 1 1 B
+X (ADC5/TMS)PF5 38 1100 -1150 150 L 40 40 1 1 B
+X (SDA/INT1)PD1 19 1100 250 150 L 40 40 1 1 B
+X (ADC12/OC1A/~OC4B~/PCINT12)PB5 29 1100 1050 150 L 40 40 1 1 B
+X (ADC4/TCK)PF4 39 1100 -1050 150 L 40 40 1 1 B
+ENDDRAW
+ENDDEF
+#
+# C
+#
+DEF C C 0 10 N Y 1 F N
+F0 "C" 0 100 40 H V L CNN
+F1 "C" 6 -85 40 H V L CNN
+F2 "~" 38 -150 30 H V C CNN
+F3 "~" 0 0 60 H V C CNN
+$FPLIST
+ SM*
+ C?
+ C1-1
+$ENDFPLIST
+DRAW
+P 2 0 1 20 -80 -30 80 -30 N
+P 2 0 1 20 -80 30 80 30 N
+X ~ 1 0 200 170 D 40 40 1 1 P
+X ~ 2 0 -200 170 U 40 40 1 1 P
+ENDDRAW
+ENDDEF
+#
+# CONN_7
+#
+DEF CONN_7 P 0 40 Y N 1 F N
+F0 "P" -30 0 60 V V C CNN
+F1 "CONN_7" 70 0 60 V V C CNN
+F2 "~" 0 0 60 H V C CNN
+F3 "~" 0 0 60 H V C CNN
+DRAW
+S -100 350 150 -350 0 1 0 N
+X P1 1 -350 300 250 R 50 50 1 1 P I
+X P2 2 -350 200 250 R 50 50 1 1 P I
+X P3 3 -350 100 250 R 50 50 1 1 P I
+X P4 4 -350 0 250 R 50 50 1 1 P I
+X P5 5 -350 -100 250 R 50 50 1 1 P I
+X P6 6 -350 -200 250 R 50 50 1 1 P I
+X P7 7 -350 -300 250 R 50 50 1 1 P I
+ENDDRAW
+ENDDEF
+#
+# GND
+#
+DEF ~GND #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 0 30 H I C CNN
+F1 "GND" 0 -70 30 H I C CNN
+F2 "~" 0 0 60 H V C CNN
+F3 "~" 0 0 60 H V C CNN
+DRAW
+P 4 0 1 0 -50 0 0 -50 50 0 -50 0 N
+X GND 1 0 0 0 U 30 30 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# R
+#
+DEF R R 0 0 N Y 1 F N
+F0 "R" 80 0 40 V V C CNN
+F1 "R" 7 1 40 V V C CNN
+F2 "~" -70 0 30 V V C CNN
+F3 "~" 0 0 30 H V C CNN
+$FPLIST
+ R?
+ SM0603
+ SM0805
+ R?-*
+ SM1206
+$ENDFPLIST
+DRAW
+S -40 150 40 -150 0 1 12 N
+X ~ 1 0 250 100 D 60 60 1 1 P
+X ~ 2 0 -250 100 U 60 60 1 1 P
+ENDDRAW
+ENDDEF
+#
+# USB-MINI-B
+#
+DEF USB-MINI-B CON 0 40 Y Y 1 F N
+F0 "CON" -250 450 60 H V C CNN
+F1 "USB-MINI-B" -50 -500 60 H V C CNN
+F2 "~" 0 0 60 H V C CNN
+F3 "~" 0 0 60 H V C CNN
+$FPLIST
+ USB-Mini-B-Jack
+$ENDFPLIST
+DRAW
+S -350 400 350 -400 0 1 0 N
+X VBUS 1 -550 300 200 R 50 50 1 1 W
+X D- 2 -550 150 200 R 50 50 1 1 B
+X D+ 3 -550 0 200 R 50 50 1 1 B
+X ID 4 -550 -150 200 R 50 50 1 1 B
+X GND 5 -550 -300 200 R 50 50 1 1 W
+X SHELL1 6 550 300 200 L 50 50 1 1 B
+X SHELL2 7 550 150 200 L 50 50 1 1 B
+X SHELL3 8 550 -150 200 L 50 50 1 1 B
+X SHELL4 9 550 -300 200 L 50 50 1 1 B
+ENDDRAW
+ENDDEF
+#
+# VCC
+#
+DEF VCC #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 100 30 H I C CNN
+F1 "VCC" 0 100 30 H V C CNN
+F2 "~" 0 0 60 H V C CNN
+F3 "~" 0 0 60 H V C CNN
+DRAW
+X VCC 1 0 0 0 U 20 20 0 0 W N
+C 0 50 20 0 1 0 N
+P 3 0 1 0 0 0 0 30 0 30 N
+ENDDRAW
+ENDDEF
+#
+#End Library
diff --git a/keyboards/kinesis/docs/kicad/kinesis.pro b/keyboards/kinesis/docs/kicad/kinesis.pro
new file mode 100644
index 0000000000..9f130b5092
--- /dev/null
+++ b/keyboards/kinesis/docs/kicad/kinesis.pro
@@ -0,0 +1,83 @@
+update=Wednesday, November 05, 2014 'pmt' 12:08:47 pm
+version=1
+last_client=pcbnew
+[cvpcb]
+version=1
+NetIExt=net
+[cvpcb/libraries]
+EquName1=devcms
+[general]
+version=1
+[eeschema]
+version=1
+PageLayoutDescrFile=
+SubpartIdSeparator=0
+SubpartFirstId=65
+LibDir=../../../lib/kicad/library
+NetFmtName=
+RptD_X=0
+RptD_Y=100
+RptLab=1
+LabSize=60
+[eeschema/libraries]
+LibName1=power
+LibName2=device
+LibName3=transistors
+LibName4=conn
+LibName5=linear
+LibName6=regul
+LibName7=74xx
+LibName8=cmos4000
+LibName9=adc-dac
+LibName10=memory
+LibName11=xilinx
+LibName12=special
+LibName13=microcontrollers
+LibName14=dsp
+LibName15=microchip
+LibName16=analog_switches
+LibName17=motorola
+LibName18=texas
+LibName19=intel
+LibName20=audio
+LibName21=interface
+LibName22=digital-audio
+LibName23=philips
+LibName24=display
+LibName25=cypress
+LibName26=siliconi
+LibName27=opto
+LibName28=atmel
+LibName29=contrib
+LibName30=valves
+LibName31=custom
+[pcbnew]
+version=1
+LastNetListRead=
+UseCmpFile=1
+PadDrill=1.016000000000
+PadDrillOvalY=1.016000000000
+PadSizeH=1.524000000000
+PadSizeV=1.524000000000
+PcbTextSizeV=1.500000000000
+PcbTextSizeH=1.500000000000
+PcbTextThickness=0.300000000000
+ModuleTextSizeV=1.000000000000
+ModuleTextSizeH=1.000000000000
+ModuleTextSizeThickness=0.150000000000
+SolderMaskClearance=0.000000000000
+SolderMaskMinWidth=0.000000000000
+DrawSegmentWidth=0.200000000000
+BoardOutlineThickness=0.100000000000
+ModuleOutlineThickness=0.150000000000
+[pcbnew/libraries]
+LibDir=../../../lib/kicad/modules
+LibName1=custom
+LibName2=Sockets
+LibName3=Connect
+LibName4=Discret
+LibName5=Divers
+LibName6=Display
+LibName7=LEDs
+LibName8=SMD_Packages
+LibName9=Sockets_DIP
diff --git a/keyboards/kinesis/docs/kicad/kinesis.sch b/keyboards/kinesis/docs/kicad/kinesis.sch
new file mode 100644
index 0000000000..f75335aa08
--- /dev/null
+++ b/keyboards/kinesis/docs/kicad/kinesis.sch
@@ -0,0 +1,634 @@
+EESchema Schematic File Version 2
+LIBS:power
+LIBS:device
+LIBS:transistors
+LIBS:conn
+LIBS:linear
+LIBS:regul
+LIBS:74xx
+LIBS:cmos4000
+LIBS:adc-dac
+LIBS:memory
+LIBS:xilinx
+LIBS:special
+LIBS:microcontrollers
+LIBS:dsp
+LIBS:microchip
+LIBS:analog_switches
+LIBS:motorola
+LIBS:texas
+LIBS:intel
+LIBS:audio
+LIBS:interface
+LIBS:digital-audio
+LIBS:philips
+LIBS:display
+LIBS:cypress
+LIBS:siliconi
+LIBS:opto
+LIBS:atmel
+LIBS:contrib
+LIBS:valves
+LIBS:custom
+LIBS:kinesis-cache
+EELAYER 27 0
+EELAYER END
+$Descr A4 11693 8268
+encoding utf-8
+Sheet 1 1
+Title ""
+Date "13 nov 2014"
+Rev ""
+Comp ""
+Comment1 ""
+Comment2 ""
+Comment3 ""
+Comment4 ""
+$EndDescr
+$Comp
+L C C4
+U 1 1 545804FB
+P 2850 4250
+F 0 "C4" H 2850 4350 40 0000 L CNN
+F 1 "1uF" H 2856 4165 40 0000 L CNN
+F 2 "~" H 2888 4100 30 0000 C CNN
+F 3 "~" H 2850 4250 60 0000 C CNN
+ 1 2850 4250
+ -1 0 0 1
+$EndComp
+$Comp
+L R R3
+U 1 1 545805E8
+P 2500 4000
+F 0 "R3" V 2580 4000 40 0000 C CNN
+F 1 "22" V 2507 4001 40 0000 C CNN
+F 2 "~" V 2430 4000 30 0000 C CNN
+F 3 "~" H 2500 4000 30 0000 C CNN
+ 1 2500 4000
+ 0 -1 -1 0
+$EndComp
+$Comp
+L R R2
+U 1 1 545805FA
+P 2500 3800
+F 0 "R2" V 2580 3800 40 0000 C CNN
+F 1 "22" V 2507 3801 40 0000 C CNN
+F 2 "~" V 2430 3800 30 0000 C CNN
+F 3 "~" H 2500 3800 30 0000 C CNN
+ 1 2500 3800
+ 0 -1 -1 0
+$EndComp
+Entry Wire Line
+ 6450 2450 6550 2550
+Entry Wire Line
+ 6450 2550 6550 2650
+Entry Wire Line
+ 6450 2650 6550 2750
+Entry Wire Line
+ 6450 2750 6550 2850
+Entry Wire Line
+ 6450 2950 6550 3050
+Entry Wire Line
+ 6450 3050 6550 3150
+Entry Wire Line
+ 6450 2850 6550 2950
+Entry Wire Line
+ 6450 3150 6550 3250
+Wire Wire Line
+ 10250 1800 10750 1800
+Entry Wire Line
+ 10750 1800 10850 1900
+Entry Wire Line
+ 10750 1900 10850 2000
+Entry Wire Line
+ 10750 2000 10850 2100
+Entry Wire Line
+ 10750 2800 10850 2900
+Entry Wire Line
+ 10750 2900 10850 3000
+Entry Wire Line
+ 10750 3000 10850 3100
+Entry Wire Line
+ 10750 3100 10850 3200
+Entry Wire Line
+ 10750 3200 10850 3300
+Entry Wire Line
+ 10750 3300 10850 3400
+$Comp
+L AT90S8515-P IC2
+U 1 1 545A62EA
+P 9250 3500
+F 0 "IC2" H 8400 5380 40 0000 L BNN
+F 1 "AT90S8515-P" H 9700 1550 40 0000 L BNN
+F 2 "DIL40" H 9250 3500 30 0000 C CIN
+F 3 "" H 9250 3500 60 0000 C CNN
+ 1 9250 3500
+ 1 0 0 -1
+$EndComp
+NoConn ~ 10250 2650
+Entry Wire Line
+ 10750 3650 10850 3750
+Entry Wire Line
+ 10750 3750 10850 3850
+Entry Wire Line
+ 10750 3850 10850 3950
+Entry Wire Line
+ 10750 3950 10850 4050
+Entry Wire Line
+ 10750 4050 10850 4150
+Entry Wire Line
+ 10750 4150 10850 4250
+Entry Wire Line
+ 10750 4350 10850 4450
+Entry Wire Line
+ 10750 4250 10850 4350
+NoConn ~ 8250 4900
+NoConn ~ 8250 5000
+NoConn ~ 8250 1800
+Wire Wire Line
+ 10250 1900 10750 1900
+Wire Wire Line
+ 10250 2000 10750 2000
+Wire Wire Line
+ 10250 2100 10750 2100
+Wire Wire Line
+ 10250 2200 10750 2200
+Wire Wire Line
+ 10250 2300 10750 2300
+Wire Wire Line
+ 10250 2400 10750 2400
+Wire Wire Line
+ 10250 2500 10750 2500
+Text Label 10350 1800 0 60 ~ 0
+A
+Text Label 10350 1900 0 60 ~ 0
+B
+Text Label 10350 2000 0 60 ~ 0
+C
+Text Label 10350 2100 0 60 ~ 0
+G
+Wire Wire Line
+ 10250 2800 10750 2800
+Wire Wire Line
+ 10250 2900 10750 2900
+Wire Wire Line
+ 10250 3000 10750 3000
+Wire Wire Line
+ 10250 3100 10750 3100
+Wire Wire Line
+ 10250 3200 10750 3200
+Wire Wire Line
+ 10250 3300 10750 3300
+Wire Wire Line
+ 10250 3400 10750 3400
+Wire Wire Line
+ 10250 3500 10750 3500
+Text Label 10350 2800 0 60 ~ 0
+DL2
+Text Label 10350 2900 0 60 ~ 0
+DR1
+Text Label 10350 3000 0 60 ~ 0
+DR2
+Text Label 10350 3100 0 60 ~ 0
+DL1
+Text Label 10350 3400 0 60 ~ 0
+SCL
+Text Label 10350 3500 0 60 ~ 0
+SDA
+Wire Wire Line
+ 10250 3650 10750 3650
+Wire Wire Line
+ 10250 3750 10750 3750
+Wire Wire Line
+ 10250 3850 10750 3850
+Wire Wire Line
+ 10250 3950 10750 3950
+Wire Wire Line
+ 10250 4050 10750 4050
+Wire Wire Line
+ 10250 4150 10750 4150
+Wire Wire Line
+ 10250 4250 10750 4250
+Wire Wire Line
+ 10250 4350 10750 4350
+Text Label 10350 3650 0 60 ~ 0
+R1
+Text Label 10350 3750 0 60 ~ 0
+R2
+Text Label 10350 3850 0 60 ~ 0
+R3
+Text Label 10350 3950 0 60 ~ 0
+R4
+Text Label 10350 4050 0 60 ~ 0
+R5
+Text Label 10350 4150 0 60 ~ 0
+R6
+Text Label 10350 4250 0 60 ~ 0
+R7
+Text Label 10350 4350 0 60 ~ 0
+R8
+Wire Wire Line
+ 10250 4500 10750 4500
+Wire Wire Line
+ 10250 4600 10750 4600
+Wire Wire Line
+ 10250 4700 10750 4700
+Wire Wire Line
+ 10250 4800 10750 4800
+Wire Wire Line
+ 10250 4900 10750 4900
+Wire Wire Line
+ 10250 5000 10750 5000
+Wire Wire Line
+ 10250 5100 10750 5100
+Wire Wire Line
+ 10250 5200 10750 5200
+Text Label 10350 4600 0 60 ~ 0
+FS1
+Text Label 10350 5000 0 60 ~ 0
+FS3
+Text Label 10350 5200 0 60 ~ 0
+FS2
+$Comp
+L GND #PWR01
+U 1 1 545A7377
+P 9250 5600
+F 0 "#PWR01" H 9250 5600 30 0001 C CNN
+F 1 "GND" H 9250 5530 30 0001 C CNN
+F 2 "" H 9250 5600 60 0000 C CNN
+F 3 "" H 9250 5600 60 0000 C CNN
+ 1 9250 5600
+ 1 0 0 -1
+$EndComp
+Wire Wire Line
+ 9250 5500 9250 5600
+Text Label 10350 4700 0 60 ~ 0
+CLOCK
+Text Label 10350 4800 0 60 ~ 0
+DATA
+NoConn ~ 10750 4700
+NoConn ~ 10750 4800
+Text Label 10350 3200 0 60 ~ 0
+KP
+Text Label 10350 3300 0 60 ~ 0
+PGM
+Text Label 10350 2500 0 60 ~ 0
+BUZZ
+NoConn ~ 8250 2300
+NoConn ~ 8250 2700
+$Comp
+L GND #PWR02
+U 1 1 545A7565
+P 4750 5700
+F 0 "#PWR02" H 4750 5700 30 0001 C CNN
+F 1 "GND" H 4750 5630 30 0001 C CNN
+F 2 "" H 4750 5700 60 0000 C CNN
+F 3 "" H 4750 5700 60 0000 C CNN
+ 1 4750 5700
+ 1 0 0 -1
+$EndComp
+Entry Wire Line
+ 6450 3650 6550 3750
+Entry Wire Line
+ 6450 3750 6550 3850
+Entry Wire Line
+ 6450 4150 6550 4250
+Entry Wire Line
+ 6450 4250 6550 4350
+Entry Wire Line
+ 6450 4050 6550 4150
+Entry Wire Line
+ 6450 4350 6550 4450
+NoConn ~ 3750 2850
+Wire Wire Line
+ 1200 2000 6450 2000
+NoConn ~ 3750 3050
+Wire Wire Line
+ 2750 3800 3750 3800
+Wire Wire Line
+ 2750 3900 3750 3900
+Wire Wire Line
+ 2750 3900 2750 4000
+Wire Bus Line
+ 6550 2100 6550 6050
+Wire Bus Line
+ 10850 1600 10850 6050
+Text Label 6050 4350 0 60 ~ 0
+DL1
+Text Label 6050 4250 0 60 ~ 0
+DR2
+Text Label 6050 4150 0 60 ~ 0
+DR1
+Text Label 6050 4050 0 60 ~ 0
+DL2
+Text Label 6050 2450 0 60 ~ 0
+R1
+Text Label 6050 2550 0 60 ~ 0
+R2
+Text Label 6050 2650 0 60 ~ 0
+R3
+Text Label 6050 2750 0 60 ~ 0
+R4
+Text Label 6050 2850 0 60 ~ 0
+R5
+Text Label 6050 2950 0 60 ~ 0
+R6
+Text Label 6050 3050 0 60 ~ 0
+R7
+Text Label 6050 3150 0 60 ~ 0
+R8
+Text Label 6050 5050 0 60 ~ 0
+A
+Text Label 6050 5150 0 60 ~ 0
+B
+Text Label 6050 5250 0 60 ~ 0
+C
+Text Label 6050 5350 0 60 ~ 0
+G
+Text Label 1300 3800 0 60 ~ 0
+D+
+Text Label 1300 4000 0 60 ~ 0
+D-
+NoConn ~ 10750 2200
+NoConn ~ 10750 2300
+NoConn ~ 10750 2400
+Text Label 10350 4500 0 60 ~ 0
+GND
+NoConn ~ 10750 4900
+NoConn ~ 10750 5100
+Text Label 6050 3450 0 60 ~ 0
+KP
+Text Label 6050 3350 0 60 ~ 0
+PGM
+$Comp
+L ATMEGA32U4-A U1
+U 1 1 5462E0B1
+P 4900 4000
+F 0 "U1" H 3950 5700 40 0000 C CNN
+F 1 "ATMEGA32U4-A" H 5600 2500 40 0000 C CNN
+F 2 "TQFP44" H 4900 4000 35 0000 C CIN
+F 3 "" H 6000 5100 60 0000 C CNN
+ 1 4900 4000
+ 1 0 0 -1
+$EndComp
+Wire Wire Line
+ 3750 4850 3750 5600
+Wire Wire Line
+ 4450 2200 5150 2200
+Connection ~ 4700 2200
+Connection ~ 4800 2200
+Connection ~ 5050 2200
+Connection ~ 4800 2000
+Wire Wire Line
+ 6000 2450 6450 2450
+Wire Wire Line
+ 6000 2550 6450 2550
+Wire Wire Line
+ 6000 2650 6450 2650
+Wire Wire Line
+ 6000 2750 6450 2750
+Wire Wire Line
+ 6000 2850 6450 2850
+Wire Wire Line
+ 6000 2950 6450 2950
+Wire Wire Line
+ 6000 3050 6450 3050
+Wire Wire Line
+ 6000 3150 6450 3150
+Wire Wire Line
+ 6000 5050 6450 5050
+Wire Wire Line
+ 6000 5150 6450 5150
+Wire Wire Line
+ 6000 5250 6450 5250
+Wire Wire Line
+ 6000 4050 6450 4050
+Wire Wire Line
+ 6000 4150 6450 4150
+Wire Wire Line
+ 6000 4250 6450 4250
+Wire Wire Line
+ 6000 4350 6450 4350
+Wire Wire Line
+ 6000 4550 6450 4550
+Entry Wire Line
+ 6450 3350 6550 3450
+Entry Wire Line
+ 6450 3450 6550 3550
+Entry Wire Line
+ 6450 5050 6550 5150
+Entry Wire Line
+ 6450 5150 6550 5250
+Entry Wire Line
+ 6450 5250 6550 5350
+Entry Wire Line
+ 6450 5350 6550 5450
+Entry Wire Line
+ 6450 4650 6550 4750
+Wire Wire Line
+ 6000 3350 6450 3350
+Wire Wire Line
+ 6000 3450 6450 3450
+Wire Wire Line
+ 1200 5600 6450 5600
+Connection ~ 4950 5600
+Connection ~ 4850 5600
+Wire Wire Line
+ 4750 5600 4750 5700
+Connection ~ 4750 5600
+Connection ~ 4500 5600
+Text Label 6050 4550 0 60 ~ 0
+HWB
+Wire Wire Line
+ 6000 5350 6450 5350
+Wire Wire Line
+ 6000 3650 6450 3650
+Wire Wire Line
+ 6000 3750 6450 3750
+Text Label 6050 3650 0 60 ~ 0
+SCL
+Text Label 6050 3750 0 60 ~ 0
+SDA
+Wire Wire Line
+ 6000 3850 6450 3850
+Wire Wire Line
+ 6000 3950 6450 3950
+Wire Wire Line
+ 6000 4650 6450 4650
+Text Label 6050 4650 0 60 ~ 0
+BUZZ
+NoConn ~ 10750 4600
+NoConn ~ 10750 5000
+NoConn ~ 10750 5200
+Entry Wire Line
+ 10750 3400 10850 3500
+Entry Wire Line
+ 10750 3500 10850 3600
+Entry Wire Line
+ 10750 4500 10850 4600
+Wire