aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/_summary.md1
-rw-r--r--docs/easy_maker.md31
-rw-r--r--keyboards/ez_maker/directpins/promicro/config.h20
-rw-r--r--keyboards/ez_maker/directpins/promicro/info.json49
-rw-r--r--keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json19
-rw-r--r--keyboards/ez_maker/directpins/promicro/promicro.c17
-rw-r--r--keyboards/ez_maker/directpins/promicro/promicro.h19
-rw-r--r--keyboards/ez_maker/directpins/promicro/readme.md19
-rw-r--r--keyboards/ez_maker/directpins/promicro/rules.mk0
-rw-r--r--keyboards/ez_maker/directpins/proton_c/info.json60
-rw-r--r--keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json25
-rw-r--r--keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md1
-rw-r--r--keyboards/ez_maker/directpins/proton_c/proton_c.c17
-rw-r--r--keyboards/ez_maker/directpins/proton_c/proton_c.h19
-rw-r--r--keyboards/ez_maker/directpins/proton_c/readme.md19
-rw-r--r--keyboards/ez_maker/directpins/proton_c/rules.mk0
-rw-r--r--keyboards/ez_maker/directpins/readme.md5
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/config.h20
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/info.json52
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json20
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/readme.md19
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/rules.mk0
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/teensy2.c17
-rw-r--r--keyboards/ez_maker/directpins/teensy_2/teensy2.h19
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/config.h20
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/info.json67
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json28
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/readme.md19
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/rules.mk0
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/teensy2.c17
-rw-r--r--keyboards/ez_maker/directpins/teensy_2pp/teensy2.h19
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/chconf.h53
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/config.h23
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/halconf.h27
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/info.json53
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json22
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/mcuconf.h51
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/readme.md19
-rw-r--r--keyboards/ez_maker/directpins/teensy_32/rules.mk2
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/chconf.h53
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/config.h23
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/halconf.h27
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/info.json53
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json22
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/mcuconf.h51
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/readme.md19
-rw-r--r--keyboards/ez_maker/directpins/teensy_lc/rules.mk5
47 files changed, 1141 insertions, 0 deletions
diff --git a/docs/_summary.md b/docs/_summary.md
index 1d9540082..48115cef4 100644
--- a/docs/_summary.md
+++ b/docs/_summary.md
@@ -36,6 +36,7 @@
36 * Guides 36 * Guides
37 * [Customizing Functionality](custom_quantum_functions.md) 37 * [Customizing Functionality](custom_quantum_functions.md)
38 * [Driver Installation with Zadig](driver_installation_zadig.md) 38 * [Driver Installation with Zadig](driver_installation_zadig.md)
39 * [Easy Maker for One Offs](easy_maker.md)
39 * [Keymap Overview](keymap.md) 40 * [Keymap Overview](keymap.md)
40 * Development Environments 41 * Development Environments
41 * [Docker Guide](getting_started_docker.md) 42 * [Docker Guide](getting_started_docker.md)
diff --git a/docs/easy_maker.md b/docs/easy_maker.md
new file mode 100644
index 000000000..dc9727233
--- /dev/null
+++ b/docs/easy_maker.md
@@ -0,0 +1,31 @@
1# Easy Maker - Build One-Off Projects In Configurator
2
3Have you ever needed an easy way to program a controller, such as a Proton C or Teensy 2.0, for a one-off project you're building? QMK has you covered with the Easy Maker. Now you can create a firmware in minutes using QMK Configurator.
4
5There are different styles of Easy Maker available depending on your needs:
6
7* [Direct Pin](https://config.qmk.fm/#/?filter=ez_maker/direct) - Connect a single switch to a single pin
8* Direct Pin + Backlight (Coming Soon) - Like Direct Pin but dedicates a single pin to [Backlight](feature_backlight.md) control
9* Direct Pin + Numlock (Coming Soon) - Like Direct Pin but dedicates a single pin to the Numlock LED
10* Direct Pin + Capslock (Coming Soon) - Like Direct Pin but dedicates a single pin to the Numlock LED
11* Direct Pin + Encoder (Coming Soon) - Like Direct Pin but uses 2 pins to add a single rotary encoder
12
13## Quickstart
14
15The easiest way to get started is with the Direct Pin boards. This will assign a single key to each pin and you can short that pin to ground to activate it. Select your MCU from the Keyboard dropdown here:
16
17* <https://config.qmk.fm/#/?filter=ez_maker/direct>
18
19For more details see the [Direct Pin](#direct-pin) section.
20
21# Direct Pin
22
23As its name implies Direct Pin works by connecting one switch per pin. The other side of the switch should be connected to ground (VSS or GND.) You don't need any other components, your MCU has internal pull-up resistors so that the switch sensing can work.
24
25Here is a schematic showing how we connect a single button to pin A3 on a ProMicro:
26
27![Schematic diagram showing a ProMicro with a wire coming out of A3, connecting to the left side of a switch. Another wire comes out of the right side of the switch to connect to the Ground Plane.](https://i.imgur.com/JcDhZll.png)
28
29Once you have wired your switches you can assign keycodes to each pin and build a firmware by selecting the MCU you are using from the Keyboard dropdown. Use this link to show only Easy Maker Direct Pin:
30
31* <https://config.qmk.fm/#/?filter=ez_maker/direct>
diff --git a/keyboards/ez_maker/directpins/promicro/config.h b/keyboards/ez_maker/directpins/promicro/config.h
new file mode 100644
index 000000000..436e169c1
--- /dev/null
+++ b/keyboards/ez_maker/directpins/promicro/config.h
@@ -0,0 +1,20 @@
1/*
2Copyright 2021 Zach White
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
diff --git a/keyboards/ez_maker/directpins/promicro/info.json b/keyboards/ez_maker/directpins/promicro/info.json
new file mode 100644
index 000000000..ad91afeb9
--- /dev/null
+++ b/keyboards/ez_maker/directpins/promicro/info.json
@@ -0,0 +1,49 @@
1{
2 "manufacturer": "Zach White",
3 "keyboard_name": "DirectPins ProMicro",
4 "maintainer": "skullydazed",
5 "bootloader": "atmel-dfu",
6 "debounce": 5,
7 "diode_direction": "COL2ROW",
8 "features": {
9 "bootmagic_lite": true,
10 "extrakey": true,
11 "mousekey": true
12 },
13 "matrix_pins": {
14 "direct": [
15 ["D3", null],
16 ["D2", null],
17 ["D1", "F4"],
18 ["D0", "F5"],
19 ["D4", "F6"],
20 ["C6", "F7"],
21 ["D7", "B1"],
22 ["E6", "B3"],
23 ["B4", "B2"],
24 ["B5", "B6"]
25 ]
26 },
27 "processor": "atmega32u4",
28 "usb": {
29 "device_ver": "0x0001",
30 "pid": "0x2320",
31 "vid": "0xFEED"
32 },
33 "layouts": {
34 "LAYOUT_all": {
35 "layout": [
36 {"label":"D3", "matrix": [0, 0], "x":0, "y":0},
37 {"label":"D2", "matrix": [1, 0], "x":0, "y":1},
38 {"label":"D1", "matrix": [2, 0], "x":0, "y":4}, {"label":"F4", "matrix": [2, 1], "x":2, "y":4},
39 {"label":"D0", "matrix": [3, 0], "x":0, "y":5}, {"label":"F5", "matrix": [3, 1], "x":2, "y":5},
40 {"label":"D4", "matrix": [4, 0], "x":0, "y":6}, {"label":"F6", "matrix": [4, 1], "x":2, "y":6},
41 {"label":"C6", "matrix": [5, 0], "x":0, "y":7}, {"label":"F7", "matrix": [5, 1], "x":2, "y":7},
42 {"label":"D7", "matrix": [6, 0], "x":0, "y":8}, {"label":"B1", "matrix": [6, 1], "x":2, "y":8},
43 {"label":"E6", "matrix": [7, 0], "x":0, "y":9}, {"label":"B3", "matrix": [7, 1], "x":2, "y":9},
44 {"label":"B4", "matrix": [8, 0], "x":0, "y":10}, {"label":"B2", "matrix": [8, 1], "x":2, "y":10},
45 {"label":"B5", "matrix": [9, 0], "x":0, "y":11}, {"label":"B6", "matrix": [9, 1], "x":2, "y":11}
46 ]
47 }
48 }
49}
diff --git a/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json
new file mode 100644
index 000000000..f39a5802b
--- /dev/null
+++ b/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json
@@ -0,0 +1,19 @@
1{
2 "keyboard": "ez_maker/directpins/promicro",
3 "keymap": "default",
4 "layout": "LAYOUT_all",
5 "layers": [
6 [
7 "KC_0",
8 "KC_1",
9 "KC_2", "KC_3",
10 "KC_4", "KC_5",
11 "KC_6", "KC_7",
12 "KC_8", "KC_9",
13 "KC_A", "KC_B",
14 "KC_C", "KC_D",
15 "KC_E", "KC_F",
16 "KC_G", "KC_H"
17 ]
18 ]
19}
diff --git a/keyboards/ez_maker/directpins/promicro/promicro.c b/keyboards/ez_maker/directpins/promicro/promicro.c
new file mode 100644
index 000000000..1f89eb39e
--- /dev/null
+++ b/keyboards/ez_maker/directpins/promicro/promicro.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Zach White
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "promicro.h"
diff --git a/keyboards/ez_maker/directpins/promicro/promicro.h b/keyboards/ez_maker/directpins/promicro/promicro.h
new file mode 100644
index 000000000..386e50fb5
--- /dev/null
+++ b/keyboards/ez_maker/directpins/promicro/promicro.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Zach White
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
diff --git a/keyboards/ez_maker/directpins/promicro/readme.md b/keyboards/ez_maker/directpins/promicro/readme.md
new file mode 100644
index 000000000..b987ce0aa
--- /dev/null
+++ b/keyboards/ez_maker/directpins/promicro/readme.md
@@ -0,0 +1,19 @@
1# DirectPins
2
3![Promicro Pinout Guide](https://i.imgur.com/LZ194Hf.jpg)
4
5Easily assign keys to pins for your custom project using QMK Configurator.
6
7* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
8* Hardware Supported: Promicro
9* Hardware Availability: Sparkfun, chinese clones
10
11Make example for this keyboard (after setting up your build environment):
12
13 qmk compile -kb ez_maker/directpins/promicro -km default
14
15Flashing example for this keyboard:
16
17 qmk flash -kb ez_maker/directpins/promicro -km default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ez_maker/directpins/promicro/rules.mk b/keyboards/ez_maker/directpins/promicro/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/ez_maker/directpins/promicro/rules.mk
diff --git a/keyboards/ez_maker/directpins/proton_c/info.json b/keyboards/ez_maker/directpins/proton_c/info.json
new file mode 100644
index 000000000..4b72f4610
--- /dev/null
+++ b/keyboards/ez_maker/directpins/proton_c/info.json
@@ -0,0 +1,60 @@
1{
2 "manufacturer": "Zach White",
3 "keyboard_name": "DirectPins Proton C",
4 "maintainer": "skullydazed",
5 "debounce": 5,
6 "processor": "STM32F303",
7 "board": "QMK_PROTON_C",
8 "features": {
9 "bootmagic_lite": true,
10 "extrakey": true,
11 "mousekey": true
12 },
13 "matrix_pins": {
14 "direct": [
15 ["A9", null],
16 ["A10", null],
17 ["B7", "A2"],
18 ["B6", "A1"],
19 ["B5", "A0"],
20 ["B4", "B8"],
21 ["B3", "B13"],
22 ["B2", "B14"],
23 ["B1", "B15"],
24 ["B0", "B9"],
25 ["A4", "B10"],
26 ["A5", "B11"],
27 ["A6", "B12"],
28 ["A7", "A14"],
29 ["A8", "A13"],
30 ["A15", null]
31 ]
32 },
33 "usb": {
34 "device_ver": "0x0001",
35 "pid": "0x2321",
36 "vid": "0xFEED"
37 },
38 "layouts": {
39 "LAYOUT_all": {
40 "layout": [
41 { "label": "A9", "matrix": [0, 0], "x": 0, "y": 0 },
42 { "label": "A10", "matrix": [1, 0], "x": 0, "y": 1 },
43 { "label": "B7", "matrix": [2, 0], "x": 0, "y": 4 }, { "label": "A2", "matrix": [2, 1], "x": 2, "y": 4 },
44 { "label": "B6", "matrix": [3, 0], "x": 0, "y": 5 }, { "label": "A1", "matrix": [3, 1], "x": 2, "y": 5 },
45 { "label": "B5", "matrix": [4, 0], "x": 0, "y": 6 }, { "label": "A0", "matrix": [4, 1], "x": 2, "y": 6 },
46 { "label": "B4", "matrix": [5, 0], "x": 0, "y": 7 }, { "label": "B8", "matrix": [5, 1], "x": 2, "y": 7 },
47 { "label": "B3", "matrix": [6, 0], "x": 0, "y": 8 }, { "label": "B13", "matrix": [6, 1], "x": 2, "y": 8 },
48 { "label": "B2", "matrix": [7, 0], "x": 0, "y": 9 }, { "label": "B14", "matrix": [7, 1], "x": 2, "y": 9 },
49 { "label": "B1", "matrix": [8, 0], "x": 0, "y": 10 }, { "label": "B15", "matrix": [8, 1], "x": 2, "y": 10 },
50 { "label": "B0", "matrix": [9, 0], "x": 0, "y": 11 }, { "label": "B9", "matrix": [9, 1], "x": 2, "y": 11 },
51 { "label": "A4", "matrix": [10, 0], "x": 0, "y": 13 }, { "label": "B10", "matrix": [10, 1], "x": 2, "y": 13 },
52 { "label": "A5", "matrix": [11, 0], "x": 0, "y": 14 }, { "label": "B11", "matrix": [11, 1], "x": 2, "y": 14 },
53 { "label": "A6", "matrix": [12, 0], "x": 0, "y": 15 }, { "label": "B12", "matrix": [12, 1], "x": 2, "y": 15 },
54 { "label": "A7", "matrix": [13, 0], "x": 0, "y": 16 }, { "label": "A14", "matrix": [13, 1], "x": 2, "y": 16 },
55 { "label": "A8", "matrix": [14, 0], "x": 0, "y": 17 }, { "label": "A13", "matrix": [14, 1], "x": 2, "y": 17 },
56 { "label": "A15", "matrix": [15, 0], "x": 0, "y": 18 }
57 ]
58 }
59 }
60}
diff --git a/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json
new file mode 100644
index 000000000..7af6d4476
--- /dev/null
+++ b/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json
@@ -0,0 +1,25 @@
1{
2 "keyboard": "ez_maker/directpins/proton_c",
3 "keymap": "default",
4 "layout": "LAYOUT_all",
5 "layers": [
6 [
7 "KC_0",
8 "KC_1",
9 "KC_2", "KC_3",
10 "KC_4", "KC_5",
11 "KC_6", "KC_7",
12 "KC_8", "KC_9",
13 "KC_A", "KC_B",
14 "KC_C", "KC_D",
15 "KC_E", "KC_F",
16 "KC_G", "KC_H",
17 "KC_I", "KC_J",
18 "KC_K", "KC_L",
19 "KC_M", "KC_N",
20 "KC_O", "KC_P",
21 "KC_Q", "KC_R",
22 "KC_S"
23 ]
24 ]
25}
diff --git a/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md b/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md
new file mode 100644
index 000000000..69c6d2663
--- /dev/null
+++ b/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for directpins
diff --git a/keyboards/ez_maker/directpins/proton_c/proton_c.c b/keyboards/ez_maker/directpins/proton_c/proton_c.c
new file mode 100644
index 000000000..75534b609
--- /dev/null
+++ b/keyboards/ez_maker/directpins/proton_c/proton_c.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Zach White
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "proton_c.h"
diff --git a/keyboards/ez_maker/directpins/proton_c/proton_c.h b/keyboards/ez_maker/directpins/proton_c/proton_c.h
new file mode 100644
index 000000000..386e50fb5
--- /dev/null
+++ b/keyboards/ez_maker/directpins/proton_c/proton_c.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Zach White
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
diff --git a/keyboards/ez_maker/directpins/proton_c/readme.md b/keyboards/ez_maker/directpins/proton_c/readme.md
new file mode 100644
index 000000000..caf6c7c99
--- /dev/null
+++ b/keyboards/ez_maker/directpins/proton_c/readme.md
@@ -0,0 +1,19 @@
1# DirectPins
2
3![Proton-C Pinout Guide](https://i.imgur.com/NqsqmdF.png)
4
5Easily assign keys to pins for your custom project using QMK Configurator.
6
7* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
8* Hardware Supported: Proton C
9* Hardware Availability: https://qmk.fm/proton-c
10
11Make example for this keyboard (after setting up your build environment):
12
13 qmk compile -kb ez_maker/directpins/proton_c -km default
14
15Flashing example for this keyboard:
16
17 qmk flash -kb ez_maker/directpins/proton_c -km default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ez_maker/directpins/proton_c/rules.mk b/keyboards/ez_maker/directpins/proton_c/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/ez_maker/directpins/proton_c/rules.mk
diff --git a/keyboards/ez_maker/directpins/readme.md b/keyboards/ez_maker/directpins/readme.md
new file mode 100644
index 000000000..bd415f78a
--- /dev/null
+++ b/keyboards/ez_maker/directpins/readme.md
@@ -0,0 +1,5 @@
1# DirectPins
2
3Easily assign keys to pins for your custom project using QMK Configurator.
4
5This directory exists so that people creating one-offs can easily hook up their pins to switches and flash QMK to it.
diff --git a/keyboards/ez_maker/directpins/teensy_2/config.h b/keyboards/ez_maker/directpins/teensy_2/config.h
new file mode 100644
index 000000000..436e169c1
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2/config.h
@@ -0,0 +1,20 @@
1/*
2Copyright 2021 Zach White
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
diff --git a/keyboards/ez_maker/directpins/teensy_2/info.json b/keyboards/ez_maker/directpins/teensy_2/info.json
new file mode 100644
index 000000000..cc2e6feec
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2/info.json
@@ -0,0 +1,52 @@
1{
2 "manufacturer": "Zach White",
3 "keyboard_name": "DirectPins Teensy 2.0",
4 "maintainer": "skullydazed",
5 "processor": "atmega32u4",
6 "bootloader": "halfkay",
7 "debounce": 5,
8 "diode_direction": "COL2ROW",
9 "features": {
10 "bootmagic_lite": true,
11 "extrakey": true,
12 "mousekey": true
13 },
14 "matrix_pins": {
15 "direct": [
16 ["B0", "F0"],
17 ["B1", "F1"],
18 ["B2", "F4"],
19 ["B3", "F5"],
20 ["B7", "F6"],
21 ["D0", "F7"],
22 ["D1", "B6"],
23 ["D2", "B5"],
24 ["D3", "B4"],
25 ["C6", "D7"],
26 ["C7", "D6"],
27 ["D5", "D4"]
28 ]
29 },
30 "usb": {
31 "device_ver": "0x0001",
32 "pid": "0x2322",
33 "vid": "0xFEED"
34 },
35 "layouts": {
36 "LAYOUT_all": {
37 "layout": [
38 {"label":"B0", "matrix": [0, 0], "x":0, "y":1}, {"label":"F0", "matrix": [0, 1], "x":4, "y":1},
39 {"label":"B1", "matrix": [1, 0], "x":0, "y":2}, {"label":"F1", "matrix": [1, 1], "x":4, "y":2},
40 {"label":"B2", "matrix": [2, 0], "x":0, "y":3}, {"label":"F4", "matrix": [2, 1], "x":4, "y":3},
41 {"label":"B3", "matrix": [3, 0], "x":0, "y":4}, {"label":"F5", "matrix": [3, 1], "x":4, "y":4},
42 {"label":"B7", "matrix": [4, 0], "x":0, "y":5}, {"label":"F6", "matrix": [4, 1], "x":4, "y":5},
43 {"label":"D0", "matrix": [5, 0], "x":0, "y":6}, {"label":"F7", "matrix": [5, 1], "x":4, "y":6},
44 {"label":"D1", "matrix": [6, 0], "x":0, "y":7}, {"label":"B6", "matrix": [6, 1], "x":4, "y":7},
45 {"label":"D2", "matrix": [7, 0], "x":0, "y":8}, {"label":"B5", "matrix": [7, 1], "x":4, "y":8},
46 {"label":"D3", "matrix": [8, 0], "x":0, "y":9}, {"label":"B4", "matrix": [8, 1], "x":4, "y":9},
47 {"label":"C6", "matrix": [9, 0], "x":0, "y":10}, {"label":"D7", "matrix": [9, 1], "x":4, "y":10},
48 {"label":"C7", "matrix": [10, 0], "x":0, "y":11}, {"label":"D5", "matrix": [11, 0], "x":1, "y":11}, {"label":"D4", "matrix": [11, 1], "x":3, "y":11}, {"label":"D6", "matrix": [10, 1], "x":4, "y":11}
49 ]
50 }
51 }
52}
diff --git a/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json
new file mode 100644
index 000000000..f52247ec2
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json
@@ -0,0 +1,20 @@
1{
2 "keyboard": "ez_maker/directpins/teensy2",
3 "keymap": "default",
4 "layout": "LAYOUT_all",
5 "layers": [
6 [
7 "KC_0", "KC_1",
8 "KC_2", "KC_3",
9 "KC_4", "KC_5",
10 "KC_6", "KC_7",
11 "KC_8", "KC_9",
12 "KC_A", "KC_B",
13 "KC_C", "KC_D",
14 "KC_E", "KC_F",
15 "KC_G", "KC_H",
16 "KC_I", "KC_J",
17 "KC_K", "KC_L", "KC_M", "KC_N"
18 ]
19 ]
20}
diff --git a/keyboards/ez_maker/directpins/teensy_2/readme.md b/keyboards/ez_maker/directpins/teensy_2/readme.md
new file mode 100644
index 000000000..997680b59
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2/readme.md
@@ -0,0 +1,19 @@
1# DirectPins
2
3![Teensy 2.0 Pinout Guide](https://www.pjrc.com/teensy/pinout2a.png)
4
5Easily assign keys to pins for your custom project using QMK Configurator.
6
7* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
8* Hardware Supported: Teensy 2.0
9* Hardware Availability: https://www.pjrc.com/
10
11Make example for this keyboard (after setting up your build environment):
12
13 qmk compile -kb ez_maker/directpins/teensy2 -km default
14
15Flashing example for this keyboard:
16
17 qmk flash -kb ez_maker/directpins/teensy2 -km default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ez_maker/directpins/teensy_2/rules.mk b/keyboards/ez_maker/directpins/teensy_2/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2/rules.mk
diff --git a/keyboards/ez_maker/directpins/teensy_2/teensy2.c b/keyboards/ez_maker/directpins/teensy_2/teensy2.c
new file mode 100644
index 000000000..1ef3337a1
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2/teensy2.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Zach White
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "teensy2.h"
diff --git a/keyboards/ez_maker/directpins/teensy_2/teensy2.h b/keyboards/ez_maker/directpins/teensy_2/teensy2.h
new file mode 100644
index 000000000..386e50fb5
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2/teensy2.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Zach White
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/config.h b/keyboards/ez_maker/directpins/teensy_2pp/config.h
new file mode 100644
index 000000000..436e169c1
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2pp/config.h
@@ -0,0 +1,20 @@
1/*
2Copyright 2021 Zach White
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/info.json b/keyboards/ez_maker/directpins/teensy_2pp/info.json
new file mode 100644
index 000000000..1e2e69d90
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2pp/info.json
@@ -0,0 +1,67 @@
1{
2 "manufacturer": "Zach White",
3 "keyboard_name": "DirectPins Teensy 2.0++",
4 "maintainer": "skullydazed",
5 "processor": "at90usb1286",
6 "bootloader": "halfkay",
7 "debounce": 5,
8 "diode_direction": "COL2ROW",
9 "features": {
10 "bootmagic_lite": true,
11 "extrakey": true,
12 "mousekey": true
13 },
14 "matrix_pins": {
15 "direct": [
16 ["B7", null, null, "B6"],
17 ["D0", null, null, "B5"],
18 ["D1", null, null, "B4"],
19 ["D2", null, null, "B3"],
20 ["D3", null, null, "B2"],
21 ["D4", "E5", "E4", "B1"],
22 ["D5", null, null, "B0"],
23 ["D6", null, null, "E7"],
24 ["D7", null, null, "E6"],
25 ["E0", null, null, null],
26 ["E1", null, null, null],
27 ["C0", null, null, "F0"],
28 ["C1", "A4", "A0", "F1"],
29 ["C2", "A5", "A1", "F2"],
30 ["C3", "A6", "A2", "F3"],
31 ["C4", "A7", "A3", "F4"],
32 ["C5", null, null, "F5"],
33 ["C6", null, null, "F6"],
34 ["C7", null, null, "F7"],
35 ]
36 },
37 "usb": {
38 "device_ver": "0x0001",
39 "pid": "0x2323",
40 "vid": "0xFEED"
41 },
42 "layouts": {
43 "LAYOUT_all": {
44 "layout": [
45 {"label":"B7", "matrix": [0, 0], "x":0, "y":1}, {"label":"B6", "matrix": [0, 3], "x":5, "y":1},
46 {"label":"D0", "matrix": [1, 0], "x":0, "y":2}, {"label":"B5", "matrix": [1, 3], "x":5, "y":2},
47 {"label":"D1", "matrix": [2, 0], "x":0, "y":3}, {"label":"B4", "matrix": [2, 3], "x":5, "y":3},
48 {"label":"D2", "matrix": [3, 0], "x":0, "y":4}, {"label":"B3", "matrix": [3, 3], "x":5, "y":4},
49 {"label":"D3", "matrix": [4, 0], "x":0, "y":5}, {"label":"B2", "matrix": [4, 3], "x":5, "y":5},
50 {"label":"D4", "matrix": [5, 0], "x":0, "y":6}, {"label":"E5", "matrix": [5, 1], "x":2, "y":6}, {"label":"E4", "matrix": [5, 2], "x":3, "y":6}, {"label":"B1", "matrix": [5, 3], "x":5, "y":6},
51 {"label":"D5", "matrix": [6, 0], "x":0, "y":7}, {"label":"B0", "matrix": [6, 3], "x":5, "y":7},
52 {"label":"D6", "matrix": [7, 0], "x":0, "y":8}, {"label":"E7", "matrix": [7, 3], "x":5, "y":8},
53 {"label":"D7", "matrix": [8, 0], "x":0, "y":9}, {"label":"E6", "matrix": [8, 3], "x":5, "y":9},
54 {"label":"E0", "matrix": [9, 0], "x":0, "y":10},
55 {"label":"E1", "matrix": [10, 0], "x":0, "y":11},
56 {"label":"C0", "matrix": [11, 0], "x":0, "y":12}, {"label":"F0", "matrix": [11, 3], "x":5, "y":12},
57 {"label":"C1", "matrix": [12, 0], "x":0, "y":13}, {"label":"A4", "matrix": [12, 1], "x":2, "y":13}, {"label":"A0", "matrix": [12, 2], "x":3, "y":13}, {"label":"F1", "matrix": [12, 3], "x":5, "y":13},
58 {"label":"C2", "matrix": [13, 0], "x":0, "y":14}, {"label":"A5", "matrix": [13, 1], "x":2, "y":14}, {"label":"A1", "matrix": [13, 2], "x":3, "y":14}, {"label":"F2", "matrix": [13, 3], "x":5, "y":14},
59 {"label":"C3", "matrix": [14, 0], "x":0, "y":15}, {"label":"A6", "matrix": [14, 1], "x":2, "y":15}, {"label":"A2", "matrix": [14, 2], "x":3, "y":15}, {"label":"F3", "matrix": [14, 3], "x":5, "y":15},
60 {"label":"C4", "matrix": [15, 0], "x":0, "y":16}, {"label":"A7", "matrix": [15, 1], "x":2, "y":16}, {"label":"A3", "matrix": [15, 2], "x":3, "y":16}, {"label":"F4", "matrix": [15, 3], "x":5, "y":16},
61 {"label":"C5", "matrix": [16, 0], "x":0, "y":17}, {"label":"F5", "matrix": [16, 3], "x":5, "y":17},
62 {"label":"C6", "matrix": [17, 0], "x":0, "y":18}, {"label":"F6", "matrix": [17, 3], "x":5, "y":18},
63 {"label":"C7", "matrix": [18, 0], "x":0, "y":19}, {"label":"F7", "matrix": [18, 3], "x":5, "y":19}
64 ]
65 }
66 }
67}
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json
new file mode 100644
index 000000000..444f8cacb
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json
@@ -0,0 +1,28 @@
1{
2 "keyboard": "ez_maker/directpins/promicro",
3 "keymap": "default",
4 "layout": "LAYOUT_all",
5 "layers": [
6 [
7 "KC_0", "KC_1",
8 "KC_2", "KC_3",
9 "KC_4", "KC_5",
10 "KC_6", "KC_7",
11 "KC_8", "KC_9",
12 "KC_A", "KC_B", "KC_C", "KC_D",
13 "KC_E", "KC_F",
14 "KC_G", "KC_H",
15 "KC_I", "KC_J",
16 "KC_J",
17 "KC_L",
18 "KC_M", "KC_N",
19 "KC_O", "KC_P", "KC_Q", "KC_R",
20 "KC_S", "KC_T", "KC_U", "KC_V",
21 "KC_W", "KC_X", "KC_Y", "KC_Z",
22 "KC_P1", "KC_P2", "KC_P3", "KC_P4",
23 "KC_P5", "KC_P6",
24 "KC_P7", "KC_P8",
25 "KC_P9", "KC_P0"
26 ]
27 ]
28}
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/readme.md b/keyboards/ez_maker/directpins/teensy_2pp/readme.md
new file mode 100644
index 000000000..6b64dc8ac
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2pp/readme.md
@@ -0,0 +1,19 @@
1# DirectPins
2
3![Teensy 2.0++ Pinout Guide](https://www.pjrc.com/teensy/pinout4a.png)
4
5Easily assign keys to pins for your custom project using QMK Configurator.
6
7* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
8* Hardware Supported: Teensy 2.0++
9* Hardware Availability: https://www.pjrc.com/
10
11Make example for this keyboard (after setting up your build environment):
12
13 qmk compile -kb ez_maker/directpins/teensy2pp -km default
14
15Flashing example for this keyboard:
16
17 qmk flash -kb ez_maker/directpins/teensy2pp -km default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/rules.mk b/keyboards/ez_maker/directpins/teensy_2pp/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2pp/rules.mk
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c
new file mode 100644
index 000000000..1ef3337a1
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Zach White
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "teensy2.h"
diff --git a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h
new file mode 100644
index 000000000..386e50fb5
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Zach White
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
diff --git a/keyboards/ez_maker/directpins/teensy_32/chconf.h b/keyboards/ez_maker/directpins/teensy_32/chconf.h
new file mode 100644
index 000000000..04c223e72
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_32/chconf.h
@@ -0,0 +1,53 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_32/chconf.h -r platforms/chibios/common/configs/chconf.h`
20 */
21
22#pragma once
23
24#define CH_CFG_ST_FREQUENCY 1000
25
26#define CH_CFG_ST_TIMEDELTA 0
27
28#define CH_CFG_TIME_QUANTUM 20
29
30#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
31
32#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
33
34#define CH_CFG_FACTORY_SEMAPHORES TRUE
35
36#define CH_CFG_FACTORY_MAILBOXES TRUE
37
38#define CH_CFG_FACTORY_OBJ_FIFOS TRUE
39
40#define CH_CFG_FACTORY_PIPES TRUE
41
42#define CH_DBG_SYSTEM_STATE_CHECK TRUE
43
44#define CH_DBG_ENABLE_CHECKS TRUE
45
46#define CH_DBG_ENABLE_ASSERTS TRUE
47
48#define CH_DBG_ENABLE_STACK_CHECK TRUE
49
50#define CH_DBG_FILL_THREADS TRUE
51
52#include_next <chconf.h>
53
diff --git a/keyboards/ez_maker/directpins/teensy_32/config.h b/keyboards/ez_maker/directpins/teensy_32/config.h
new file mode 100644
index 000000000..861ae70e4
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_32/config.h
@@ -0,0 +1,23 @@
1/* Copyright 2019
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19// i2c_master defines
20#define I2C1_SCL 0 // A2 on pinout = B0
21#define I2C1_SDA 1 // A3 on pinout = B1
22#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
23#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
diff --git a/keyboards/ez_maker/directpins/teensy_32/halconf.h b/keyboards/ez_maker/directpins/teensy_32/halconf.h
new file mode 100644
index 000000000..9ba6e8fc3
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_32/halconf.h
@@ -0,0 +1,27 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_32/halconf.h -r platforms/chibios/common/configs/halconf.h`
20 */
21
22#pragma once
23
24#define HAL_USE_I2C TRUE
25
26#include_next <halconf.h>
27
diff --git a/keyboards/ez_maker/directpins/teensy_32/info.json b/keyboards/ez_maker/directpins/teensy_32/info.json
new file mode 100644
index 000000000..5de8d90a5
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_32/info.json
@@ -0,0 +1,53 @@
1{
2 "manufacturer": "QMK",
3 "keyboard_name": "DirectPins Teensy 3.2",
4 "maintainer": "skullydazed",
5 "debounce": 5,
6 "processor": "MK20DX256",
7 "features": {
8 "bootmagic_lite": true,
9 "extrakey": true,
10 "mousekey": true
11 },
12 "matrix_pins": {
13 "direct": [
14 ["LINE_PIN0", null, null],
15 ["LINE_PIN1", null, null],
16 ["LINE_PIN2", null, "LINE_PIN23"],
17 ["LINE_PIN3", "LINE_PIN24", "LINE_PIN22"],
18 ["LINE_PIN4", "LINE_PIN25", "LINE_PIN21"],
19 ["LINE_PIN5", null, "LINE_PIN20"],
20 ["LINE_PIN6", null, "LINE_PIN19"],
21 ["LINE_PIN7", null, "LINE_PIN18"],
22 ["LINE_PIN8", null, "LINE_PIN17"],
23 ["LINE_PIN9", null, "LINE_PIN16"],
24 ["LINE_PIN10", null, "LINE_PIN15"],
25 ["LINE_PIN11", null, "LINE_PIN14"],
26 ["LINE_PIN12", "E30", "LINE_PIN13"],
27 ]
28 },
29 "usb": {
30 "device_ver": "0x0001",
31 "pid": "0x2324",
32 "vid": "0xFEED"
33 },
34 "layouts": {
35 "LAYOUT_all": {
36 "layout": [
37 { "label": "0", "matrix": [0, 0], "x": 0, "y": 1 },
38 { "label": "1", "matrix": [1, 0], "x": 0, "y": 2 },
39 { "label": "2", "matrix": [2, 0], "x": 0, "y": 3 }, { "label": "23", "matrix": [2, 2], "x": 3, "y": 3 },
40 { "label": "3", "matrix": [3, 0], "x": 0, "y": 4 }, { "label": "24", "matrix": [3, 1], "x": 2, "y": 4 }, { "label": "22", "matrix": [3, 2], "x": 3, "y": 4 },
41 { "label": "4", "matrix": [4, 0], "x": 0, "y": 5 }, { "label": "25", "matrix": [4, 1], "x": 2, "y": 5 }, { "label": "21", "matrix": [4, 2], "x": 3, "y": 5 },
42 { "label": "5", "matrix": [5, 0], "x": 0, "y": 6 }, { "label": "20", "matrix": [5, 2], "x": 3, "y": 6 },
43 { "label": "6", "matrix": [6, 0], "x": 0, "y": 7 }, { "label": "19", "matrix": [6, 2], "x": 3, "y": 7 },
44 { "label": "7", "matrix": [7, 0], "x": 0, "y": 8 }, { "label": "18", "matrix": [7, 2], "x": 3, "y": 8 },
45 { "label": "8", "matrix": [8, 0], "x": 0, "y": 9 }, { "label": "17", "matrix": [8, 2], "x": 3, "y": 9 },
46 { "label": "9", "matrix": [9, 0], "x": 0, "y": 10 }, { "label": "16", "matrix": [9, 2], "x": 3, "y": 10 },
47 { "label": "10", "matrix": [10, 0], "x": 0, "y": 11 }, { "label": "15", "matrix": [10, 2], "x": 3, "y": 11 },
48 { "label": "11", "matrix": [11, 0], "x": 0, "y": 12 }, { "label": "14", "matrix": [11, 2], "x": 3, "y": 12 },
49 { "label": "12", "matrix": [12, 0], "x": 0, "y": 13 }, { "label": "26", "matrix": [12, 1], "x": 2, "y": 13 }, { "label": "13", "matrix": [12, 2], "x": 3, "y": 13 }
50 ]
51 }
52 }
53}
diff --git a/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json
new file mode 100644
index 000000000..4b289997c
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json
@@ -0,0 +1,22 @@
1{
2 "keyboard": "ez_maker/directpins/teensy_32",
3 "keymap": "default",
4 "layout": "LAYOUT_all",
5 "layers": [
6 [
7 "KC_0",
8 "KC_1",
9 "KC_2", "KC_3",
10 "KC_4", "KC_5", "KC_6",
11 "KC_7", "KC_8", "KC_9",
12 "KC_A", "KC_B",
13 "KC_C", "KC_D",
14 "KC_E", "KC_F",
15 "KC_G", "KC_H",
16 "KC_I", "KC_J",
17 "KC_K", "KC_L",
18 "KC_M", "KC_N",
19 "KC_O", "KC_P", "KC_Q"
20 ]
21 ]
22}
diff --git a/keyboards/ez_maker/directpins/teensy_32/mcuconf.h b/keyboards/ez_maker/directpins/teensy_32/mcuconf.h
new file mode 100644
index 000000000..327f5c9aa
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_32/mcuconf.h
@@ -0,0 +1,51 @@
1/*
2 ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17#ifndef _MCUCONF_H_
18#define _MCUCONF_H_
19
20#define K20x_MCUCONF
21
22/*
23 * HAL driver system settings.
24 */
25/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */
26#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
27#define KINETIS_PLLCLK_FREQUENCY 96000000UL
28#define KINETIS_SYSCLK_FREQUENCY 48000000UL
29
30/*
31 * SERIAL driver system settings.
32 */
33#define KINETIS_SERIAL_USE_UART0 TRUE
34
35/*
36 * USB driver settings
37 */
38#define KINETIS_USB_USE_USB0 TRUE
39
40/* Need to redefine this, since the default (configured for K20x) might not apply
41 * 2 for Teensy LC
42 * 5 for Teensy 3.x */
43#define KINETIS_USB_USB0_IRQ_PRIORITY 5
44
45/*
46 * I2C driver settings
47 */
48#define KINETIS_I2C_USE_I2C0 TRUE
49#define KINETIS_I2C_I2C0_PRIORITY 4
50
51#endif /* _MCUCONF_H_ */
diff --git a/keyboards/ez_maker/directpins/teensy_32/readme.md b/keyboards/ez_maker/directpins/teensy_32/readme.md
new file mode 100644
index 000000000..76b457319
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_32/readme.md
@@ -0,0 +1,19 @@
1# DirectPins
2
3![Teensy 3.2 Pinout Guide](https://www.pjrc.com/teensy/card7a_rev1.png)
4
5Easily assign keys to pins for your custom project using QMK Configurator.
6
7* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
8* Hardware Supported: Teensy 3.2
9* Hardware Availability: https://pjrc.com/
10
11Make example for this keyboard (after setting up your build environment):
12
13 qmk compile -kb ez_maker/directpins/teensy_32 -km default
14
15Flashing example for this keyboard:
16
17 qmk flash -kb ez_maker/directpins/teensy_32 -km default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ez_maker/directpins/teensy_32/rules.mk b/keyboards/ez_maker/directpins/teensy_32/rules.mk
new file mode 100644
index 000000000..a92b09932
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_32/rules.mk
@@ -0,0 +1,2 @@
1# Enter lower-power sleep mode when on the ChibiOS idle thread
2OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/ez_maker/directpins/teensy_lc/chconf.h b/keyboards/ez_maker/directpins/teensy_lc/chconf.h
new file mode 100644
index 000000000..659dca63a
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_lc/chconf.h
@@ -0,0 +1,53 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_lc/chconf.h -r platforms/chibios/common/configs/chconf.h`
20 */
21
22#pragma once
23
24#define CH_CFG_ST_FREQUENCY 1000
25
26#define CH_CFG_ST_TIMEDELTA 0
27
28#define CH_CFG_TIME_QUANTUM 20
29
30#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
31
32#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
33
34#define CH_CFG_FACTORY_SEMAPHORES TRUE
35
36#define CH_CFG_FACTORY_MAILBOXES TRUE
37
38#define CH_CFG_FACTORY_OBJ_FIFOS TRUE
39
40#define CH_CFG_FACTORY_PIPES TRUE
41
42#define CH_DBG_SYSTEM_STATE_CHECK TRUE
43
44#define CH_DBG_ENABLE_CHECKS TRUE
45
46#define CH_DBG_ENABLE_ASSERTS TRUE
47
48#define CH_DBG_ENABLE_STACK_CHECK TRUE
49
50#define CH_DBG_FILL_THREADS TRUE
51
52#include_next <chconf.h>
53
diff --git a/keyboards/ez_maker/directpins/teensy_lc/config.h b/keyboards/ez_maker/directpins/teensy_lc/config.h
new file mode 100644
index 000000000..861ae70e4
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_lc/config.h
@@ -0,0 +1,23 @@
1/* Copyright 2019
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19// i2c_master defines
20#define I2C1_SCL 0 // A2 on pinout = B0
21#define I2C1_SDA 1 // A3 on pinout = B1
22#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
23#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
diff --git a/keyboards/ez_maker/directpins/teensy_lc/halconf.h b/keyboards/ez_maker/directpins/teensy_lc/halconf.h
new file mode 100644
index 000000000..bd9fe497f
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_lc/halconf.h
@@ -0,0 +1,27 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_lc/halconf.h -r platforms/chibios/common/configs/halconf.h`
20 */
21
22#pragma once
23
24#define HAL_USE_I2C TRUE
25
26#include_next <halconf.h>
27
diff --git a/keyboards/ez_maker/directpins/teensy_lc/info.json b/keyboards/ez_maker/directpins/teensy_lc/info.json
new file mode 100644
index 000000000..882fa9ad9
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_lc/info.json
@@ -0,0 +1,53 @@
1{
2 "manufacturer": "Zach White",
3 "keyboard_name": "DirectPins Teensy LC",
4 "maintainer": "skullydazed",
5 "debounce": 5,
6 "processor": "MKL26Z64",
7 "features": {
8 "bootmagic_lite": true,
9 "extrakey": true,
10 "mousekey": true
11 },
12 "matrix_pins": {
13 "direct": [
14 ["LINE_PIN0", null, null],
15 ["LINE_PIN1", null, null],
16 ["LINE_PIN2", null, "LINE_PIN23"],
17 ["LINE_PIN3", "LINE_PIN24", "LINE_PIN22"],
18 ["LINE_PIN4", "LINE_PIN25", "LINE_PIN21"],
19 ["LINE_PIN5", null, "LINE_PIN20"],
20 ["LINE_PIN6", null, "LINE_PIN19"],
21 ["LINE_PIN7", null, "LINE_PIN18"],
22 ["LINE_PIN8", null, "LINE_PIN17"],
23 ["LINE_PIN9", null, "LINE_PIN16"],
24 ["LINE_PIN10", null, "LINE_PIN15"],
25 ["LINE_PIN11", null, "LINE_PIN14"],
26 ["LINE_PIN12", "E30", "LINE_PIN13"],
27 ]
28 },
29 "usb": {
30 "device_ver": "0x0001",
31 "pid": "0x2325",
32 "vid": "0xFEED"
33 },
34 "layouts": {
35 "LAYOUT_all": {
36 "layout": [
37 { "label": "0", "matrix": [0, 0], "x": 0, "y": 1 },
38 { "label": "1", "matrix": [1, 0], "x": 0, "y": 2 },
39 { "label": "2", "matrix": [2, 0], "x": 0, "y": 3 }, { "label": "23", "matrix": [2, 2], "x": 3, "y": 3 },
40 { "label": "3", "matrix": [3, 0], "x": 0, "y": 4 }, { "label": "24", "matrix": [3, 1], "x": 2, "y": 4 }, { "label": "22", "matrix": [3, 2], "x": 3, "y": 4 },
41 { "label": "4", "matrix": [4, 0], "x": 0, "y": 5 }, { "label": "25", "matrix": [4, 1], "x": 2, "y": 5 }, { "label": "21", "matrix": [4, 2], "x": 3, "y": 5 },
42 { "label": "5", "matrix": [5, 0], "x": 0, "y": 6 }, { "label": "20", "matrix": [5, 2], "x": 3, "y": 6 },
43 { "label": "6", "matrix": [6, 0], "x": 0, "y": 7 }, { "label": "19", "matrix": [6, 2], "x": 3, "y": 7 },
44 { "label": "7", "matrix": [7, 0], "x": 0, "y": 8 }, { "label": "18", "matrix": [7, 2], "x": 3, "y": 8 },
45 { "label": "8", "matrix": [8, 0], "x": 0, "y": 9 }, { "label": "17", "matrix": [8, 2], "x": 3, "y": 9 },
46 { "label": "9", "matrix": [9, 0], "x": 0, "y": 10 }, { "label": "16", "matrix": [9, 2], "x": 3, "y": 10 },
47 { "label": "10", "matrix": [10, 0], "x": 0, "y": 11 }, { "label": "15", "matrix": [10, 2], "x": 3, "y": 11 },
48 { "label": "11", "matrix": [11, 0], "x": 0, "y": 12 }, { "label": "14", "matrix": [11, 2], "x": 3, "y": 12 },
49 { "label": "12", "matrix": [12, 0], "x": 0, "y": 13 }, { "label": "26", "matrix": [12, 1], "x": 2, "y": 13 }, { "label": "13", "matrix": [12, 2], "x": 3, "y": 13 }
50 ]
51 }
52 }
53}
diff --git a/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json
new file mode 100644
index 000000000..e2f557adf
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json
@@ -0,0 +1,22 @@
1{
2 "keyboard": "ez_maker/directpins/teensy_lc",
3 "keymap": "default",
4 "layout": "LAYOUT_all",
5 "layers": [
6 [
7 "KC_0",
8 "KC_1",
9 "KC_2", "KC_3",
10 "KC_4", "KC_5", "KC_6",
11 "KC_7", "KC_8", "KC_9",
12 "KC_A", "KC_B",
13 "KC_C", "KC_D",
14 "KC_E", "KC_F",
15 "KC_G", "KC_H",
16 "KC_I", "KC_J",
17 "KC_K", "KC_L",
18 "KC_M", "KC_N",
19 "KC_O", "KC_P", "KC_Q"
20 ]
21 ]
22}
diff --git a/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h b/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h
new file mode 100644
index 000000000..f73bec3dc
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h
@@ -0,0 +1,51 @@
1/*
2 ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17#ifndef _MCUCONF_H_
18#define _MCUCONF_H_
19
20#define KL2x_MCUCONF
21
22/*
23 * HAL driver system settings.
24 */
25/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */
26#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
27#define KINETIS_PLLCLK_FREQUENCY 96000000UL
28#define KINETIS_SYSCLK_FREQUENCY 48000000UL
29
30/*
31 * SERIAL driver system settings.
32 */
33#define KINETIS_SERIAL_USE_UART0 TRUE
34
35/*
36 * USB driver settings
37 */
38#define KINETIS_USB_USE_USB0 TRUE
39
40/* Need to redefine this, since the default (configured for K20x) might not apply
41 * 2 for Teensy LC
42 * 5 for Teensy 3.x */
43#define KINETIS_USB_USB0_IRQ_PRIORITY 2
44
45/*
46 * I2C driver settings
47 */
48#define KINETIS_I2C_USE_I2C0 TRUE
49#define KINETIS_I2C_I2C0_PRIORITY 4
50
51#endif /* _MCUCONF_H_ */
diff --git a/keyboards/ez_maker/directpins/teensy_lc/readme.md b/keyboards/ez_maker/directpins/teensy_lc/readme.md
new file mode 100644
index 000000000..25172ab01
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_lc/readme.md
@@ -0,0 +1,19 @@
1# DirectPins
2
3![Teensy LC Pinout Guide](https://www.pjrc.com/teensy/card6a_rev2.png)
4
5Easily assign keys to pins for your custom project using QMK Configurator.
6
7* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
8* Hardware Supported: Teensy LC
9* Hardware Availability: https://pjcr.com/
10
11Make example for this keyboard (after setting up your build environment):
12
13 qmk compile -kb ez_maker/directpins/teensy_lc -km default
14
15Flashing example for this keyboard:
16
17 qmk flash -kb ez_maker/directpins/teensy_lc -km default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ez_maker/directpins/teensy_lc/rules.mk b/keyboards/ez_maker/directpins/teensy_lc/rules.mk
new file mode 100644
index 000000000..e04e84328
--- /dev/null
+++ b/keyboards/ez_maker/directpins/teensy_lc/rules.mk
@@ -0,0 +1,5 @@
1# MCU name
2USE_CHIBIOS_CONTRIB = yes
3
4# Enter lower-power sleep mode when on the ChibiOS idle thread
5OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE