Author Topic: Frankenstein, prototype  (Read 7390 times)

0 Members and 1 Guest are viewing this topic.

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« on: Sat, 10 October 2009, 04:03:57 »
Work in progress: This isn't exactly a mod; it's built from the ground up using Cherry Blue switches. The microcontroller is the commercial X-key controller from P.I. Engineering.

pre-wired glamour shot: http://www.flickr.com/photos/20106852@N00/3980790575/


Partially wired working video demo:
http://www.youtube.com/watch?v=Nj6LFgt_mAs

I call it Frankenstein because I was watching The Young Frankenstein when I was soldering the switches. My keyboard from salvaged part reminded me of it: http://www.youtube.com/watch?v=SwLAdWPjZsg

Offline AndrewZorn

  • Posts: 1575
Frankenstein, prototype
« Reply #1 on: Sat, 10 October 2009, 05:19:03 »
looks a lot like lowpoly's (as in, awesome)

is this hard to do once you have all the parts?  is it more difficult physically constructing it or doing the electrical stuff?
NOPPOO CHOC MINI FILCO TENKEYLESS KBC POKER CHERRY MX11900
In order of preference, I\'m afraid.

Offline Rajagra

  • Posts: 2950
Frankenstein, prototype
« Reply #2 on: Sat, 10 October 2009, 08:44:11 »
Where is the enormous schwanstucker key? :-)

I like the idea of a clear base.

Offline msiegel

  • Posts: 2046
Frankenstein, prototype
« Reply #3 on: Sat, 10 October 2009, 13:24:08 »
it's alive! A L I V E !!
very cool :D :D

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline JBert

  • Posts: 1187
Frankenstein, prototype
« Reply #4 on: Sat, 10 October 2009, 13:38:23 »
Interesting use of wide keys where the space bar used to be. I'd love to have a keyboard like that, would allow me to add all kinds of stuff to those keys.

The only thing I would comment on though is the conventional staggering - if I would build a keyboard I'd try to get rid of it and use a symmetrical layout.

But all in all, thanks for giving aspiring keyboard prototypers yet another possible route to a working example.
IBM Model F XT + Soarer's USB Converter || Cherry G80-3000/Clears

The storage list:
IBM Model F AT || Cherry G80-3000/Blues || Compaq MX11800 (Cherry brown, bizarre layout) || IBM KB-8923 (model M-style RD) || G81-3010 Hxx || BTC 5100C || G81-3000 Sxx || Atari keyboard (?)


Currently ignored by: nobody?

Disclaimer: we don\'t help you save money on [strike]keyboards[/strike] hardware, rather we make you feel less bad about your expense.
[/SIZE]

Offline roadblock2thesun

  • Posts: 94
Frankenstein, prototype
« Reply #5 on: Sat, 10 October 2009, 15:23:42 »
@cfishy,

I looked into this controller, but have a few questions for someone who has actually used it:

(1) How many layers does it support?
(2) How do you wire in those layers?

I'm sure there are other questions I have...

Excellent work though, cant wait to see the finished product,  Did you consider printing a circuit board and found it too expensive?

RB

Offline lowpoly

  • Posts: 2496
Frankenstein, prototype
« Reply #6 on: Sat, 10 October 2009, 15:44:13 »
Great keyboard! Love the acrylic plate.

How did the hand wiring go? I suspect it's kind of comfortable to do once you get used to the pattern. I think there is wire with laquer (?) isolation that will burn or melt when you solder it. Not sure if it would work here.

So, how do you plan to continue?
The Apple M0110 Today
Miniguru thread at GH, kit preview site at guru-board.com

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #7 on: Sat, 10 October 2009, 23:24:17 »
Hi everyone,

Thanks for your responses. The prototype is bare minimum of what a completely customized keyboard could work. So, I used clear acrylics because they are the cheapest that I can laser cut. No bevel because it's bare minimum.

The keys caps are salvaged from two sets of Scorpius M10s. One of which sand blasted to that ugly grey color.

X-key does support two layers, according to the software manual. It also comes with LEDs that shows you which layer you are on. I'm actually having problems with certain rows-columns with x-key where the programming software scans all the columns. For connector pins: there are 8 rows, 16 columns, bunch of grounds and 5v drawn from the USB host. They are in the form of 2x15 standard male headers, that's 0.1" apart. There's a hardware switch on the board for programming mode. I have been trying all sorts of ways to wire up these hundreds of wires, will report back what works. Each key also can be programmed with multiple scan codes, delays, etc.

The good thing about laser cut layers is that you can layout any way you want.  My first versions of the cuts are actually split into to hands because the scrap acrylics are not large enough for the whole keyboard. It's pretty amazing that the split is so precisely cut that you can just put them back together and they fit perfectly like a single piece. here are some pictures:

(split) http://www.flickr.com/photos/20106852@N00/3975766510

(placed next to each other) http://www.flickr.com/photos/20106852@N00/3975919762

I promised to make a UK Mac version using Cherry blue switches for my friend in London. I have trouble finding the enter key caps though,

http://km.support.apple.com/library/APPLE/APPLECARE_ALLGEOS/HT2841/HT2841-Wireless-British.jpg

Anyone know of a source? i can find "L" and "J" shapes, but not that specific shape.

Also, I might have to make stablizers for larger keys, which is one main reason I don't have any over 2x wide keys right now.

I was quite amused that Optimus Maximus keys aren't even lined up on the edges of the layout. So I guess it really isn't that big of a deal.

Yeah, the soldering gets much easier after 30 or so. but that's 30 or so painful lessons.

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #8 on: Sat, 10 October 2009, 23:40:18 »
Also about printing circuit boards: It needs multiple layers or jumpers, I gather, and it won't be cheap. Now that I have soldered a bunch, I'm thinking PCBs is a great idea. These cannot be hand made because the holes are precisely placed to hold the bottom stems. I have access to CNC routers and I will try using that as soon as I figure out how. I'm hoping the accuracy is good enough.

Offline rdjack21

  • Posts: 1664
Frankenstein, prototype
« Reply #9 on: Sun, 11 October 2009, 21:35:38 »
Really nice. thanks for sharing. Things like this help motivate me for some of the things I want to try.
Keyboards
Topre Capacitive: Realforce 87U, Realforce 86U, HHKB Pro 2, Topre MD01B0, Topre HE0100, Sun Short Type, OEM NEO CS (x2), NISSHO Electronics KB106DE
Buckling Spring: IBM Model M Space Saver (1291472), Unicomp Customizer x 2
Cherry Brown: Filco FKBN87M/EB, Compaq MX11800
Black Alps: ABS M1
Not so great boards Rare Spring over dome OKI, Sun rack keyboard

Trackballs - Trackman Wheel (3), Trackman marble (2)
Keyboards I still want to get - Happy Hacking Keyboard Pro 2 the White version, Realforce 23U number pad in black and maybe white, μTRON ergo board with Topre switches.
Previously owned - [size=0]SiiG MiniTouch (White Alps), Scorpius M10 (Blue Cherry), IBM Model M13[/size]

Offline quadibloc

  • Posts: 1610
  • Location: Edmonton, Alberta, Canada
  • Layout Fanatic
    • John Savard's Home Page
Frankenstein, prototype
« Reply #10 on: Mon, 12 October 2009, 07:09:56 »
For the keyboard to have no right-hand Alt key means you miss out on having AltGr, and I'm dubious about doing without a proper space bar as well.

I realize you're trying to obtain a compact layout using full-size keys, but the point of any project like this is to arrive at a better keyboard than anything available on the market. So I think you should be very careful to avoid any compromises that you might end up not being happy with in the future.

Sorry to perhaps be chiming in with the one negative comment, but my intent is just to sound a helpful note of caution. And, of course, keyboard layout preferences are a personal thing.

Offline Rajagra

  • Posts: 2950
Frankenstein, prototype
« Reply #11 on: Mon, 12 October 2009, 11:44:18 »
Quote from: quadibloc;124620
For the keyboard to have no right-hand Alt key means you miss out on having AltGr,


I also don't see a Home key, but I assumed there was some relabelling or finishing yet to be done.

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #12 on: Mon, 12 October 2009, 12:45:59 »
The point of this prototype: No two keyboard geeks like their layout the same way. Instead of paying hundreds for many keyboards that each of us is 90% happy about, we can make a keyboard layout exactly to our own liking, and assign scan code accordingly.

The x-key controller is now functioning perfectly, I think my previous problem is weak contact points. I crimped some wires to fix that problem: http://www.flickr.com/photos/20106852@N00/4000652228/

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #13 on: Mon, 12 October 2009, 12:59:45 »
Quote from: quadibloc;124620
For the keyboard to have no right-hand Alt key means you miss out on having AltGr,


It's not missing a right Alt key at all; before programming the keys, they are just switches with no scan codes, and whatever legend printed on the caps as I found them from my salvage key caps bag. X-key lets you assign scan codes for each key. I am placing key caps according to the row height and width. Say, Tab and Control keys might be the same width, but they are not the same height because they are on different rows.

I personally don't use right Alt, Win or Ctrl; i think the pinky's got a raw deal when it comes to typing.

Offline cfishy

  • Thread Starter
  • Posts: 62
Puttin' on a Ritz!
« Reply #14 on: Thu, 15 October 2009, 23:30:38 »
After much soldering and de-soldering,

"




I'm able to solder a fully working matrix:



front: with some more wiring i can probably put the controller away under the key switches:



but the problem is x-key. the controller sucks. it's super slow. so my next project will be using some keyboard controller ripped from a production keyboard, possibly a wireless one.

As Frankenstein would say, "Puttin' on a Ritz!!"
« Last Edit: Thu, 15 October 2009, 23:33:05 by cfishy »

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #15 on: Thu, 15 October 2009, 23:36:56 »
Quote from: ripster;125918
Whoah - that's a lot of wires.  The embedding ain't working so hot - just stick the http link in.

When you say slow controller you can actually feel a lag from keypress to key recognized?


link fixed. the lag is more like, typing something and wait til the text show up. it's not ok.

I got a teensy++ here and i might give that a try. Because the hardware matrix is already done, it's not possible to retrofit it to a production keyboard's controller anymore. I need to trace the circuits so I know where to wire which.

Offline Mnemonix

  • Posts: 210
Frankenstein, prototype
« Reply #16 on: Fri, 16 October 2009, 15:04:31 »
Quote from: cfishy;125920
I got a teensy++ here and i might give that a try. Because the hardware matrix is already done, it's not possible to retrofit it to a production keyboard's controller anymore. I need to trace the circuits so I know where to wire which.


Hm, I wonder if my Keyboard Upgrade firmware would run on that one... ;)
If want to try it, I'll be happy to help you adapting it to your needs.

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #17 on: Fri, 16 October 2009, 16:19:29 »
oh! I think this might be what's wrong: I need to switch the x-key controller to hardware mode. otherwise it uses a system daemon to "translate" the key strokes. that's why it's so slow.


http://www.xkeys.com/software/hardware.mode.php

Offline cfishy

  • Thread Starter
  • Posts: 62
Done!
« Reply #18 on: Sat, 17 October 2009, 02:56:58 »
Quote from: cfishy;126165
oh! I think this might be what's wrong: I need to switch the x-key controller to hardware mode. otherwise it uses a system daemon to "translate" the key strokes. that's why it's so slow.


http://www.xkeys.com/software/hardware.mode.php


Yup! that's what it is. I switched to hardware mode and programmed each key and now it works perfectly and is machine dependent.

In fact, I'm typing this post using Frankenstein! It's the first time I type full text on this keyboard!

Geekgirl approve stamp, please.  :)    I'll use this one at home for the weekend and I'll start using it at work next week.

Since it supports two layers, i might program the second layer if i can come up with a good layout.

Offline msiegel

  • Posts: 2046
Frankenstein, prototype
« Reply #19 on: Sat, 17 October 2009, 03:03:30 »
:D yay!!

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline cfishy

  • Thread Starter
  • Posts: 62
ESC key assignment
« Reply #20 on: Sat, 17 October 2009, 04:38:50 »
BTW, I am very pleased with the ESC key on the left half of the space bar. Makes Vim so much nicer not having to move away from the home row. I use Vim key binding for Firefox, too.

But the whole point is, we now have a way to fully customize everything in a keyboard without paying a few thousand bucks, from layout to key switches, to scan code assignment in two layers! x-key also support multiple scan codes, even with delays. The possibilities are endless!

Gona head to local electronics shop tomorrow and replace the bulky capacitor and the headers, so I can shrink down the controller height and hide it under the keys.
« Last Edit: Sat, 17 October 2009, 04:42:12 by cfishy »

Offline roadblock2thesun

  • Posts: 94
Frankenstein, prototype
« Reply #21 on: Sat, 17 October 2009, 11:35:37 »
Any chance you can post a link to a larger image of your matrix? Have you done a test for rollover? I've been working on putting together a board using black alps from a dell and a matrix/controller from some random p.o.s. keyboard... figuring out the matrix was rather difficult and the nest of wires is out of control. Whereas, yours looks pretty well organized...

Just curious to find out more details.

Excellent work!!!!!

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #22 on: Sat, 17 October 2009, 12:57:07 »
Quote from: ripster;126340
This is looking good!

What gauge of wire did you use?  Any particular type?

And hey, we have the same soldering iron!  They are awesome.


The red, white wires are 24 AWG solid, the light blue ones are 30AWG solid, and the green is 26AWG. The bus lines are stripped off white 24AWGs.

I had a crappy soldering iron at the beginning of this project and it got too hot, so I had to order a good one. Boy, what a difference!

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #23 on: Sat, 17 October 2009, 13:09:37 »
Quote from: roadblock2thesun;126366
Any chance you can post a link to a larger image of your matrix? Have you done a test for rollover? I've been working on putting together a board using black alps from a dell and a matrix/controller from some random p.o.s. keyboard... figuring out the matrix was rather difficult and the nest of wires is out of control. Whereas, yours looks pretty well organized...

Just curious to find out more details.

Excellent work!!!!!

Thanks!

larger photo :
http://www.flickr.com/photos/20106852@N00/4015255987/sizes/l/in/photostream/


I don't play games, and i type rather slow (between 60 and 80) so I didn't bother soldering even more diodes to get n-key rollover  :)  

I was trying to have two wires per switch, as you can see is previous photos. then I realized it's pretty aweful, so I de-soldered everything to switch to a bus layout.

The reason that I can avoid a giant mess by soldering bus lines is because I make the matrix first and program scan code accordingly. That's the advantage of not ripping a production keyboard controller: I don't have to follow their matrix assignment.
« Last Edit: Sat, 17 October 2009, 13:14:15 by cfishy »

Offline lowpoly

  • Posts: 2496
Frankenstein, prototype
« Reply #24 on: Sat, 17 October 2009, 14:43:52 »
You make it look easy. :-)

Could you use diodes instead of wire to connect the switches?

And can you still split it?
The Apple M0110 Today
Miniguru thread at GH, kit preview site at guru-board.com

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #25 on: Sat, 17 October 2009, 19:40:57 »
Quote from: lowpoly;126442
You make it look easy. :-)

Could you use diodes instead of wire to connect the switches?

And can you still split it?


split?

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #26 on: Sat, 17 October 2009, 20:54:36 »
Quote from: lowpoly;126442
You make it look easy. :-)



Haha, I suppose a lot of people don't want to solder this many wires. Well. Here's what I'm trying next, instead of soldering:

http://www.flickr.com/photos/20106852@N00/4020387841/in/photostream/

Offline lowpoly

  • Posts: 2496
Frankenstein, prototype
« Reply #27 on: Sun, 18 October 2009, 05:16:27 »
Quote from: cfishy;126485
split?

I thought the acrylic plate was actually two plates for a split layout.
The Apple M0110 Today
Miniguru thread at GH, kit preview site at guru-board.com

Offline roadblock2thesun

  • Posts: 94
Frankenstein, prototype
« Reply #28 on: Sun, 18 October 2009, 13:21:54 »
I'm not sue if the wrapped wires will be enough to hold if the board takes any abuse...

I have a bunch of links saved related to printing circuit boards at home... If you are interested, shoot me a pm.

Offline cfishy

  • Thread Starter
  • Posts: 62
Frankenstein, prototype
« Reply #29 on: Mon, 19 October 2009, 04:29:45 »
Quote from: roadblock2thesun;126649
I'm not sue if the wrapped wires will be enough to hold if the board takes any abuse...

I have a bunch of links saved related to printing circuit boards at home... If you are interested, shoot me a pm.


Have you seen the membrane sheets? I think, the wires aren't so bad compared to those. a drop of coffee and the membrane sheets would be stuck. Having been obsessed with keyboards since early 90s, I've seen many dead keyboards, and the majority of them died of some liquid/sticky stuff getting on the membrane.  But agreed, I'd rather not solder so much. this is by no means a finished prototype. I'm working on a wireless one now.

the idea is not to come up with a perfect keyboard, but find a process that everybody can easily duplicate and make their own keyboard precisely the way they like it.

say, all you need is to know the layout you want, the switch you want, scan code mapping, and that would be enough to make one offs less than a thousand dollars. The way I see it, it's perfectly doable with prototyping technologies like laser cutting, CNC routing, 3d printing.

Many people don't get what I'm trying to do: so let me explain: I'm doing this because I'm pissed that I can't buy a Filco tenless Cherry blue for months. Last time I bought it, it took over 3 weeks to arrive and then I can't buy another. I've had enough of "there's no demand for your keyboard" BS. I want a keyboard I like and I am not sitting helplessly for months on up to hoping to get one. For over 16 years, I had to pay top money, dig through junk yards, wait in pre-order for keyboards that click. I want to be free from that. Today, I know I got there.

so there. no more waiting for months to hope that the new Filco would ship. No more hoping for wireless and bluetooth. No more swapping to split keyboards when I have wrist pains. No more trying to get imports from Japan and Taiwan. No more hoping for backlit clickers. Now we can make it.

I'm sure many of you share the same frustration. No more keyboard wish lists, guys. We should not accept being held hostage by manufacturing. We deserve better. To mod a quote from Linus,

"Do you pine for the day when geeks are geeks and make their own keyboards?"

* I guess I should quote Tim Tyler but I haven't found one suitable.

So, yeah, I have a keyboard prototype with wires coming out. But I'm happy to be free. I am going to make improvements, more polished and feature rich versions. Meanwhile, if the wires fall off, I'll solder it back.

i'm working on PCBs, I got a deck here ready for etching/routing. I am trying to learn EAGLE and CAM stuff. I would be happy to see some links, too.

i think routing the PCBs with a CNC makes a lot more sense for one offs like this. It needs very precise drilling/routing to hold the bottom stem in place.  but one needs to know the precise firmware scan code for each point on the matrix before making the PCB. as for wires, you can just, well, cut them and re-wire. like I did with the blue wires there, for two keys.

Also working on the casing in the bottom so the wires would not be exposed. so far they have been holding up. I'm taking it to work for several hours of heavy typing tomorrow.