diff --git a/keyboard/ergodox_ez/keymaps/supercoder/README.md b/keyboard/ergodox_ez/keymaps/supercoder/README.md
new file mode 100644
index 0000000000..ad531b3da7
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/supercoder/README.md
@@ -0,0 +1,29 @@
+SuperCoder 2000 layout for the ErgoDox
+==================================================
+
+![SuperCoder 2000](images/supercoder_2000.jpg)
+
+Ever found yourself in need of entering binary codes rapidly? Ever wanted to use
+all ten fingers to do so? Ever felt your SuperCoder 2000 too limiting, by only
+having three buttons? We heard you! With this layout for the ErgoDox EZ, you
+will be able to tap in binary at an unparalleled speed and accuracy! Efficiency
+never seen before!
+
+Behold the Ultimate SuperCoder 2000 layout!
+
+![SuperCoder layout](images/layout.png)
+
+### To use it...
+
+To use this piece of top quality engineering, you can either
+[download the hex file][hex] we have prepared for you, or you can compile it on
+your own:
+
+ [hex]: https://raw.githubusercontent.com/algernon/ergodox-supercoder/master/supercoder.hex
+
+```
+$ git clone https://github.com/jackhumbert/qmk_firmware.git
+$ cd qmk_firmware/keyboard/ergodox_ez
+$ git clone https://github.com/algernon/ergodox-supercoder.git keymaps/supercoder
+$ make KEYMAP=supercoder
+```
diff --git a/keyboard/ergodox_ez/keymaps/supercoder/config_user.h b/keyboard/ergodox_ez/keymaps/supercoder/config_user.h
new file mode 100644
index 0000000000..8da1383726
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/supercoder/config_user.h
@@ -0,0 +1,9 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H 1
+
+#include "config.h"
+
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+
+#endif
diff --git a/keyboard/ergodox_ez/keymaps/supercoder/images/layout.png b/keyboard/ergodox_ez/keymaps/supercoder/images/layout.png
new file mode 100644
index 0000000000..c72958c6e7
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/supercoder/images/layout.png differ
diff --git a/keyboard/ergodox_ez/keymaps/supercoder/images/supercoder_2000.jpg b/keyboard/ergodox_ez/keymaps/supercoder/images/supercoder_2000.jpg
new file mode 100644
index 0000000000..d690eaf020
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/supercoder/images/supercoder_2000.jpg differ
diff --git a/keyboard/ergodox_ez/keymaps/supercoder/keymap.c b/keyboard/ergodox_ez/keymaps/supercoder/keymap.c
new file mode 100644
index 0000000000..ca21d30fd2
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/supercoder/keymap.c
@@ -0,0 +1,75 @@
+/*
+ * SuperCoder 2000 layout
+ */
+
+#include "ergodox_ez.h"
+
+/* Layers */
+
+#define SC2K    0 // default layer
+
+/* The Keymap */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+  /* Keymap 0: Base Layer
+   *
+   * ,-----------------------------------------------------.           ,-----------------------------------------------------.
+   * |         0 |   0  |   0  |   0  |   0  |   0  |   0  |           |  1   |   1  |   1  |   1  |   1  |  1   | 1         |
+   * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
+   * |         0 |   0  |   0  |   0  |   0  |   0  |   0  |           |  1   |   1  |   1  |   1  |   1  |  1   | 1         |
+   * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
+   * |         0 |   0  |   0  |   0  |   0  |   0  |------|           |------|   1  |   1  |   1  |   1  |  1   | 1         |
+   * |-----------+------+------+------+------+------|   0  |           |  1   |------+------+------+------+------+-----------|
+   * |         0 |   0  |   0  |   0  |   0  |   0  |      |           |      |   1  |   1  |   1  |   1  |  1   | 1         |
+   * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
+   *     |     0 |   0  |   0  |   0  |   0  |                                       |   1  |   1  |   1  |  1   | 1     |
+   *     `-----------------------------------'                                       `-----------------------------------'
+   *                                         ,-------------.           ,-------------.
+   *                                         | DONE | DONE |           | DONE | DONE |
+   *                                  ,------|------|------|           |------+------+------.
+   *                                  |      |      | DONE |           | DONE |      |      |
+   *                                  | DONE | DONE |------|           |------| DONE | DONE |
+   *                                  |      |      | DONE |           | DONE |      |      |
+   *                                  `--------------------'           `--------------------'
+   */
+[SC2K] = KEYMAP(
+ // left hand
+ KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0
+,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0
+,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0
+,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0
+,KC_0    ,KC_0    ,KC_0    ,KC_0    ,KC_0
+
+                                             ,KC_ENT  ,KC_ENT
+                                                      ,KC_ENT
+                                    ,KC_ENT  ,KC_ENT  ,KC_ENT
+
+                                                                // right hand
+                                                               ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1
+                                                               ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1
+                                                                        ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1
+                                                               ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1
+                                                                                 ,KC_1    ,KC_1    ,KC_1    ,KC_1    ,KC_1
+
+                                                               ,KC_ENT  ,KC_ENT
+                                                               ,KC_ENT
+                                                               ,KC_ENT  ,KC_ENT   ,KC_ENT
+                  ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+  return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+}
diff --git a/keyboard/ergodox_ez/keymaps/supercoder/makefile.mk b/keyboard/ergodox_ez/keymaps/supercoder/makefile.mk
new file mode 100644
index 0000000000..41a195d9c0
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/supercoder/makefile.mk
@@ -0,0 +1,6 @@
+BOOTMAGIC_ENABLE=no
+COMMAND_ENABLE=no
+SLEEP_LED_ENABLE=no
+UNICODE_ENABLE=no
+MOUSEKEY_ENABLE=no
+EXTRAKEY_ENABLE=no
diff --git a/keyboard/ergodox_ez/keymaps/supercoder/supercoder.hex b/keyboard/ergodox_ez/keymaps/supercoder/supercoder.hex
new file mode 100644
index 0000000000..4a1e2fbede
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/supercoder/supercoder.hex differ