geekhack

geekhack Projects => Making Stuff Together! => Topic started by: TalkingTree on Sun, 07 January 2018, 08:17:11

Title: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Sun, 07 January 2018, 08:17:11
Introduction
The XMMX is a Tenkeyless PCB designed to work with MX compatible switches as well as ALPS SKCL/SKCM and their clones.
The project is available opensource under a Creative Commons BY-SA 3.0 license here (https://easyeda.com/farmakon/XMMX-0447d28c1e4644b88fd04905d983684d).

(https://i.imgur.com/otn8LT3.jpg) (https://i.imgur.com/hvZpUuv.jpg)

Layouts
(https://i.imgur.com/x8UzMC6.jpg)
Dots are LEDs indicators, there are two different indicators that could be populated either in switch or in their dedicated position.

Cases compatibility
This PCB is inteded to fit the Cooler Master Quickfire Rapid (not the Rapid-i) and the Filco Majestouch 2 TKL cases, although it could fit some other commercial TKL cases.
If you're looking for a way to make your TKL keyboard programmable without replacing the PCB, please have a look at bpiphany's replacement controllers (https://geekhack.org/index.php?topic=46700.0).

The USB connector for this PCB is placed on the bottomside of the PCB between Esc and F1.
Alternatively, a JST ph connector could be used in the USB breakout to avoid any modification to the case.

Case nameCompatibleNotes
Cooler Master Quickfire RapidYesTested (https://i.imgur.com/aLEYaaO.jpg)
Cooler Master Quickfire Rapid-iNODifferent mounting supports (http://www.modders-inc.com/wp-content/uploads/image//2014/05/a232.jpg)
GANSS G.S 87PossibleUntested but looks identical (https://www.qoo10.sg/item/MECHANICAL-KEYBOARD-GANSS-G-S-87-CHERRY-MX-GREEN-SWITCH/431608462?__ar=Y) to the Filco Majestouch 2
Filco Majestouch 1PossibleUntested but should be identical to the Majestouch 2
Filco Majestouch 2YesTested (https://i.imgur.com/t5veF4A.jpg)
Filco ZeroPossibleUntested but should be identical to the Majestouch 2
iKBC G87NODifferent mounting supports (https://geekhack.org/index.php?topic=79462.0)
KBParadise V80PossibleUntested but looks identical (https://youtu.be/AveReuw_C4s?t=1m16s) to the Cooler Master Quickfire Rapid
KUL ES-87NODifferent mounting supports (https://geekhack.org/index.php?topic=59116.0)
NorbatouchNODoesn't support the QFR (https://shop.norbauer.com/products/cnc-aluminum-case-for-cooler-master-tkl-boards-round-2-5)
WASD V2 TKLPossibleUntested but looks identical (https://geekhack.org/index.php?topic=68820.0) to the Cooler Master Quickfire Rapid
YMDK (https://www.aliexpress.com/item/High-Quality-Anodized-Aluminum-Case-Shell-For-Filco-87-Tenkeyless-Mechanical-Keyboard-Including-Key-line-separation/32617566709.html?spm=2114.search0104.3.1.XNTSTm&ws_ab_test=searchweb0_0,searchweb201602_4_10152_10151_10065_10344_10068_10342_10343_10059_10340_10314_10184_10341_10534_100031_10084_10604_10083_10103_10304_10307_10302_10142,searchweb201603_25,ppcSwitch_4&algo_expid=cf492fb8-4b19-410e-9213-32a35a6461dd-0&algo_pvid=cf492fb8-4b19-410e-9213-32a35a6461dd&transAbTest=ae803_5&priceBeautifyAB=0) CNC CaseYesTested by a fellow GHer whom I provided with an ealier revision of the PCB


Parts needed
This is intended to be a DIY kit so to assemble the board yourself you need the following electronic components:
QuantityDescriptionManufacturer part numberSymbol
1XMMX PCB
1Atmel ATmega32u4ATMEGA32U4-AUU1
116MHz crystalX322516MOB4SIX1
222pf capacitorCL21C220JBANNNCC1, C2
961N4148 diode1N4148W (1N4148WS would also fit)D1 to D96
222 Ohm resistor0805W8J0220T5ER1, R2
11 kOhm resistor0805W8F1001T5ER5
31uF capacitorCL21F105ZOFNNNEC3 to C7
50.1uF capacitor0805F104M500NTC8 to C10
116 pins USB type-C SMD connectorTYPE-C16PIN (https://datasheet.lcsc.com/szlcsc/1912111437_SHOU-HAN-TYPE-C16PIN_C393939.pdf)

Please note: Part numbers are just for reference, it's not mandatory to use those, just make sure that capacitors and resistors are form factor 0805 and diodes are SOD-123.
You can use your own crystal of choice as long as it's paired with the correct capacitors.

You also need:

Firmwares

Updates
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Sun, 07 January 2018, 08:17:26
reserved
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: _haru on Mon, 08 January 2018, 07:42:46
If you made this compatible with through-hole diodes and a CNT-013 Arduino Micro or Teensy 2.0 (Arduino is much cheaper) this would be a lot easier and cheaper for people to use. I for one would love this board but I can't solder SMD :(

Also, for the next revision, consider adding support for Alps-style stepped caps lock. That would open up a lot more keycap compatibility for those of us who want to use this with Alps switches.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Mon, 08 January 2018, 07:50:54
If you made this compatible with through-hole diodes and a CNT-013 Arduino Micro or Teensy 2.0 (Arduino is much cheaper) this would be a lot easier and cheaper for people to use.
I see what you mean but please understand that these are PCBs I make for myself and then release opensource hoping that it could be useful to someone else out there.
I, for one, have no interest in such modifications but the source is open to anyone for this very purpose.

consider adding support for Alps-style stepped caps lock.
Is that different from a MX stepped caps lock? If not, it's already supported.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: _haru on Mon, 08 January 2018, 07:58:48
I see what you mean but please understand that these are PCBs I make for myself and then release opensource hoping that it could be useful to someone else out there.
I, for one, have no interest in such modifications but the source is open to anyone for this very purpose.

I completely understand. Thanks for the clarification, I'll chuck it to my PCB designer friend and see what he can do :D

Is that different from a MX stepped caps lock? If not, it's already supported.

Yeah, it's a bit different. Take a look at this:

[attach=1]
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Mon, 08 January 2018, 08:05:12
Yeah, it's a bit different. Take a look at this:

(Attachment Link)
I doubt I can fit three caps lock pads together like that but I'll consider it.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: _haru on Mon, 08 January 2018, 08:09:37
I doubt I can fit three caps lock pads together like that but I'll consider it.
[/quote]

:thumb: Thanks man!
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: odd on Sun, 25 March 2018, 20:07:48
If you made this compatible with through-hole diodes and a CNT-013 Arduino Micro or Teensy 2.0 (Arduino is much cheaper) this would be a lot easier and cheaper for people to use. I for one would love this board but I can't solder SMD :(

Also, for the next revision, consider adding support for Alps-style stepped caps lock. That would open up a lot more keycap compatibility for those of us who want to use this with Alps switches.

You can get a Phantom TKL if you want to use thru-hole diodes and a Teensy controller.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: reijikyosuke on Tue, 10 April 2018, 00:33:05
could you try a case from CM Storm Quickfire TK? Interested to see a numpad instead a normal TKL layout one.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Tue, 10 April 2018, 02:51:47
could you try a case from CM Storm Quickfire TK? Interested to see a numpad instead a normal TKL layout one.
The Quickfire TK has an additional column, the XMMX won't just fit. Sorry.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Fri, 13 April 2018, 07:06:25
EasyAVR firmware now officially supports the XMMX. Big thanks to metalliqaz.
Link in the first post.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: Delirious on Fri, 13 April 2018, 07:34:59
I see what you mean but please understand that these are PCBs I make for myself and then release opensource hoping that it could be useful to someone else out there.
I, for one, have no interest in such modifications but the source is open to anyone for this very purpose.

I completely understand. Thanks for the clarification, I'll chuck it to my PCB designer friend and see what he can do :D

Is that different from a MX stepped caps lock? If not, it's already supported.

Yeah, it's a bit different. Take a look at this:

(Attachment Link)

Alps stepped caps are on a different level of ****show.
1. IBM brand's stepped caps(ibm p70, some weird japanese multistation (http://ibm5550.na.coocan.jp/image/5535_1.jpg)) is 1.25u mount from the left. AKA cherry compatible stepped caps
2. Alps Electric-made stepped caps(dell at101, sgi bigfoot, leading edge-2214) is 1.5u mount from the left. This mount is the more popular one among alps user.

I can take a picture later showing the differences if needed.

If you want to include all 3 mounts for caps(1.25, 1.5, and 1.75), I suggest forgoing in-switch leds and having the 1.5 mount upside down in place of the leds. The led then relocate toward the right edge of the cap.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Fri, 13 April 2018, 08:45:00
If you want to include all 3 mounts for caps(1.25, 1.5, and 1.75), I suggest forgoing in-switch leds and having the 1.5 mount upside down in place of the leds. The led then relocate toward the right edge of the cap.
I though of this as the only possible solution as well, and I won't then implement it.
This PCB is intended to fit a CM QFR case too so in-switch LEDs are necessary.
Also, the original idea was to convert a Filco Majestouch into a Filco Zero which features a full touch Caps Lock.
I frankly believe we can live with two different Caps Lock layouts alone. Furthermore the project is opensource for the sake of different implementations.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: Acereconkeys on Tue, 22 May 2018, 21:27:51
Hello.

I just found this thread and I was wondering if you think this pcb would fit in my current board. It uses a V80 PCB inside a case made by Vortex designed to fit into a filco I think.

Here's a photo.

(https://i.imgur.com/Mlp0j06.jpg)

Do you think it'd work?
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Wed, 23 May 2018, 02:58:50
a case made by Vortex designed to fit into a filco I think.
That case looks similar to the YMD CNC case (https://www.aliexpress.com/item/High-Quality-Anodized-Aluminum-Case-Shell-For-Filco-87-Tenkeyless-Mechanical-Keyboard-Including-Key-line-separation/32617566709.html?spm=2114.search0104.3.1.XNTSTm&ws_ab_test=searchweb0_0,searchweb201602_4_10152_10151_10065_10344_10068_10342_10343_10059_10340_10314_10184_10341_10534_100031_10084_10604_10083_10103_10304_10307_10302_10142,searchweb201603_25,ppcSwitch_4&algo_expid=cf492fb8-4b19-410e-9213-32a35a6461dd-0&algo_pvid=cf492fb8-4b19-410e-9213-32a35a6461dd&transAbTest=ae803_5&priceBeautifyAB=0) which is compatible with this PCB.
If it supports a Filco MJ2 TKL then it will support the XMMX. You'll have to use a JST ph 5 pin connector to route your case inside the case (or solder a cable directly on the PCB) as stated in the first post.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: Acereconkeys on Wed, 23 May 2018, 17:26:38
a case made by Vortex designed to fit into a filco I think.
That case looks similar to the YMD CNC case (https://www.aliexpress.com/item/High-Quality-Anodized-Aluminum-Case-Shell-For-Filco-87-Tenkeyless-Mechanical-Keyboard-Including-Key-line-separation/32617566709.html?spm=2114.search0104.3.1.XNTSTm&ws_ab_test=searchweb0_0,searchweb201602_4_10152_10151_10065_10344_10068_10342_10343_10059_10340_10314_10184_10341_10534_100031_10084_10604_10083_10103_10304_10307_10302_10142,searchweb201603_25,ppcSwitch_4&algo_expid=cf492fb8-4b19-410e-9213-32a35a6461dd-0&algo_pvid=cf492fb8-4b19-410e-9213-32a35a6461dd&transAbTest=ae803_5&priceBeautifyAB=0) which is compatible with this PCB.
If it supports a Filco MJ2 TKL then it will support the XMMX. You'll have to use a JST ph 5 pin connector to route your case inside the case (or solder a cable directly on the PCB) as stated in the first post.

Thank you talkingtree I will go ahead and begin printing/preparing to use this. I am very excited I've been wanting programmability on this keyboard ever since I got it it's been quite frustrating not being able to rebind caps lock as control.

I am a bit confused what you mean by having to use the 5pin connector. Could you explain more what that is for? I'd ideally not like to solder a cable directly into the pcb as a removeable cable would be ideal.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Thu, 24 May 2018, 09:29:51
I am a bit confused what you mean by having to use the 5pin connector. Could you explain more what that is for?
The XMMX is designed to be standalone, other than fitting some commercial cases, therefore the USB port would end up being in a unusable location for the aforementioned cases. You have certainly noticed how Filco MJ2 cables are attached to the PCB. I would the recommend the same solution, i.e. using a JST ph connector (https://dalewoodmodels.co.uk/wp-content/uploads/2016/09/JST-PH-2.0MM-5-Pin-2.jpg).
I hope it clarifies.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: Acereconkeys on Thu, 24 May 2018, 11:47:04
That does thank you for the reply.

I believe I will begin trying to build this PCB. It should be a fun learning experience as I've never done any kind of SMD soldering.

Thank you again for your work.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Thu, 24 May 2018, 13:13:06
You're very welcome, keep me posted with your progress.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: droideggs on Wed, 20 June 2018, 19:45:13
hate to be that guy, but is there a guide on how to install the various parts onto the PCB?  for instance where on the PCB would it need to be installed?
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Thu, 21 June 2018, 14:22:04
hate to be that guy, but is there a guide on how to install the various parts onto the PCB?  for instance where on the PCB would it need to be installed?
That's actually a good point. I updated the table in the first post with a symbol's list. That should answer your question.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: waldorf120 on Wed, 11 July 2018, 11:59:05
Thank you TalkingTree!  That was relatively easy.  Just ordered 10 in classic green with a solder stencil.  I'll upload pictures when they get delivered and I have time to work on them.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Wed, 11 July 2018, 14:09:44
Thank you TalkingTree!  That was relatively easy.  Just ordered 10 in classic green with a solder stencil.  I'll upload pictures when they get delivered and I have time to work on them.
Thank you for looking into it. I'm looking forward for some pictures.
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: AdrianMan on Mon, 17 September 2018, 03:28:23
Hello ! Is there any change I could get one of these that supports a split spacebar layout ? Something like 2.75 - 1.25 - 2.25 or 3u - 3u ? KPRepublic has something like that but I don't think the pcb fits my case : https://kprepublic.com/products/xd87-xd87-xd80-custom-mechanical-keyboard-kit80-supports-tkg-tools-support-underglow-rgb-pcb-programmed-gh80-kle

I'm the one that got the early version PCB into the YMDK case :) But now I'm kinda itching for trying a split spacebar + a thick  4 - 4.5 mm Acrylic plate and put them in the same case :)

Thanks !
Adrian
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: cspirou on Fri, 16 August 2019, 00:06:02
I just found this project while looking for a PCB for the YMDK case. Thanks for doing this, I highly appreciate it.

Did you ever make a plate for this?
Title: Re: [opensource] XMMX | TKL PCB for Cherry and ALPS
Post by: TalkingTree on Mon, 04 May 2020, 17:01:50
v1.1: Replaced USB mini with Type-C; fixed misalingments.