diff --git a/keyboard/ergodox_ez/keymaps/ab/ab.hex b/keyboard/ergodox_ez/keymaps/ab/ab.hex
new file mode 100644
index 0000000000..1659ae5802
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ab/ab.hex differ
diff --git a/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.json b/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.json
new file mode 100644
index 0000000000..4ade748732
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.json
@@ -0,0 +1,385 @@
+[
+  {
+    "name": "Beginner's Keymap for Ergodox-EZ",
+    "author": "Anand Babu Periasamy"
+  },
+  [
+    {
+      "x": 3.5
+    },
+    "#\n3\n\n\nF3",
+    {
+      "x": 10.5
+    },
+    ")\n0\n\n\nF10"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 2.5
+    },
+    "@\n2\n\n\nF2",
+    {
+      "x": 1
+    },
+    "$\n4\n\n\nF4",
+    {
+      "x": 8.5
+    },
+    "(\n9\n\n\nF9",
+    {
+      "x": 1
+    },
+    "_\n-\n\n\nF11"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 5.5
+    },
+    "%\n5\n\n\nF5",
+    "^\n6\n\n\nF6",
+    {
+      "x": 4.5
+    },
+    "&\n7\n\n\nF7",
+    "*\n8\n\n\nF8"
+  ],
+  [
+    {
+      "y": -0.875,
+      "w": 1.5
+    },
+    "~\n`\n\n\nEsc",
+    "!\n1\n\n\nF1",
+    {
+      "x": 14.5
+    },
+    "+\n=\n\n\nF12",
+    {
+      "a": 7,
+      "w": 1.5
+    },
+    "Backspace\n\n\n\nBackspace"
+  ],
+  [
+    {
+      "y": -0.375,
+      "x": 3.5
+    },
+    "E\n\n\n\n<i class=\"fa fa-caret-up\" aria-hidden=\"true\"></i>",
+    {
+      "x": 10.5
+    },
+    "I"
+  ],
+  [
+    {
+      "y": -0.8799999999999999,
+      "x": 2.5
+    },
+    "W"
+  ],
+  [
+    {
+      "y": -0.9950000000000001,
+      "x": 4.5,
+      "a": 4
+    },
+    "R",
+    {
+      "x": 8.5,
+      "a": 7
+    },
+    "U",
+    {
+      "x": 1
+    },
+    "O"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 5.5
+    },
+    "T",
+    {
+      "h": 1.5
+    },
+    "<i class=\"fa fa-chevron-circle-left\" aria-hidden=\"true\"></i>",
+    {
+      "x": 4.5,
+      "h": 1.5
+    },
+    "<i class=\"fa fa-chevron-circle-right\" aria-hidden=\"true\"></i>",
+    "Y"
+  ],
+  [
+    {
+      "y": -0.875,
+      "a": 6,
+      "w": 1.5
+    },
+    "Tab",
+    {
+      "a": 7
+    },
+    "Q",
+    {
+      "x": 14.5
+    },
+    "P",
+    {
+      "a": 4,
+      "w": 1.5
+    },
+    "|\n\\"
+  ],
+  [
+    {
+      "y": -0.375,
+      "x": 3.5,
+      "a": 7
+    },
+    "D\n\n\n\n<i class=\"fa fa-caret-down\" aria-hidden=\"true\"></i>",
+    {
+      "x": 10.5
+    },
+    "K"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 2.5
+    },
+    "S\n\n\n\n<i class=\"fa fa-caret-left\" aria-hidden=\"true\"></i>",
+    {
+      "x": 1
+    },
+    "F\n\n\n\n<i class=\"fa fa-caret-right\" aria-hidden=\"true\"></i>",
+    {
+      "x": 8.5
+    },
+    "J",
+    {
+      "x": 1
+    },
+    "L"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 5.5
+    },
+    "G",
+    {
+      "x": 6.5
+    },
+    "H"
+  ],
+  [
+    {
+      "y": -0.875,
+      "a": 4,
+      "fa": [
+        0,
+        0,
+        0,
+        2
+      ],
+      "w": 1.5
+    },
+    "\n\n\nCtrl\n\n\nCaps",
+    {
+      "a": 7
+    },
+    "A",
+    {
+      "x": 14.5,
+      "a": 4
+    },
+    ":\n;",
+    {
+      "a": 7,
+      "w": 1.5
+    },
+    "Enter"
+  ],
+  [
+    {
+      "y": -0.625,
+      "x": 6.5,
+      "h": 1.5
+    },
+    "PgUp",
+    {
+      "x": 4.5,
+      "h": 1.5
+    },
+    "PgDn"
+  ],
+  [
+    {
+      "y": -0.75,
+      "x": 3.5
+    },
+    "C",
+    {
+      "x": 10.5,
+      "a": 4
+    },
+    "<\n,"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 2.5,
+      "a": 7
+    },
+    "X",
+    {
+      "x": 1
+    },
+    "V",
+    {
+      "x": 8.5
+    },
+    "M",
+    {
+      "x": 1,
+      "a": 4
+    },
+    ">\n."
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 5.5,
+      "a": 7
+    },
+    "B",
+    {
+      "x": 6.5
+    },
+    "N"
+  ],
+  [
+    {
+      "y": -0.875,
+      "w": 1.5
+    },
+    "Shift",
+    "Z",
+    {
+      "x": 14.5,
+      "a": 4
+    },
+    "?\n/",
+    {
+      "w": 1.5
+    },
+    "\"\n'"
+  ],
+  [
+    {
+      "y": -0.375,
+      "x": 3.5,
+      "a": 7
+    },
+    "Alt\n\n\n\n<i class=\"fa fa-hand-o-left\" aria-hidden=\"true\"></i>",
+    {
+      "x": 10.5
+    },
+    "<i class=\"fa fa-long-arrow-down\" aria-hidden=\"true\"></i>\n\n\n\n<i class='fa fa-volume-down'></i>"
+  ],
+  [
+    {
+      "y": -0.875,
+      "x": 2.5
+    },
+    "<i class='fa fa-linux'></i>",
+    {
+      "x": 1
+    },
+    "Alt\n\n\n\n<i class=\"fa fa-hand-o-right\" aria-hidden=\"true\"></i>",
+    {
+      "x": 8.5
+    },
+    "<i class=\"fa fa-long-arrow-left\" aria-hidden=\"true\"></i>",
+    {
+      "x": 1
+    },
+    "<i class=\"fa fa-long-arrow-up\" aria-hidden=\"true\"></i>\n\n\n\n<i class='fa fa-volume-up'></i>"
+  ],
+  [
+    {
+      "y": -0.75,
+      "x": 0.5
+    },
+    "Ctrl\n\n\n\n<i class='fa fa-download'></i>",
+    "Esc",
+    {
+      "x": 14.5
+    },
+    "<i class=\"fa fa-long-arrow-right\" aria-hidden=\"true\"></i>\n\n\n\n<i class='fa fa-volume-off'></i>",
+    "Fn"
+  ],
+  [
+    {
+      "r": 30,
+      "rx": 6.5,
+      "ry": 4.25,
+      "y": -1,
+      "x": 1
+    },
+    "<i class=\"fa fa-clone\" aria-hidden=\"true\"></i>",
+    "("
+  ],
+  [
+    {
+      "h": 2
+    },
+    "Space",
+    {
+      "h": 2
+    },
+    "Del",
+    "["
+  ],
+  [
+    {
+      "x": 2
+    },
+    "{"
+  ],
+  [
+    {
+      "r": -30,
+      "rx": 13,
+      "y": -1,
+      "x": -3
+    },
+    ")",
+    "<i class=\"fa fa-paste\" aria-hidden=\"true\"></i>"
+  ],
+  [
+    {
+      "x": -3
+    },
+    "]",
+    {
+      "h": 2
+    },
+    "Enter",
+    {
+      "h": 2
+    },
+    "<i class=\"fa fa-chevron-left\" aria-hidden=\"true\"></i>"
+  ],
+  [
+    {
+      "x": -3
+    },
+    "}"
+  ]
+]
\ No newline at end of file
diff --git a/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png b/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png
new file mode 100644
index 0000000000..9a6546e357
Binary files /dev/null and b/keyboard/ergodox_ez/keymaps/ab/keyboard-layout.png differ
diff --git a/keyboard/ergodox_ez/keymaps/ab/keymap.c b/keyboard/ergodox_ez/keymaps/ab/keymap.c
new file mode 100644
index 0000000000..9b5c93c1ee
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ab/keymap.c
@@ -0,0 +1,140 @@
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0 // default layer
+#define FN1  1 // media layer
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap 0: Basic layer
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |   `    |   1  |   2  |   3  |   4  |   5  |  6   |           |   7  |   8  |   9  |   0  |   -  |   =  | BSpace |
+ * |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
+ * | Tab    |   Q  |   W  |   E  |   R  |   T  | Fwd  |           | Back |   Y  |   U  |   I  |   O  |   P  |   \    |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |Caps/Ctl|   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  | Enter  |
+ * |--------+------+------+------+------+------| PgUp |           | PgDn |------+------+------+------+------+--------|
+ * | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |   /  |   '    |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   | Ctrl |  Esc | LGui | Alt  | Alt  |                                       | Left |  Up  |  Dn  | Right|  Fn  |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        | Copy |  (   |       |   )  | Paste|
+ *                                 ,------|------+------|       |------+------+------.
+ *                                 |      |      |  [   |       |   ]  |      |      |
+ *                                 |Space | Del  |------|       |------| Enter|BSpace|
+ *                                 |      |      |  {   |       |   }  |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+    [BASE] = KEYMAP(  // layer 0 : default
+	// left hand
+	KC_GRV,   KC_1,    KC_2,    KC_3,     KC_4,     KC_5,    KC_6,
+	KC_TAB,   KC_Q,    KC_W,    KC_E,     KC_R,     KC_T,    KC_WBAK,
+	CTL_T(KC_CAPS), KC_A, KC_S, KC_D,     KC_F,     KC_G,
+	KC_LSFT,  KC_Z,    KC_X,    KC_C,     KC_V,     KC_B,    KC_PGUP,
+	KC_LCTL,  KC_ESC,  KC_LGUI, KC_LALT, KC_LALT,
+	LCTL(KC_C), KC_LCBR,
+	KC_LPRN,
+	KC_SPC,   KC_DEL,  KC_LBRC,
+	// right hand
+	KC_7,     KC_8,    KC_9,    KC_0,     KC_MINS,  KC_EQL,  KC_BSPC,
+	KC_WFWD,  KC_Y,    KC_U,    KC_I,     KC_O,     KC_P,    KC_BSLS,
+	KC_H,     KC_J,    KC_K,    KC_L,     KC_SCLN,  KC_ENT,
+	KC_PGDN,  KC_N,    KC_M,    KC_COMM,  KC_DOT,   KC_SLSH, KC_QUOT,
+	KC_UP,    KC_LEFT, KC_RIGHT,KC_DOWN,  TG(FN1),
+	KC_RCBR,  LCTL(KC_V),
+	KC_RPRN,
+	KC_RBRC,  KC_ENT,  KC_BSPC
+	),
+/* Keymap 1: Fn Keys, media and mouse keys
+ *
+ * ,--------------------------------------------------.           ,--------------------------------------------------.
+ * |  Esc   |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |           |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 | BSpace |
+ * |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
+ * |        |      |      | MsUp |      |      |      |           |      |      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |      |      |      |      |        |
+ * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
+ * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
+ * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
+ *   |Teensy|      |      | Lclk | Rclk |                                       |      |VolUp |VolDn | Mute |      |
+ *   `----------------------------------'                                       `----------------------------------'
+ *                                        ,-------------.       ,-------------.
+ *                                        |      |      |       |      |      |
+ *                                 ,------|------+------|       |------+------+------.
+ *                                 |      |      |      |       |      |      |      |
+ *                                 |      |      |------|       |------|      |      |
+ *                                 |      |      |      |       |      |      |      |
+ *                                 `--------------------'       `--------------------'
+ */
+// FN1 Layer
+    [FN1] = KEYMAP(
+	KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,
+	KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS,
+	KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
+	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+	KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
+	KC_TRNS, KC_TRNS,
+	KC_TRNS,
+	RESET,   KC_TRNS, KC_TRNS,
+	// right hand
+	KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_BSPC,
+	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
+	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+	KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
+	KC_TRNS, KC_TRNS,
+	KC_TRNS,
+	KC_TRNS, KC_TRNS, KC_TRNS
+	),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+    // MACRODOWN only works in this function
+    switch(id) {
+    case 0:
+	if (record->event.pressed) {
+	    register_code(KC_RSFT);
+	} else {
+	    unregister_code(KC_RSFT);
+	}
+	break;
+    }
+    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) {
+
+    uint8_t layer = biton32(layer_state);
+
+    ergodox_board_led_off();
+    ergodox_right_led_1_off();
+    ergodox_right_led_2_off();
+    ergodox_right_led_3_off();
+    switch (layer) {
+	// TODO: Make this relevant to the ErgoDox EZ.
+    case 1:
+	ergodox_right_led_1_on();
+	break;
+    case 2:
+	ergodox_right_led_2_on();
+	break;
+    default:
+	// none
+	break;
+    }
+
+};
diff --git a/keyboard/ergodox_ez/keymaps/ab/readme.md b/keyboard/ergodox_ez/keymaps/ab/readme.md
new file mode 100644
index 0000000000..67d47151bc
--- /dev/null
+++ b/keyboard/ergodox_ez/keymaps/ab/readme.md
@@ -0,0 +1,21 @@
+# Beginner's keymap for Ergodox-EZ
+Beginner's keymap emulates standard QWERTY keyboard for beginners. Once you get comfortable with the Ergodox-EZ, you may fork this keymap and customize it for your own needs or find a suitable one from the community contributed keymaps. 
+
+![Beginner's Keymap](keyboard-layout.png)
+
+#### Pros
+* Easier to switch between regular keyboards and Ergodox-EZ.
+* Easy on beginners. It has everything you need for your day to day usage.
+
+#### Cons
+* Keys are not ergonomically placed to take full advantage of Ergodox-EZ. Take a look at this [Default Keymap](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboard/ergodox_ez/keymaps/default/readme.md)
+* While multiple layers are possible, beginner's keymap only uses one additional layer for mouse, function and volume keys.
+
+#### Notes
+* Ideally number key [6] should have started from the right-hand side of the keyboard. Doing so breaks the familiar QWERTY layout.
+* Quote key ['] should have been placed between [:] and [Enter]. Due to lack of key space, it is placed below [Enter].
+* Double [Alt] keys are placed adjacent to each other for convenience.
+* [CapsLock] also acts as [Ctrl] key when you press and hold. It is convenient for GNU Emacs users.
+* Additional bracket keys are placed in the center of the keyboard for programmer's convenience.
+
+