Another single-switch circuit board

Melvang came up with the original idea for the Enabler, a single-switch PCB that supports Cherry MX and Alps switches. The idea was...
Melvang wrote: ...for people who want a custom layout but:
  1. Don't want to pay for a single PCB or 3 from OshPark
  2. Don't want to or don't have the ability to solder the rows and columns directly to the pins of the switches
  3. Want to have a more secure method for back lighting
  4. Want to try something a little bit different

MOZ designed the PCB and last year a group buy was run.

Hand wiring a keyboard matrix can be a meticulous process, can result in fragile connections between keys, and shorts in the matrix. To help improve the process, I wanted to take another crack at a single-switch PCB that offers the following benefits:

  1. Ability to connect the matrix using bare (non-insulated) wire. Creating hundreds of short jumper wires is a huge pain, and a PCB should be able to overcome this by eliminating the need for connection wires to overlap.
  2. Ability to mount the PCBs to the switch plate for structural reinforcement. Key cap swaps and switch modifications carry the risk of pulling the entire key switch away from the plate, possibly breaking matrix connections in the process. Mounting the PCB should prevent this.
  3. Support for through-hole components (LED resistor and n-key rollover diode), in case hand soldering SMD components is not your thing.
The above items do not come for free, however. Unlike the Enabler, the current design only supports Cherry MX switches (no Alps) (Alps support added! See updated renders below.), and the overall dimensions are larger than an MX switch.

I've ordered some prototypes from OSH Park and will test them out before looking into larger quantities. Here is the current original design (updated design posted later in the thread):

PCB renders (latest):
1u:
amoeba-1u.png


2u:
amoeba-2u.png


PCB renders (original):
Spoiler:
Front:
top.png

Back:
bottom.png


Note: SC = Switch column, SR = Switch row, LC = LED column, LR = LED row. The bottom of the PCB has extra SC and LC pads to make column wiring easier for staggered layouts.

Schematics:
Spoiler:
Board:
amoeba-schematic.png

Key:
key-schematic.png


Circuit design:
Spoiler:
Front:
top-copper.png

Back:
bottom-copper.png


The design files are on github, and can be made available on OSH Park (I haven't shared the project yet because I'd like to validate the design first.). I'll be sure to keep this thread updated with progress after the prototypes come in. :)

Lastly, I wanted to thank Melvang and MOZ for their encouragement with this project and the original inspiration. Thanks, guys!
Last edited by mtl on 23 Nov 2015, 04:20, edited 7 times in total.
mtl

Unread post25 Aug 2015, 00:33

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
Maybe I don't quite get it, but I have to wire all of those single switch PCBs together, right? So this is the same amount work anyways, no matter if I use those single unit PCBs or not.
Eszett
User avatar

Unread post25 Aug 2015, 01:39

User avatar
X
Eszett
 
Posts: 525
Joined: 15 Mar 2014, 22:28
Main keyboard: Filco Majestouch 2 TKL DE MX blue
Main mouse: MX310
DT Pro Member: -
 
Yes, but this allows you to solder on diodes for the matrix and resistors and leds for back lighting to a pcb rather than having to solder them to the switch pins directly. It reduces the hand wiring to just interconnect. It truly simplifies the process.
Engicoder

Unread post25 Aug 2015, 02:40

X
Engicoder
 
Posts: 827
Joined: 24 Oct 2012, 14:44
Location: NC, USA
DT Pro Member: 0117
 
Alright, if you plan to use LEDs, then these PCBs are a help, I understand.
Eszett
User avatar

Unread post25 Aug 2015, 03:27

User avatar
X
Eszett
 
Posts: 525
Joined: 15 Mar 2014, 22:28
Main keyboard: Filco Majestouch 2 TKL DE MX blue
Main mouse: MX310
DT Pro Member: -
 
Eszett wrote:Maybe I don't quite get it, but I have to wire all of those single switch PCBs together, right? So this is the same amount work anyways, no matter if I use those single unit PCBs or not.
The main reason for this PCB is to make the task of hand wiring a matrix much, much easier. Stripping wire to connect all the key switches is tedious. This PCB is designed to let you use bare wire.


As a bonus, it can allow for more robust solder connections than direct wiring, and can also be mounted to the switch plate to prevent switches from being yanked out.

It's a step between direct wiring and having a full-blown custom PCB. The latter of course requiring PCB design expertise and adds complexity.
mtl

Unread post26 Aug 2015, 03:43

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
Yea, I quite like the idea. It will certainly make wiring weird matrices (e.g. if you want something like 104 keys and need to save on microcontroller pins, so wiring 10x11 instead of the natural 6x21).
flabbergast
User avatar

Unread post26 Aug 2015, 09:35

User avatar
X
flabbergast
 
Posts: 555
Joined: 07 Feb 2015, 20:12
Location: Southampton, UK
DT Pro Member: 0120
 
I am interested to see how these turn out. Alps compatability is a big one for me. I have a TKL set worth of the Enabler PCBs, but there is already an abundance of Cherry PCBs out there and I don't really care much for Cherry. Alps Enablers would be really useful!
pyrelink
User avatar

Unread post27 Aug 2015, 13:35

User avatar
X
pyrelink
 
Posts: 775
Joined: 07 Mar 2014, 21:19
Location:
Main keyboard: HHKB 2
Main mouse: CST L-Trac
Favorite switch: Capacitive Buckling Spring
DT Pro Member: -
 
pyrelink wrote:Alps compatability is a big one for me. I have a TKL set worth of the Enabler PCBs, but there is already an abundance of Cherry PCBs out there and I don't really care much for Cherry. Alps Enablers would be really useful!

I've taken a crack at adding Alps support. :) It's a little iffy because OSH Park doesn't officially support oval drill holes ("slots"). We'll have to see how they come out. (Update: OSH Park says they look good and shouldn't be a problem.) I don't have any Alps key switches to test with, however. The spec was easy enough to follow, so hopefully there won't be any issues!

front.render.png

back.render.png
mtl

Unread post28 Aug 2015, 03:36

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
Prototypes are in! Actually I've had 'em for a while but have been super busy. Only had a small run of 6 made, but you can start to see how they would wire together as a matrix:

amoeba-2.jpeg


amoeba-1.jpeg


Note you only need one set of connecting wires for the switch matrix. The double wires going between switches form both the switch and LED matrices.

I've made a couple of improvements for v1.2.1:
  1. An extra SC (switch column) pad at the top left where the version number currently is. This will make wiring non-staggered layouts easier.
  2. The lower-left SC pad was left unconnected in the circuit design and has been fixed. :)

Also, I have some 3mm length M2 spacers purchased on eBay.
Image

These are a good fit for between the PCB and plate. The Phantom plate in the pictures is just being used for testing, but ultimately I'm thinking to have a plate made with holes between the switches for mounting these PCBs, and the spacers will help ensure the switches stay put. I also ordered some brass stand-offs for the same purpose, but they haven't arrived yet from China.

Spoiler:
Image
mtl

Unread post13 Sep 2015, 21:30

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
They're so cute!

Are there any good techniques for not having to solder them together? Some little metal clippy things.
joey

Unread post13 Sep 2015, 23:26

X
joey
 
Posts: 23
Joined: 06 Sep 2015, 23:31
Main keyboard: HHKB
Favorite switch: Topre
DT Pro Member: -
 
Hmm not that I know of. There is a keyboard currently in development I believe that lets you plug in whole switches and LEDs without soldering. So maybe a single key PCB version of that would be a start and then use a system of jumper wires to connect the matrix?
mtl

Unread post14 Sep 2015, 05:34

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
This looks really cool. I am definitely in on this! Any thoughts on how to use Alps Lock / MX lock switches using these?
t8c
User avatar

Unread post14 Sep 2015, 09:48

User avatar
X
t8c
 
Posts: 219
Joined: 08 Jun 2015, 10:52
Location: Norway
Main keyboard: TK
Main mouse: Logitech G602
Favorite switch: Orange Alps
DT Pro Member: -
 
MX Lock is pin compatible with regular MX switches, so that should be no problem. Only the LED location is moved.
Muirium
User avatar
µ

Unread post14 Sep 2015, 13:33

User avatar
X
Muirium
µ
 
Posts: 23054
Joined: 03 Feb 2013, 10:11
Location: Edinburgh, Scotland
Main keyboard: HHKB Type-S with Bluetooth by Hasu
Main mouse: Apple Magic Mouse
Favorite switch: Gotta Try 'Em All
DT Pro Member: -
 
 
It's probably best to produce a variant of the PCB specifically for MX lock switches, if you want LED support.

Enabling support for LEDs on both MX lock and non-lock using the same PCB would, I believe, require the addition of two solder bridge jumpers. There are issues with through-hole diode, because the lock LED uses one of the diode holes. So the jumpers would be used to put the PCB in "lock mode" or non-lock mode, and you would need to use an SMD diode for the lock mode to inhibit ghosting.

I didn't see good information on our wiki regarding Alps lock switches. In what way would they be different, pin-wise?
Last edited by mtl on 14 Sep 2015, 15:48, edited 1 time in total.
mtl

Unread post14 Sep 2015, 15:27

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
I managed to bend an LED around and get it to fit inside an MX lock. It took a bit of fiddling, but if you're basically using these to hand-wire a matrix, bending some LED legs probably isn't beyond your capabilities...

f-o-r-s-a-l-e-f58/the-six-shooter-teensy-adapter-pcb-for-the-cm-storm-switch-tester-t10221.html#p222882
HzFaq
User avatar

Unread post14 Sep 2015, 15:33

User avatar
X
HzFaq
 
Posts: 1684
Joined: 16 Sep 2011, 13:23
Location: Windsor, UK
Main keyboard: Phantom
Main mouse: CST L-Trac
Favorite switch: MX Clears
DT Pro Member: -
 
It seems like the base PCB is nearing completion. I'll probably do one more small order to verify the final design. Meanwhile, I've shared the design on OSH Park, and the latest kicad files are on github. I'm planning to make a variant PCB for switches that require stabilizers, and maybe the MX lock variant.

Here's the current design (v1.2.1), now with square pads for the LED matrix:
front-1.2.1.s.png
back-1.2.1.s.png


Not sure if anyone noticed, but the top-left wire was connected wrong in the above prototype pictures. :) Differently-shaped pads for each matrix should help prevent that mistake!

Also, the brass spacers arrived. Here are comparison shots between the brass and nylon:
spacer-brass.jpeg
spacer-nylon.jpeg


Assuming a plate thickness of 1.5 mm, there is a gap of about 3.5 mm between the PCB and plate. The brass stand-offs are 3 mm exactly, but with a washer come out to about 3.4 mm and are a good fit. The nylon spacers are around 3.3 mm. The brass are heavier, but they're threaded and therefore won't move around. The nylon spacers do not fit the M2 screws tightly, so there is a chance they could rattle a little bit. So you have your pros and cons. ;)
mtl

Unread post15 Sep 2015, 21:37

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
Added updated renders to the first post, including a possible wide version to support Cherry stabilizers (and move the mount points further out to support Costar stabilizers).

Does anything need to be done special for Alps stabilizers? I think the wiki said some Alps boards use Cherry stabilizers. In any case, I don't think I have any Cherry stabs to test with.

If anyone has Alps switches and Cherry stabs and is willing to test the PCBs for fit, please let me know!
mtl

Unread post18 Sep 2015, 05:24

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
The problem with Alps boards is that there are so many variants of stabilizers.

Apple uses one type on the standard keyboard and extended keyboard for. A circular hole is also required for the 6.5u space bar.

https://www.dropbox.com/sh/2vuxcgo8rm3i ... 2.dwg?dl=0
From jasonm23 on github.

In the following GH post are the matias stabilizers.
https://geekhack.org/index.php?topic=73 ... msg1866186
t8c
User avatar

Unread post18 Sep 2015, 09:57

User avatar
X
t8c
 
Posts: 219
Joined: 08 Jun 2015, 10:52
Location: Norway
Main keyboard: TK
Main mouse: Logitech G602
Favorite switch: Orange Alps
DT Pro Member: -
 
t8c wrote:The problem with Alps boards is that there are so many variants of stabilizers.

Apple uses one type on the standard keyboard and extended keyboard for. A circular hole is also required for the 6.5u space bar.

Aw man. I'm new to the Alps game. I am slowly planning to a 60% Alps board with AEKII keycaps, I've got original keycap inserts and wires, but not the plate inserts. How does this restrict the plate layout and plate inserts?
flabbergast
User avatar

Unread post18 Sep 2015, 10:13

User avatar
X
flabbergast
 
Posts: 555
Joined: 07 Feb 2015, 20:12
Location: Southampton, UK
DT Pro Member: 0120
 
flabbergast wrote:
t8c wrote:The problem with Alps boards is that there are so many variants of stabilizers.

Apple uses one type on the standard keyboard and extended keyboard for. A circular hole is also required for the 6.5u space bar.

Aw man. I'm new to the Alps game. I am slowly planning to a 60% Alps board with AEKII keycaps, I've got original keycap inserts and wires, but not the plate inserts. How does this restrict the plate layout and plate inserts?

This GH thread will probably give you a clearer picture -> https://geekhack.org/index.php?topic=75071.0
t8c
User avatar

Unread post18 Sep 2015, 11:38

User avatar
X
t8c
 
Posts: 219
Joined: 08 Jun 2015, 10:52
Location: Norway
Main keyboard: TK
Main mouse: Logitech G602
Favorite switch: Orange Alps
DT Pro Member: -
 
Here are some pictures of the latest batch. I got bored designing an actual keyboard for these so have spent too much time tweaking the PCB design in KiCad. :lol:

There is a prototype version of the 2u board, though I need to find some Cherry PCB-mount stabilizers to test the fit. Also, I've widened the PCB-mount holes by 0.1 mm to accommodate Zealio switches. You can see OshPark is challenged by the angled slot for the Alps/Cherry shared hole. It fits a Cherry switch fine but I don't have an Alps on-hand to test it.

The OP has been updated with new renders showing some other minor improvements, such as arrow-shaped solder pads for the row/column pins and tighter solder masks around the graphics.

image.jpeg


image.jpeg


image.jpeg


image.jpeg


image.jpeg


image.jpeg
mtl

Unread post25 Nov 2015, 13:00

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
Looks awesome!
ramnes
User avatar
ПБТ НАВСЕГДА

Unread post25 Nov 2015, 13:08

User avatar
X
ramnes
ПБТ НАВСЕГДА
 
Posts: 2069
Joined: 16 Aug 2014, 13:40
Location: France
Main keyboard: 35g BKE FC660C
Main mouse: SteelSeries Kana v2
Favorite switch: Beamspring
DT Pro Member: -
 
mtl wrote:Here are some pictures of the latest batch.

Great project!

mtl, Have you pictures of a mounted "puzzle" keyboard? I wish to see conections between items, etc
pcaro

Unread post25 Nov 2015, 13:31

X
pcaro
 
Posts: 227
Joined: 04 Apr 2014, 23:18
Location: Seville, Spain
Main keyboard: SSK,Novatouch
Main mouse: Logitech M510, Slimblade
Favorite switch: blucking spring
DT Pro Member: -
 
pcaro

Unread post25 Nov 2015, 15:18

X
pcaro
 
Posts: 227
Joined: 04 Apr 2014, 23:18
Location: Seville, Spain
Main keyboard: SSK,Novatouch
Main mouse: Logitech M510, Slimblade
Favorite switch: blucking spring
DT Pro Member: -
 
This is cool.
But why are there small square boards and larger rectangular boards?

What about the matrix that the switches fit in to?

Is there a "generic" version of those, too, or what?
Something you can use to put together to make whatever
keyboard you want to make?

I'm always thinking of my "Programmer's (Super) Keyboard".

keyboards-f2/a-programmer-s-keyboard-design-t9879.html

And we have also been talking about a "keyboard perfboard", too.

keyboards-f2/perfboard-for-keyboard-key-switches-t11403.html
BillDee
User avatar

Unread post18 Dec 2015, 11:36

User avatar
X
BillDee
 
Posts: 21
Joined: 09 Feb 2015, 23:52
Main keyboard: Logitech K310 Wired
Main mouse: Logitech M310 Wireless
Favorite switch: I'm not sure
DT Pro Member: -
 
pcaro wrote:I wish to see conections between items, etc
...
Sorry I cant see it in workshop-f7/another-single-switch-circuit-board-t11420.html#p253525

Do you mean the connections between components on the PCB? Does this help?

instructions.png

BillDee wrote:But why are there small square boards and larger rectangular boards?

The larger rectangular (2u) boards are to support Cherry plate-mount stabilizers. If anyone needs them, it wouldn't be difficult to create longer versions for space bars of various widths.
BillDee wrote:What about the matrix that the switches fit in to?

Is there a "generic" version of those, too, or what?
Something you can use to put together to make whatever
keyboard you want to make?

I'm always thinking of my "Programmer's (Super) Keyboard".

keyboards-f2/a-programmer-s-keyboard-design-t9879.html

And we have also been talking about a "keyboard perfboard", too.

keyboards-f2/perfboard-for-keyboard-key-switches-t11403.html

The perfboard is a cool idea. I don't have anything like it planned to plug these modules into, but I think it could be made to work. You could also solder pins to these PCBs and plug them into an underlying board with sockets, and possibly make a keyboard that supports reconfigurable switch layouts. There are lots of possibilities!

2u-back-angle.jpg

This is probably the final design (sorry for the bad lighting), unless anybody points out something that needs to change. It's mostly aesthetic improvements over the last prototype, including arrow-shaped pads to make the matrix connections really obvious and tighter masks around the copper graphics. The version number has been bumped to 1.5, latest project files pushed to github and design shared on OSH Park. :)
mtl

Unread post05 Jan 2016, 01:46

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
Thanks @mtl for the response.
You could also solder pins to these PCBs and plug them into an underlying board with sockets, and possibly make a keyboard that supports reconfigurable switch layouts.

This is a great idea!!
pcaro

Unread post05 Jan 2016, 11:50

X
pcaro
 
Posts: 227
Joined: 04 Apr 2014, 23:18
Location: Seville, Spain
Main keyboard: SSK,Novatouch
Main mouse: Logitech M510, Slimblade
Favorite switch: blucking spring
DT Pro Member: -
 
pcaro wrote:Thanks @mtl for the response.
You could also solder pins to these PCBs and plug them into an underlying board with sockets, and possibly make a keyboard that supports reconfigurable switch layouts.

This is a great idea!!

Maybe you could include holes for pins so that they can be aligned with .1" holes.

Then they could be used with perf boards. (and also proto boards?)
BillDee
User avatar

Unread post05 Jan 2016, 12:33

User avatar
X
BillDee
 
Posts: 21
Joined: 09 Feb 2015, 23:52
Main keyboard: Logitech K310 Wired
Main mouse: Logitech M310 Wireless
Favorite switch: I'm not sure
DT Pro Member: -
 
BillDee wrote:Maybe you could include holes for pins so that they can be aligned with .1" holes.

Then they could be used with perf boards. (and also proto boards?)

Yes, it can be done. The pins on the bottom half are already 0.1" spaced. The SR, SC and LC pins on the top will have to be rearranged slightly. A couple notes:

  • A perfboard with uniform 0.1" spacing would require keys to be offset by 0.8" (20.32 mm), which is slightly wider than the typical Cherry key spacing, about 0.75" or 19 mm.
  • The SR pins start to get close to the screw cutouts. I don't think it's too bad, but would probably motivate centering the cutouts between SR and LR pins, instead of keeping it aligned to the center of the switch where the force is directed.
mtl

Unread post10 Jan 2016, 21:06

X
mtl
 
Posts: 315
Joined: 21 Mar 2011, 01:11
Location: USA
Main keyboard: Custom
Main mouse: IBM TrackPoint IV
Favorite switch: Cherry MX Clicky
DT Pro Member: -
 
Just to report that I've used your amoebas for a CM switch tester. They're really great for doing things like this, it simplified the work, and more importantly the mess of wires, enormously!
Image
Image
Some more photos
flabbergast
User avatar

Unread post25 Feb 2016, 11:11

User avatar
X
flabbergast
 
Posts: 555
Joined: 07 Feb 2015, 20:12
Location: Southampton, UK
DT Pro Member: 0120
 
Next

Who is online

Users browsing this forum: Noobmaen, pansku, pixelatedvolume, Sangdrax, snacksthecat, tatsurou, Touch_It and 59 guests