Costar replacement controllers

From Deskthority wiki
Jump to: navigation, search

Instructions on how to use the Costar keyboard replacement controllers by Bathroom Epiphanies.


Models

The Frosty Flake

Built to fit the CM Storm QFR

The Frosty Flake, CM Storm QFR
Compatible main boards
  • CST-IF87/88/89/91-MB V1.1 2011-07-26
  • CST-IF87/88/89/91-MB V2 2012-07-30
  • Quickfire_V2.2

The Ghost Squid

Built to fit the CM Storm QuickFire XT

The Ghost Squid, CM Storm XT
Compatible main boards
  • POPPY 1045678 MB V2_20130204

The Tiger Lily

Built to fit the Filco Majestouch 104/105(/106/108 not yet confirmed) In every way a Black Petal with extra headers. Uses the same firmware as the Petal.

The Tiger Lily, Filco Majestouch 104/105
Compatible main boards
  • (CST-FKB/N-104/5/6 Main PCBA Rev 1.0) 2010-03-23
  • (CST-F104/5/6/8 Main PCB Rev 2.1) 2010-11-08
  • (CST-F104/5/6/8 Main PCB Rev 3.0) 2012-03-24

The Kitten Paw

Built to fit the Filco Majestouch 104/105(/106/108 not yet confirmed)

The Kitten Paw, Filco Majestouch 104/105
Compatible main boards
  • (CST-FKB/N-104/5/6 Main PCBA Rev 1.0) 2010-03-23
  • (CST-F104/5/6/8 Main PCB Rev 2.1) 2010-11-08
  • (CST-F104/5/6/8 Main PCB Rev 3.0) 2012-03-24

The Pegasus Hoof

Built to fit the Filco Majestouch 87/88

The Pegasus Hoof, Filco Majestouch 87/88
Compatible main boards
  • CST-F87/88/89/91-MB V1.1
  • CST-F87/88/89/91-MB V1.1 2010-11-09

The Black Petal

Built to fit the Rosewill RK-9000

The Black Petal, Rosewill
Compatible main boards
  • (CST-NFK104/5/6/8 Main PCB Rev 3.0) 2011-06-28
  • Nashville 104568 MB V5.0 2012-06-18
  • NashVille_104568_MB_V6.0_20130620
Incompatible main boards
  • Any Rosewill RK-9000V2

The Voice of Reason

Built to fit the Sane Matrix (and also the CM Storm QFR)

The Voice of Reason
Compatible main boards
  • The Sane Matrix
  • (Same boards as for the Frosty Flake)


Firmwares

Bathroom Epiphanies' costar_keyboard

With the goal of code being as easy as possible, while still thoughtfully arranged. This is for those wanting to understand how the keyboard works on a hardware level. Available through GitHub.

compiling

These steps should be applicable to both Linux and Windows. (Mac as well?)

You need to select the desired MODEL and LAYOUT variables in the Makefile by un-commenting the corresponding lines

MODEL = flake
#MODEL = hoof
#MODEL = paw
#MODEL = petal
LAYOUT = ANSI_ISO_JIS
#LAYOUT = DVORAK
#LAYOUT = TEST_FLAKE

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

make clean; make

Metalliqaz's Easy AVR USB Keyboard Firmware

This is a firmware that doesn't require any compiling. It can be downloaded from its Geekhack thread. This is for those who want to create their own layouts, layers, macros and other stuff without touching any code.

Grendel's CoReCon

Available for all versions of the replacement controllers.

Hasu's tmk_keyboard

Only available for the Kitten Paw. The other controllers are very similar, but some effort is needed to adapt the firmware to them.

Bpiphany's epiphanies_tmk_keyboard

Bpiphany's branch of Hasu's tmk_keyboard. Includes all Bathroom Epiphanies Costar Replacement controllers. The core libraries may not be up to date with Hasu's repository at all times. It's however easy to merge his core into bpiphany's repository.


Flashing the controller

There are different software tools to insert, or flash, a firmware hex-file onto the controllers. They can be a bit tricky to set up correctly on locked down operating systems. Google the Internet if trouble arises. Suggested search words are "flash AVR controller dfu-programmer/FLIP Windows/Linux/OSx". Find a good tutorial out there. You may need to add rules, libraries or/and be the super user of your system to be able to do these things.

To enter the bootloader mode of the controller the reset signal of the ATmega chip needs to be triggered. On the replacement controllers there is a magnetic switch which will do this. While powered run a magnet nearby the little glass tube. Usually the switch can even be heard operating. Your computer/flashing tool should recognize that there is a controller in bootloader mode waiting for instructions.

dfu-programmer

The tool dfu-programmer is available both for Linux and Windows. (Mac as well?)

dfu-programmer atmega32u2 erase
dfu-programmer atmega32u2 flash binaries/[flake|paw|hoof|petal]_ANSI_ISO_JIS.hex
dfu-programmer atmega32u2 start

FLIP

FLIP is Atmel's own tool to write hex files to AVR controllers. It should work on Windows, and is GUI front ended for those who doesn't feel like using a terminal. Its Linux version seem to be outdated.


Schematic

Frosty Flake 20130602
File:Frosty Flake Schematics.pdf


Black Petal 20131001
Frosty Flake 20140521
Ghost Squid 20140508
Kitten Paw 20130602
Pegasus Hoof 20131001

Schematics



Voice of Reason 20151102

Schematic



Kitten Paw 20160418

Schematic


Build Instructions

Component values Bottom view
Frosty Flake rev 20130602 component values
Frosty Flake rev 20130602 component side
Frosty Flake rev 20140521 component values
Frosty Flake rev 20140521 component side
Ghost Squid rev 20140518 component values
Ghost Squid rev 20140518 component side
File:Tiger Lily Components.PNG
Tiger Lily rev 20161114 component values
File:Tiger Lily bottom.JPG
Tiger Lily rev 20161114 component side
File:Kitten Paw 20160418 Components.PNG
Kitten Paw rev 20160418 component values
Kitten Paw rev 20160418 component side
Kitten Paw rev 20130602 component values
Kitten Paw rev 20130602 component side
Pegasus Hoof rev 20131001 component values
Pegasus Hoof rev 20131001 component side
Pegasus Hoof rev 20150108 component values
Pegasus Hoof rev 20150108 component side
Black Petal rev 20131001 component values
Black Petal rev 20131001 component side
Voice of Reason rev 20151102 component values
Voice of Reason rev 20151102 component side
Apple Core component values
Apple Core component side

Hardware

Close up of the controller components.
Amount Description Manufacturer part number
1 ATmega32u2 micro controller ATMEGA32U2-AU
2 4-10 Decoder Logic IC SN74HC42DR
1 16MHz crystal oscillator 3.2 x 2.5 mm ABM8G-16.000MHZ-4Y-T3
2 18pF 0603 ceramic capacitors C1608C0G1H180J
3 100nF 0603 ceramic capacitors C1608X7R1E104K
2 1µF 0603 ceramic capacitors C1608X7R1C105K
1 10µF 4.3 x 5.5 mm electrolytic capacitor EEE-1CA100SR
2 22Ω 0603 resistors ERJ-3GEYJ220V
4 10kΩ 0603 resistors ERJ-3GEYJ103V
3 510Ω 0603 resistors ERJ-3GEYJ511V
1 Magnetic "Reed" switch KSK-1A87-1015
2 18-pin headers, 2mm pitch

Tools needed

  • Soldering iron
  • Solder and flux
  • Wire cutter to cut off component pins

Suggested Work order

  • See image above for component values.
  • Start with the crystal.
  • After that it is probably a good idea to do all 0603 components.
  • Use 10kΩ resistors if your keyboard has blue LEDs, 510Ω if they are Red. You would do best to check what value your original controller has for the LEDs.
  • Solder the controller and decoders.
  • Solder the 10µF capacitor.
  • Add the pin headers and the reed switch.

See also