Skip to content

Crem2y/super-custom-keyboard

Repository files navigation

SCK (Super Custom Keyboard)

sck

Description

  • SCK (Super Custom Keyboard)
  • Each module runs on its own MCU and communicates with the main controller via I2C.

Development Environment

Main board

  • IDE: PlatformIO (or arduino IDE)
  • Board:
    • Arduino Pro Micro (ATmega32U4, 5V, 16MHz)

Modules

  • IDE: Microchip Studio (or AVR Studio)
  • MCU:
    • ATmega8A

Modules Overview

modules

  • Each module has its own firmware and schematic.

SCK Main

  • MCU: ATmega32U4
  • I²C Address : none. just master
  • Attached to the keyboard module
  • SCK_main

SCK Keyboard Module

  • MCU: ATmega8A
  • I²C Address : 0x10 - 0x17 (0x10 default)
  • SCK_Keyboard

SCK Keypad Module

  • MCU: ATmega8A
  • I²C Address : 0x18 - 0x1B (0x18 default)
  • SCK_keyPad

SCK Fnkey Module

  • MCU: ATmega8A
  • I²C Address : 0x1C - 0x1F (0x1C default)
  • SCK_Fnkey

SCK Macro Module

  • MCU: ATmega8A
  • I²C Address : 0x20 - 0x2F (0x20 default)
  • SCK_Macro

How to upload firmware

Main board

  1. Press D_PG key (Default : FN1 + ```)
  2. The LED will blink slowly.
  3. You can upload firmware to main board.
  4. Press ESC to cancel programming mode.

Modules

  1. You will need an AVR ISP that can supply power to target board.
  2. Connect AVR ISP to ISP port. (2x3 header)
  3. Program to module. (DO NOT press any key while programming)

Communication (I²C)

  • Each module acts as an I²C slave with a fixed address (it can be set by jumpers in each modules)
  • Reports key or encoder input when polled by the main controller

Third-party libraries

About

SCK : Super Custom Keyboard

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published