Skip to content

BathroomEpiphanies/costar_keyboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firmwares for keyboard controllers

Firmwares for custom controllers to replace stock Costar controllers allowing you to program your keyboard.

Firmwares include:

  • The Frosty Flake (for Cooler Master Quick Fire Rapid)
  • The Kitten Paw (for Filco Majestouch full size)
  • The Black Petal (for Rosewill full size)
  • The Pegasus Hoof (for Filco Majestouch Tenkeyless)

For more information, please see the Costar replacement controllers page on the Deskthority Wiki.

Intentions

One goal of this project is to make a keyboard firmware for ATmega32U2 based daughter boards as simple (within reason) as possible. It is supposed to be a first introduction to how a keyboard works.

Features will be limited to the following topics:

  • Basic keyboard (nothing mouse or other devices)
  • Simplified layout definitions
  • Timer interrupt matrix scans
  • Basic de-bouncing
  • PWM control for LEDs

For more advanced features there are other keyboard firmwares already way ahead of this project. If you want to contribute by increasing clarity, understandability or simplicity, please do. Also feel free to fork, clone or copy selected parts to diverge however you like from the constraints of this project.

Other keyboard firmwares

Some other noteworthy keyboard firmware projects are:

Forks from this project:

Controller firmwares

Regular keyboard firmwares are located in the folder keyboards. Compiled binaries will end up in the folder binaries.

Compiling

In order to compile firmwares, avr-gcc is required. Please ensure you have it installed before moving to next step.

You need to select the correct MODEL and LAYOUT variables in the Makefile

MODEL = [flake|paw|hoof|petal]
LAYOUT = [ANSI_ISO_JIS|DVORAK]
MCU = atmega32u2
F_CPU = 16000000
B_LOADER = \"jmp\ 0x7000\"

Then run the make command in a terminal. Always run a make clean first.

$ make clean && make

If the process is successful, you would find binary firmware with extension .hex inside the binaries folder.

Flashing the controller

Make sure you install dfu-programmer first.

$ dfu-programmer atmega32u2 erase
$ dfu-programmer atmega32u2 flash binaries/[flake|paw|hoof|petal]_[ANSI_ISO_JIS|DVORAK].hex
$ dfu-programmer atmega32u2 start

Testing and debugging firmwares

For debugging needs the firmware in the folder debugger can be used. This firmware registers as a keyboard. Every half second or so it will print a row with with (letter,number) pairs describing the rows and columns of the currently pressed keys. This can be useful to find hardware errors. The keyboard LEDs will also be flashed every cycle.

The tester firmares are for production testing only.

Compiling and Flashing

See above section under Controller firmwares.

License

costar_keyboard is free software released under the MIT license.

See the COPYING.MIT file or http://opensource.org/licenses/MIT for more details.

Some files distributed as part of costar_keyboard are licensed under different licenses:

  • portions of Makefile: Public domain (by Eric B. Weddington, Jörg Wunsch et al.);
  • lib/keycode.h: GPL v2 or later (by Jun Wako);
  • lib/usb_keyboard_debug.c: MIT (by PJRC.COM, LLC).

About

Really simple firmware for the Costar replacement controllers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published