Giter Club home page Giter Club logo

discipline's Introduction

DISCIPLINE V2

65% keyboard assembled with only through hole components, including usb type-c

LICENSE

Discipline V2 is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. cc-by-nc

This PCB design may be freely reproduced, modified, and manufactured for PERSONAL USE ONLY and may not be reproduced in physical form for public sale outside of CFTKB.com.

If you have built upon this work and have changed the design in a significant way, the non-commercial clause can be waived. If you have developed your own design using files in this repository and would like to sell it, please contact me at [email protected]. I fully support those looking to make new things and be creative and will more than likely approve and support your project.

BOM, Build Guide, and Flashing Information

Kits available at cftkb.com

Optional High Profile Lasercut Acrylic Case

discipline

discipline's People

Contributors

coseyfannitutti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

discipline's Issues

Flashing Guide Links 404

Both Squarespace hosted flashing guides are returning a 404.

curl 'https://static1.squarespace.com/static/5c533d33348cd92b886e544d/t/5d90521b1d22d176452c44a5/1569739293092/DISCIPLINE+FLASHING+GUIDE.pdf' \ -H 'authority: static1.squarespace.com' \ -H 'pragma: no-cache' \ -H 'cache-control: no-cache' \ -H 'upgrade-insecure-requests: 1' \ -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \ -H 'sec-fetch-site: none' \ -H 'sec-fetch-mode: navigate' \ -H 'sec-fetch-user: ?1' \ -H 'sec-fetch-dest: document' \ -H 'accept-language: en-US,en;q=0.9,ja;q=0.8' \ --compressed

DXF Acrylic case error

When trying to open the .DXF files in Adobe Illustrator I get an unknown file error, I tried to download and clone the entire repository, individual files and rename them and they still cannot be viewed

Discipline65 Case

I was unsure about the colors you chose for the picture provided for the case. It looks like you built those from Ponoko and used Lavender Acrylic and Cream Acrylic for the 2 x discpline-top2.

Is that correct? If so do you mind if I make a pull request to update your readme to give guidance to others looking to build those cases.

Oh those cases look amazing.

Breakout header for unused pins and moving col pins

Cosey, first off - thanks for a great keyboard. I've been playing around with my discipline v2 and have been adding RGB underglow recently. Sadly adding this in VIA is a bit of a chore as you need to apply a custom json definition every time you load VIA.
While digging into this I was also looking into adding a oled display as this keyboard is a dream for adding additional components like this with only alterations to the Acryllic PCB cover to allow housing either a oled display or a rotary encoder or the like.

It would be great though if there would be a breakout header to access the unused pins of the MCU and while at it, it would be awesome to move PC0/PC1 (col13, col12) to PC7/PD0 or other available ports to free up the i2c ports of the MCU.

If you could incorportate this I think a valid next step would be to enable these hidden features in the VIA configuration so they are available out of the box.

If you'd like to approach this I'd be happy to offer my assistance.

Acrilic Guard DXF empty

Hi,

When i try to open acrylic-guard.dxf in inkscape or any online dxf viewer, i get the message that the file is empty.

Thanks a lot for your assistance!

SOURCE V2

Have you planned to publish the source of the V2 with ISO layout ?

Discipline V2 Groupbuy

@coseyfannitutti
Hi a lot of people have not uet received their discipline V2 from last November's groupbuy. Can you please give an update whether they will be shipped? Last update you gave was from over three months ago. Thanks.

Alternative Part

Hi, I would like to ask if there is any alternative part. Some of the components are out of stock and will only be in stock in ten or more weeks. The part in question in the 4.7uF Capacitor (UMT1H4R7MDD) and the 16mhz crystal (ABL-16.000MHz-B4Y). I was only able to get my hand on the PCB v1 and the backplate.

JLC PCB right configuration

After searching through the internet a lot, I didn't see anyone posting how to properly print the PCB, so I want to ask if this configuration is ok.

Thank you.
image

discipline-top-2.dxf file

Hey,

The new discipline-top-2.dxf file doesn't work on Ponoko. I try to upload it and the webpage crash.

SA Profile keycap binding to bottom corner of case

I was wondering if it was possible to amend the layer of the case (closed layer) so there is a bit more clearance for SA profile keycaps. I have this issue with both the right arrow key and the left CTRL key. I could sand the layer down, but it would be nice to not have to do this.

aluminum feet

Are there holes on the bottom plate that are big enough to install aluminum feet on the V2 like there is on the V1?

Question regarding case

In MechMerlin's "CFTKB Discipline 65% Rebuild with NEW Sandwich Case" build stream, he noted issues with finding a USB-C cable that fit in the hole. Is this something you can fix with the dimensions of the case? If not, I believe you mentioned in the stream that a cable from Zap Cables works, any others?

Will the v1 pcb fit the v2 case?

A 3D printing shop has mentioned that the v1 pcb will not fit the v2 cases. It looks like the layouts are identical bar a couple of standoff holes. Is this accurate please?

Plate layout?

Hey. I'm self building the Discipline V2 board (because a) I'm impatient and b) I missed the groupbuys) and was wondering if you could please make the gerbers for the switch plate available? Cheers!

BOM Guide False

There is an Error in the BOM. Comparing it to the pdf build guide there is a difference between the IC's used. In the BOM a ATMEGA32P-PU is mentioned under the Part column (the one for the discipad), this is wrong. What it should be is a ATMEGA32A-PU as mentioned in the Query column.

image

image

This is a critical flaw for everyone using the BOM as it makes the end product unusable because of it.

Help with Bootloader/ Flashing

Hello, I recently acquired some discipline 65 pcbs and parts and have soldered one together. I am now at the point where i need to flash the micro controllers. However I have no clue how to go about this. I have a usbasb programmer (https://www.amazon.co.uk/gp/product/B06XYV162N/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&psc=1) and have downloader winavr but after that I am completly lost. I have no experiance at all with this kind of thing. Any help would be greatly appreciated.

Personal build information/help

Hi @coseyfannitutti I'm writing to you because, as per subject I'd like to build the Discipline v2 by myself but by being completely new to the hobby, I'm not quite sure where to go to get the parts manufactured, specifically the pcb/plates and the acrylic case.

If my understanding is correct, based on the online stream I saw with MechMerlin you usually use JLC PCB for prototyping and Elecrow for the final product, is that correct? In a normal scenario both the bottom and top plate are made of PCB material too? Just to understand if I can get them made all by Elecrow.

About the acrylic instead, I understand from the documentation that you use Ponoko instead. Is that correct too?

One more question, I notice in the photos that there are various engraving on the components are those part of the gerber and dfx files already or do I need to modify something else?

Last but not least, when I use JLC PCB/Elecrow, are there settings on their tool that I have to change other than the colour of the PCB?

Thanks a lot for your time and help.

Is the BOM parts list the same for the V2/ISO pcb?

I would like to build the ISO version from the pcb, but since the source is not yet in this repository and the parts take a lot of time in delivery/shipping, I want to buy it to save time and to have it all when the PCB source is finally available.

Are all the parts the same for V2 compared to the BOM from the V1 pcb?

Thanks!

Blinking LED?

Just soldered a v2 from 2019, but it wasn't recognized in QMK toolbox after the boot and reset button sequence. The LED just blinks at about 1 Hz. My guess is it might be a problem with the usb port soldering as it was done poorly, bit I didn't detect any obvious shorts. What should the resistance be between the usb pads on the back? Any idea what would cause a LED blinking?

Question about ISO support

Hey Coseyfannitutti

First of all I would like to thank you for your fantastic work!

So my question, I missed the group buy on Friday, it was sold out when I managed to enter my details :( So I figured I will buy / create the necessary parts.

I have never did anything like this before so I have a couple of questions.
If I use a pcb manufacturing service, do I need anything else than the files in the gerber folder in this repo?

With these files will I be able to have an ISO compatible pcb?

Thank you again!

USB-C connector detaching

I've been having problems with the USB-C cable tearing the connector off the PCB, I was wondering if people have encountered this problem and what you've done to prevent this.

Thanks a lot for the help!

Screw type not clear

The type of screws needed is not listed anywhere besides in the build guide PDF (page 4)

I do not understand what type of screw is meant by 6x M2 10+3mm standoffs
I would think it means 6x m2x10mm screws and 6x 3mm standoffs but I am not sure.

image

LED backlit keys

Is there a plan for a future version with LED backlit keys? That would be IMO all this keyboard is missing. If I find the time I could edit the schematic and perhaps the PCB routing, but since I am new with keyboards, that could take some time since I am not familiar with common components and pin outs for this application.

Also perhaps a version with a dedicated "~" key. For a solution right now I was thinking on moving the ESC key to where DEL is, assign DEL as a secondary function of BACK, and put ~ where ESC is.

Some BOM parts OOS

There are a few items on the BOM list that are OOS and I was wondering what if there are alternatives or other version of them that would work.

FIrmware flashing help

I finished soldering and wanted to test the board. On linux I followed the steps and installed the bootloader and ran it. I got. Message saying it was fine. I then went to windows and tried to use QMK toolbox to upload VIA firmware but when I try to get into the bootloader mode nothing happens.

I have tried holding boot, taping reset and releasing boot. And hold boot when plugging in. but QMK does not get any message, nor does device manager show me anything.

I I was spamming the buttons and QMK showed a message once and I cant get it back again.

The only part I swapped was ABL-16.000MHz-B4Y for ABL-16.000MHz-B1U as the B4Y was out of stock. but this should not have caused the problem.

The best part: I tried reflowing the usb port and checking for shorts. I left the board plugged in for 5 mins and found smoke coming from the cap and or usb port. Im just glad I was there to put it out. This is the 2nd board I have broke and I only have 3 left, it also took out the usb cable.

Any advice on what went wrong, was it the crystal that caused some problem?

spacing problem

Just a heads up, I tried ordering the plate file from JLCPCB and they rejected it on the basis of:

"the spacing between slot to slot or outline require 4mm at least in case of break off , kindly replace with new file ."

I'll try a few things and see if I can figure out where the problem lies and will update here if I find anything out.

V1 build guide

Where it is possible to retrieve the build guide for V1? These are still sold and some parts of the build are different

dxf file size when uploaded to ponoko

image

I was looking to do a run myself for me and a friend in the UK and figured I'd start by looking at Ponoko (since you suggested it for the cases) but when I upload the file for the discipline guard (I checked the Mysterium Guard + Nav also) I noticed that the sizes are way off. I'm assuming they're just scaled wrong and I need to manually override the size but you don't actually list what the sizes should be. I can probably figure it out myself but it would be nice if we had some values to sanity check against.

Judging from the size of the boards:
Discipline Guard: 304.9W?
Mysterium Guard: 347.7W?
Mysterium Nav: ?

I want to know how to report someone who is making commercial use of your designs

Hello, I wanted to report someone who is commercial use of your designs

He is part of the Mexican community of Mexican keyboards and I am sure
that if you contact the moderators they can prohibit him from selling
your designs.

He has been selling them all year, both your designs and others, I
even modify your Discipad.

Here he sells them https://www.keygarden.space/tienda/
https://www.facebook.com/keygardenMx/

Here you can ask for help https://www.facebook.com/groups/teclados.mecanicos/

usb 3.0 vs 2.0

I just burnt my 3rd board.

I am starting to think there is a problem with usb. Has anyone had problems with usb 3? does it supply too much current?

V1 vs V2

I search internet for a difference list. What is updated what is not updated what are the difference?

Version with split backspace?

Hi, love the design, I'm just wondering if you could also make a version of the PCB that has a split backspace?

That might sound strange at first, but it frees up room for the `~ key, so it doesn't have to share space with Esc.

For an example of this in action, see the Sun Model 7:

picture

How to setup RGB Underglow?

So I tried to solder some WS2812B RGB strip and connected +5v and GND directly to USB pin, and for the RGB data in, I soldered to pin number 33 which is A7 pin, however after enable the RGBLIGHT_ENABLE on rules.mk, setup the RGB pin as well in config.h, and add some hotkeys to activate RGB mode, it doesn't works.

my config.h

/*Copyright 2019 coseyfannitutti

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/>.
*/

#pragma once

#include "config_common.h"

#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x6869
#define DEVICE_VER      0x0001
#define MANUFACTURER    coseyfannitutti
#define PRODUCT         DISCIPLINE
#define DESCRIPTION     65% keyboard that can be assembled with only through hole components

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 15

/*
 * 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)
 *
 */

#define MATRIX_ROW_PINS { B2, A1, B1, A0, B0 }
#define MATRIX_COL_PINS { A2, B3, A3, B4, A4, D5, D6, C6, C5, C4, C3, C2, C1, C0, D7 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define USB_MAX_POWER_CONSUMPTION 100

/*
 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
 */
// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6

// #define BACKLIGHT_PIN B7
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3

#define RGB_DI_PIN A7
#ifdef RGB_DI_PIN
  #define RGBLED_NUM 16
  #define RGBLIGHT_HUE_STEP 8
  #define RGBLIGHT_SAT_STEP 8
  #define RGBLIGHT_VAL_STEP 8
  #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
  #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
  #define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
  #define RGBLIGHT_EFFECT_BREATHING
  #define RGBLIGHT_EFFECT_RAINBOW_MOOD
  #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
  #define RGBLIGHT_EFFECT_SNAKE
  #define RGBLIGHT_EFFECT_KNIGHT
  #define RGBLIGHT_EFFECT_CHRISTMAS
  #define RGBLIGHT_EFFECT_STATIC_GRADIENT
  #define RGBLIGHT_EFFECT_RGB_TEST
  #define RGBLIGHT_EFFECT_ALTERNATING
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 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

/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
 */
// #define GRAVE_ESC_CTRL_OVERRIDE

/*
 * 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 */
/* defined by default; to change, uncomment and set to the combination you want */
// #define IS_COMMAND() (get_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_HELP           H
//#define MAGIC_KEY_HELP_ALT       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         0
//#define MAGIC_KEY_LAYER0_ALT     GRAVE
//#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     B
//#define MAGIC_KEY_BOOTLOADER_ALT ESC
//#define MAGIC_KEY_LOCK           CAPS
//#define MAGIC_KEY_EEPROM         E
//#define MAGIC_KEY_EEPROM_CLEAR   BSPACE
//#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

/*
 * MIDI options
 */

/* Prevent use of disabled MIDI features in the keymap */
//#define MIDI_ENABLE_STRICT 1

/* enable basic MIDI features:
   - MIDI notes can be sent when in Music mode is on
*/
//#define MIDI_BASIC

/* enable advanced MIDI features:
   - MIDI notes can be added to the keymap
   - Octave shift and transpose
   - Virtual sustain, portamento, and modulation wheel
   - etc.
*/
//#define MIDI_ADVANCED

/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1

/*
 * HD44780 LCD Display Configuration
 */
/*
#define LCD_LINES           2     //< number of visible lines of the display
#define LCD_DISP_LENGTH    16     //< visibles characters per line of the display

#define LCD_IO_MODE      1            //< 0: memory mapped mode, 1: IO port mode

#if LCD_IO_MODE
#define LCD_PORT         PORTB        //< port for the LCD lines
#define LCD_DATA0_PORT   LCD_PORT     //< port for 4bit data bit 0
#define LCD_DATA1_PORT   LCD_PORT     //< port for 4bit data bit 1
#define LCD_DATA2_PORT   LCD_PORT     //< port for 4bit data bit 2
#define LCD_DATA3_PORT   LCD_PORT     //< port for 4bit data bit 3
#define LCD_DATA0_PIN    4            //< pin for 4bit data bit 0
#define LCD_DATA1_PIN    5            //< pin for 4bit data bit 1
#define LCD_DATA2_PIN    6            //< pin for 4bit data bit 2
#define LCD_DATA3_PIN    7            //< pin for 4bit data bit 3
#define LCD_RS_PORT      LCD_PORT     //< port for RS line
#define LCD_RS_PIN       3            //< pin  for RS line
#define LCD_RW_PORT      LCD_PORT     //< port for RW line
#define LCD_RW_PIN       2            //< pin  for RW line
#define LCD_E_PORT       LCD_PORT     //< port for Enable line
#define LCD_E_PIN        1            //< pin  for Enable line
#endif
*/

/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

my rules.mk

# MCU name
MCU = atmega32a

# Processor frequency
F_CPU = 16000000

# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = USBasp

# disable debug code
OPT_DEFS = -DDEBUG_LEVEL=0

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes       # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = no        # Console for debug
COMMAND_ENABLE = no        # Commands for debug and configuration
# 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
RGBLIGHT_ENABLE = yes        # Enable keyboard RGB underglow
MIDI_ENABLE = no            # MIDI support
UNICODE_ENABLE = no         # Unicode
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no           # Audio output on port C6
FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs

LAYOUTS = 65_ansi

my keymap.c under default directory

/* Copyright 2019 COSEYFANNITUTTI
 *
 * 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/>.
 */
#include QMK_KEYBOARD_H

#define _BL 0
#define _FL 1

  /* Qwerty
   * .---------------------------------------------------------------------------------------------.
   * | Esc |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |  -  |  =  |  Bkspc  | Ins |
   * |---------------------------------------------------------------------------------------------+
   * | Tab    |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |   \  | Del |
   * |---------------------------------------------------------------------------------------------+
   * | Caps    |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |   Enter   | PgUp|
   * |---------------------------------------------------------------------------------------------+
   * | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  |  Shift  |  U  | Pgdn|
   * |---------------------------------------------------------------------------------------------+
   * | Ctrl |  Win  |  Alt  |              Space                | RAlt | FN |RCtrl|  L |  D  |  R  |
   * '---------------------------------------------------------------------------------------------'
   */

  /* FnLayer
   * .---------------------------------------------------------------------------------------------.
   * | ` ~ |  F1 |  F2 |  F3 |  F4 |  F5 |  F6 |  F7 |  F8 |  F9 | F10 | F11 | F12 |  DELETE |PNTSC|
   * |---------------------------------------------------------------------------------------------+
   * | Tab    |     |     |     |RESET|     |     |     |     |     |     |PAUSE|     |  \   |     |
   * |---------------------------------------------------------------------------------------------+
   * | Caps    |     |     |     |     |     |     |     |     |     |     | INS |    Enter  | HOME|
   * |---------------------------------------------------------------------------------------------+
   * | Shift     |     |     |     |     |     |     |     |     |     |     |  Shift  |VOLUP| END |
   * |---------------------------------------------------------------------------------------------+
   * | Ctrl |  Win  |  Alt  |                                   | RAlt| FN |RCtrl|  L  |VOLDN|  R  |
   * '---------------------------------------------------------------------------------------------'
   */

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [_BL] = LAYOUT_65_ansi(
      KC_GESC, 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_GRV,
      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_DEL,
      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_PGUP,
      KC_LSFT,          KC_Z,    KC_X,    KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH,  KC_RSFT, KC_UP,    KC_PGDN,
      KC_LCTL, KC_LALT, KC_LGUI,                          KC_SPC,                 KC_RALT, KC_RCTL, MO(_FL),  KC_LEFT, KC_DOWN,  KC_RIGHT),

  [_FL] = LAYOUT_65_ansi(
     /* esc      1        2        3        4       5       6       7       8       9         0        -         =     bkspc       `~  */
      KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,   KC_F10,  KC_F11,   KC_F12,  KC_DEL,   KC_PSCR,
     /*  tab      Q       W        E        R        T      Y        U      I        O        P        [         ]        \      delete*/
      KC_TRNS, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_HUD,  RGB_HUI,RGB_SAD,RGB_SAI,RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI,  KC_PAUS, KC_TRNS,  KC_TRNS,
     /*  caps     A       S        D        F        G      H        J      K        L        ;        '        enter             pg up*/
      KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,KC_TRNS, KC_TRNS, KC_TRNS,  KC_INS,            KC_HOME,
     /* shift             Z         X        C       V       B       N      M        ,        .        /        shift     up      pg dn*/
      KC_LSFT,          KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS,  KC_RSFT, KC_VOLU,  KC_END,
     /* ctrl     win      alt                              space                    alt      fn       ctrl      left     down     right*/
      KC_LCTL, KC_TRNS, KC_LALT,                          KC_TRNS,                KC_RALT, KC_TRNS, KC_TRNS,  KC_TRNS, KC_VOLD,  KC_TRNS)
};

Is there any missing steps from my side? or just limitation on the ATMEGA? Because I did similar things on plaid keyboard, it works well.

Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.