[Please help] my custom keyboard is not responding to the QMK firmware

Hi there, I need some helps, I have been researching and updating the firmware file, and still can’t get my keyboard start typing at all

here I have made my custom qmk firmware

this is the qode looks like
keymap.c

#include QMK_KEYBOARD_H

#define DEFAULT_LAYER 0

// Define the keymap
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [DEFAULT_LAYER] = LAYOUT_split_5x16(
      KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_NO, KC_NO,
      KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_NO, KC_NO,
      KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT, KC_NO, KC_NO, KC_NO,
      KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_UP,  KC_NO, KC_NO, KC_NO, KC_NO,
      KC_LCTL, KC_LGUI, KC_LALT, KC_SPC,           KC_SPC,  KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
    ),
};

config.h

#pragma once

// Custom layout macro for 5x16 split keyboard
#define LAYOUT_split_5x16( \
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, \
    k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k30, k31, \
    k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, \
    k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60, k61, k62, k63, \
    k64, k65, k66, k67, k68, k69, k70, k71, k72, k73, k74, k75, k76, k77, k78, k79 \
) { \
    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15 }, \
    { k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k30, k31 }, \
    { k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 }, \
    { k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60, k61, k62, k63 }, \
    { k64, k65, k66, k67, k68, k69, k70, k71, k72, k73, k74, k75, k76, k77, k78, k79 } \
}

#define DEBUG

keyboard.json

{
    "manufacturer": "Agnes",
    "keyboard_name": "inimblesloth/thekeyboard",
    "maintainer": "agneschiang",
    "bootloader": "atmel-dfu",
    "diode_direction": "COL2ROW",
    "features": {
        "bootmagic": true,
        "command": false,
        "console": false,
        "extrakey": true,
        "mousekey": true,
        "nkro": true
    },
    "matrix_pins": {
        "cols": ["B5", "B6", "B7", "C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7", "D0", "D1", "D2", "D3", "D4"],
        "rows": ["B0", "B1", "B2", "B3", "B4"]
    },
    "processor": "atmega32u4",
    "usb": {
        "device_version": "1.0.0",
        "pid": "0x6060",
        "vid": "0xFEED"
    },
    "layouts": {
        "LAYOUT_split_3x6_3": {
            "layout": [
                {"label": "~", "matrix":[0, 0], "x":0, "y":0},
                {"label": "!", "matrix":[0, 1], "x":1, "y":0},
                {"label": "@", "matrix":[0, 2], "x":2, "y":0},
                {"label": "#", "matrix":[0, 3], "x":3, "y":0},
                {"label": "$", "matrix":[0, 4], "x":4, "y":0},
                {"label": "%", "matrix":[0, 5], "x":5, "y":0},
                {"label": "^", "matrix":[0, 6], "x":6, "y":0},
                {"label": "&", "matrix":[0, 8], "x":7.75, "y":0},
                {"label": "*", "matrix":[0, 9], "x":8.75, "y":0},
                {"label": "(", "matrix":[0, 10], "x":9.75, "y":0},
                {"label": ")", "matrix":[0, 11], "x":10.75, "y":0},
                {"label": "_", "matrix":[0, 12], "x":11.75, "y":0},
                {"label": "+", "matrix":[0, 13], "x":12.75, "y":0},
                {"label": "Backspace", "matrix":[0, 14], "x":13.75, "y":0, "w":2},

                {"label": "Tab", "matrix":[1, 0], "x":0, "y":1, "w":1.5},
                {"label": "Q", "matrix":[1, 2], "x":1.5, "y":1},
                {"label": "W", "matrix":[1, 3], "x":2.5, "y":1},
                {"label": "E", "matrix":[1, 4], "x":3.5, "y":1},
                {"label": "R", "matrix":[1, 5], "x":4.5, "y":1},
                {"label": "T", "matrix":[1, 6], "x":5.5, "y":1},
                {"label": "Y", "matrix":[1, 7], "x":7.25, "y":1},
                {"label": "U", "matrix":[1, 8], "x":8.25, "y":1},
                {"label": "I", "matrix":[1, 9], "x":9.25, "y":1},
                {"label": "O", "matrix":[1, 10], "x":10.25, "y":1},
                {"label": "P", "matrix":[1, 11], "x":11.25, "y":1},
                {"label": "{", "matrix":[1, 12], "x":12.25, "y":1},
                {"label": "}", "matrix":[1, 13], "x":13.25, "y":1},
                {"label": "|", "matrix":[1, 15], "x":14.25, "y":1, "w":1.5},

                {"label": "Caps Lock", "matrix":[2, 0], "x":0, "y":2, "w":1.75},
                {"label": "A", "matrix":[2, 2], "x":1.75, "y":2},
                {"label": "S", "matrix":[2, 3], "x":2.75, "y":2},
                {"label": "D", "matrix":[2, 4], "x":3.75, "y":2},
                {"label": "F", "matrix":[2, 5], "x":4.75, "y":2},
                {"label": "G", "matrix":[2, 6], "x":5.75, "y":2},
                {"label": "H", "matrix":[2, 8], "x":7.5, "y":2},
                {"label": "J", "matrix":[2, 9], "x":8.5, "y":2},
                {"label": "K", "matrix":[2, 10], "x":9.5, "y":2},
                {"label": "L", "matrix":[2, 11], "x":10.5, "y":2},
                {"label": ":", "matrix":[2, 12], "x":11.5, "y":2},
                {"label": "\"", "matrix":[2, 13], "x":12.5, "y":2},
                {"label": "Enter", "matrix":[2, 14], "x":13.5, "y":2, "w":2.25},

                {"label": "LShift", "matrix":[3, 1], "x":0, "y":3, "w":2.25},
                {"label": "Z", "matrix":[3, 2], "x":2.25, "y":3},
                {"label": "X", "matrix":[3, 3], "x":3.25, "y":3},
                {"label": "C", "matrix":[3, 4], "x":4.25, "y":3},
                {"label": "V", "matrix":[3, 5], "x":5.25, "y":3},
                {"label": "B", "matrix":[3, 6], "x":6.25, "y":3},
                {"label": "N", "matrix":[3, 8], "x":8, "y":3},
                {"label": "M", "matrix":[3, 9], "x":9, "y":3},
                {"label": "<", "matrix":[3, 10], "x":10, "y":3},
                {"label": ">", "matrix":[3, 11], "x":11, "y":3},
                {"label": "?", "matrix":[3, 12], "x":12, "y":3},
                {"label": "Up", "matrix":[3, 14], "x":13.75, "y":3},

                {"label": "LCtrl", "matrix":[4, 0], "x":0, "y":4, "w":1.25},
                {"label": "Win", "matrix":[4, 1], "x":1.25, "y":4, "w":1.25},
                {"label": "LAlt", "matrix":[4, 3], "x":2.5, "y":4, "w":1.25},
                {"label": "Space", "matrix":[4, 4], "x":3.75, "y":4, "w":2.25},
                {"label": "Space", "matrix":[4, 9], "x":8, "y":4, "w":2.25},
                {"label": "RAlt", "matrix":[4, 10], "x":10.25, "y":4, "w":1.25},
                {"label": "Left", "matrix":[4, 13], "x":12.75, "y":4},
                {"label": "Down", "matrix":[4, 14], "x":13.75, "y":4},
                {"label": "Right", "matrix":[4, 15], "x":14.75, "y":4}]
        }
    }
}

thekeyboard.h

#pragma once

#include "quantum.h"

I compile correctly in the qmk toolbox and flashed it successfully, however the keboard still not responding to it

I really can’t figure it out
please help!!!

I have a few ideas, mostly my own learning by doing. Do you have any key working or is there just no response at all? I didn’t really find anything according to the keyboard name, that makes it a bit trickier :slight_smile:

  • One of my mistakes was wrong Pin naming, not sure about the atm32u4 and should also depend on ProMicro/directly attached in your case.
  • Diode direction could also be an issue, you can try to swap that to ROW2COL.
  • If you’re using a ProMicro, is it soldered on the right way around? If you can flash it I doubt there is a short, so that’s more unlikely.
  • if you have a Multimeter, check your Matrix connections from the MCU pin to the diodes/switches for continuity, just to make sure your electrical connection is there

If you have no keys that are currently working at all, I would bet most on the Diode direction. Cold joints/other issues for the whole matrix seems a bit unlikely.

hi, thank you for the response, I really appricated
so I did update the “diode_direction” to ROW2COL and it is not working
and looking at the board, I think it is the right proccessor atmega32u4

here is the schematic

but still does seems to work