Xerox DocuTKL: An Alps TKL

User avatar
snacksthecat
✶✶✶✶

07 Mar 2019, 01:00

Not Docu-Tickle! It's a TKL made from the best parts of a Xerox Docutech keyboard.

Spawned from my own stubbornness to use as much of the original keyboard as possible, I'm embarking on this journey to build my dream board.

The purpose of this thread is to document the creation of this board. I'm bound to make some mistakes along the way so feedback is more than welcome.

The constraints I'm working with:
  • Must use the full alpha block of the stock Xerox Docutech
  • Must fit in A87 form-factor case
These two factors are already at odds with each other and necessitate a custom PCB and plate. I have a tiny bit of experience in this space but I plan to make use of community-provided automation tools to reduce errors and provide a solid jumping off point to tweak.

Here is the layout that I'm currently planning (mostly just a starting point right now. not exact):
Image

As you can see from the image, the alphas are 1/4u shorter than standard. I'm hoping that this is not terribly noticeable in the end product but it's definitely the elephant in the room so I'm just going to put it out there. The white caps are undecided placeholders where I need to find some good color match candidates (I'm mostly working with @gainborough's discarded keycaps :lol: )

In the past, I've done some off the wall keycap combinations to fill a board. But that is not going to be the goal this time. For this keyboard (as stated above) I would like to preserve as much of the original design as possible.

My first stop is going to be fabricating a custom PCB. To accomplish this, I plan to use skullydazed's amazing Kalerator tool to generate an Eagle project from a KLE and tweak to my needs. I hope to get a start on this tonight and will make sure to post my progress.

Wish me luck as I venture into the crazy world of captital-'C' Customs. If the meme gods are on my side, this might just work out.

Which brings me to my first question: Is there a KLE I can use as a reference to get the A87 measurements correct?

User avatar
snacksthecat
✶✶✶✶

07 Mar 2019, 02:08

Edit: wrong thread
Last edited by snacksthecat on 07 Mar 2019, 02:28, edited 1 time in total.

Delirious

07 Mar 2019, 02:17


User avatar
snacksthecat
✶✶✶✶

08 Mar 2019, 18:27

Drilling the pcb is cool and your work is very neat, but because of the weirdness of the layout, I'd have to drill for so many switches. No doubt I would just ruin the thing. I'd rather get things right "on paper", then get it fab'd.

That being said, you should see how many extra Alps64 Mini pcbs I have from failed attempts.

Kinda wish I was a little more versed in this area because mistakes get expensive real fast.

User avatar
snacksthecat
✶✶✶✶

09 Mar 2019, 02:49

I'm doing the keyboard pcb guide in kicad and ran into an issue. Wondering if anyone out there might be able to help me.

I noticed once I put all the components on the pcb that I mixed up Gnd/Vcc in my schematic. I fixed the error in the schematic but I'm not sure how to make the change propagate over to the pcb side.

Image

User avatar
snacksthecat
✶✶✶✶

09 Mar 2019, 18:54

Well it's not much but it's what I've got so far. I finished the tutorial and then ran through it again. Goes very quickly the second time around.

What doesn't go quickly is creating all these switches, labeling them, and positioning them on the board.

I did my schematic and did rough placement of the switches. Next I'm going to work on getting them in their exact positions based on how I need things laid out.

Image

User avatar
snacksthecat
✶✶✶✶

10 Mar 2019, 00:46

Got things lined up pretty well. A nice community member sent me some A87 plate files that I used to tweak the spacing. Then I adjusted further according to my KLE. Here's what the keyboard layout looks like overlaid with the pcb footprints.

Image

I'm pretty pleased with this so far so I think what I'm going to do is order to get this printed (and a "plate" cut) out of cardboard. Then test my measurements in reality.

User avatar
snacksthecat
✶✶✶✶

10 Mar 2019, 05:11

Image

Got everything laid out like I think it should be and routed (used autoroute because I'm lazy). I also already put in an order with Ponoko to get the footprints etched out in cardboard so that I can do a real world layout test. Next I'll start working on the plate design.

User avatar
abrahamstechnology

10 Mar 2019, 05:23

Very nice, I need to finish learning how to use KiCAD for myself.

User avatar
snacksthecat
✶✶✶✶

10 Mar 2019, 22:18

After sleeping on it, I realized two things:
  1. I forgot to include the upper right cluster (print screen, scroll lock, pause/break)
  2. I defined the matrix in such a way that all switches didn't have unique row/column assignments
So I revised the schematic as a 9x10 array meant to minimize the number of pins and ignoring physical layout of the switches. Since I'm autorouting, I don't really mind if the array isn't physically optimized. I also added in the led lock light on the capslock switch as well since my keycaps have a windowed key here.

Image

Now it's re-routing/optimizing in the FreeRouting tool.

Image

Actually, now that I look at it again, I'm not seeing my lock light. Long story short, this is a lot to juggle for a dummy like me :lol:

Delirious

10 Mar 2019, 22:29

snacksthecat wrote:
09 Mar 2019, 02:49
I'm doing the keyboard pcb guide in kicad and ran into an issue. Wondering if anyone out there might be able to help me.

I noticed once I put all the components on the pcb that I mixed up Gnd/Vcc in my schematic. I fixed the error in the schematic but I'm not sure how to make the change propagate over to the pcb side.

Image
This picture of the USB port's placement is correct. The port must be dead center between F12 and Printscreen or else it wont fit through the usb hole of your LZ-CLS case. Also the port should be extended upward a little bit because to compensate for the case's bezel/thickness.

Another thing to not that the USB port is sandwich between the plate and the pcb. In other word it locates on the same face as your switches so if you dont extend it upward it will interfere with your case. You might have to move it around with your latest revision from what I saw. TKL is the odd-man out, every other layout has the usb port undernearth the pcb but TKL has it sandwiched.

Here are some more pictures for references. Very nice progress.

https://txkeyboards.com/images/virtuema ... 0PCB-1.jpg
https://i.imgur.com/nLS0Hlo.jpg

User avatar
snacksthecat
✶✶✶✶

10 Mar 2019, 23:00

Delirious wrote:
10 Mar 2019, 22:29
This picture of the USB port's placement is correct. The port must be dead center between F12 and Printscreen or else it wont fit through the usb hole of your LZ-CLS case. Also the port should be extended upward a little bit because to compensate for the case's bezel/thickness.

Another thing to not that the USB port is sandwich between the plate and the pcb. In other word it locates on the same face as your switches so if you dont extend it upward it will interfere with your case. You might have to move it around with your latest revision from what I saw. TKL is the odd-man out, every other layout has the usb port undernearth the pcb but TKL has it sandwiched.

Here are some more pictures for references. Very nice progress.

https://txkeyboards.com/images/virtuema ... 0PCB-1.jpg
https://i.imgur.com/nLS0Hlo.jpg
Really good points, thanks for the tips. The case came with a pcb so I measured with calipers and extended it out in the design.

Image

User avatar
snacksthecat
✶✶✶✶

11 Mar 2019, 00:31

Image

First crack at a plate for this abomination. Definitely needs lots of refinement. I didn't even attempt to place the stabilizer cutouts because the stab situation for these caps is very odd. I'll have to do some more measuring before I can get those right. Mainly I just tried to recreate the outline of the plate using a jpg of the TX plate that I have. Then used hasu's footprints for switch cutouts.

User avatar
snacksthecat
✶✶✶✶

15 Mar 2019, 01:05

Image

Good news! I got the order from Ponoko and was able to mount some switches on the cardboard "plate". This will help me understand if I have any spacing issues with keycaps. I don't have the patience to do it right now but tonight I'll get all the keycaps in place and assess from there.

User avatar
snacksthecat
✶✶✶✶

15 Mar 2019, 01:40

Image

Eh, I got bored.

User avatar
snacksthecat
✶✶✶✶

15 Mar 2019, 22:48

Image

The gaps on the sides are definitely more noticeable than I'd like. Even though they're only 1/8th unit on either side, they kind of pop out right at you. But that's okay, this train ain't stoppin!

User avatar
snacksthecat
✶✶✶✶

17 Mar 2019, 04:37

Trying to blend keycaps from another set with these guys is very stressful. They're awesome on their own but nothing really goes with them.

First I tried caps from a Wang 724. The PBT factor is cool but the grays clash with eachother and it ends up looking weird.
Image

Then I tried to go in a completely different direction and use some transparent caps that I got from my secret santa. The photo doesn't do it justice but it actually looks pretty cool. Plus you can see my neon green memes through the keycaps (I don't have them on the "board" but took a photo of a loose one).
Image
Image

I'll keep searching but I'm leaning towards the see-through ones at the moment.

User avatar
snacksthecat
✶✶✶✶

17 Mar 2019, 19:39

I think I'm pulling the e-brake on using the CLS case for this project. I'm really mystified by these see-through caps and want to do something cool with them. This Xerox project is going to take a lot of waiting and I need something to occupy my mind in the meantime. Sorry DocuTKL; it's not you, it's me. There are plenty of fish (cases) in the sea. We'll find the right one for you.

User avatar
snacksthecat
✶✶✶✶

19 Mar 2019, 18:11

Well, I have good news and bad news.

I ordered the PCBs and received them yesterday. Unfortunately I realized that I had made a mistake, not connecting my fill to ground (oops). I also discovered that I suck at SMD soldering. Neverthelessless, I got all the components soldered in place. I even managed to fix my error with a very small piece from a stranded wire.

Image

But when I plug it into the pc, it does not get recognized. Hmmm

User avatar
swampangel

19 Mar 2019, 18:34

snacksthecat wrote:
17 Mar 2019, 19:39
I think I'm pulling the e-brake on using the CLS case for this project. I'm really mystified by these see-through caps and want to do something cool with them. This Xerox project is going to take a lot of waiting and I need something to occupy my mind in the meantime. Sorry DocuTKL; it's not you, it's me. There are plenty of fish (cases) in the sea. We'll find the right one for you.
If I were in your shoes, I'd be contemplating a custom case to avoid the side gaps and align the ctrl keys with the rest of the alpha block.

Of course, I thought I'd be clever making a wooden case for my first handwire board and all I have so far is a pile of kindling, so ...
snacksthecat wrote:
19 Mar 2019, 18:11
I also discovered that I suck at SMD soldering. Neverthelessless, I got all the components soldered in place.
Love to know what kind of iron and tip you used. I've replaced the odd SMD resistor/etc but never a controller chip.

User avatar
snacksthecat
✶✶✶✶

20 Mar 2019, 00:26

swampangel wrote:
19 Mar 2019, 18:34
snacksthecat wrote:
17 Mar 2019, 19:39
I think I'm pulling the e-brake on using the CLS case for this project. I'm really mystified by these see-through caps and want to do something cool with them. This Xerox project is going to take a lot of waiting and I need something to occupy my mind in the meantime. Sorry DocuTKL; it's not you, it's me. There are plenty of fish (cases) in the sea. We'll find the right one for you.
If I were in your shoes, I'd be contemplating a custom case to avoid the side gaps and align the ctrl keys with the rest of the alpha block.

Of course, I thought I'd be clever making a wooden case for my first handwire board and all I have so far is a pile of kindling, so ...
snacksthecat wrote:
19 Mar 2019, 18:11
I also discovered that I suck at SMD soldering. Neverthelessless, I got all the components soldered in place.
Love to know what kind of iron and tip you used. I've replaced the odd SMD resistor/etc but never a controller chip.
I actually used solder paste and a reflow hot air gun thingy. It took some getting used to but I think I got a decent hang for it / understanding of what temperatures are required. But perhaps, in my learning process, I overheated the MCU or something. I did confirm it's getting 5v but haven't done anything else to troubleshoot it yet.

As for the case, I once tried to modify a cheap 60% case to do this exact same thing; reshape it to fit a particular set of keycaps I liked. That did not go well for me either, so I definitely feel your woodworking pain. If I knew of anyone willing to build me a custom case to spec, I would jump on it in a heartbeat. I've tried looking before but all my leads turned out to be flaky and I got frustrated and gave up the search.

Anyways, this is a real bummer for me because I had another project I wanted to design a custom PCB for. If I can't get this one to work, there's no point in starting that other project :(

I could adjust course, ditch the raw components, and replace them with a teensy; but I don't think I would be able to gracefully re-route the usb slot. Maybe somebody out there has a good example of how to do this.

User avatar
zrrion

20 Mar 2019, 02:15

For rerouting the USB I tend to use the small cable that they come with and plug that into a breakout board. I can then run wires from that to another breakout board. I do it this way, along with a socket for the controller, so that the controller can be removed in the event that I need it for a different project or I somehow break it.

User avatar
snacksthecat
✶✶✶✶

40 minutes ago

I've revised the design to more-closely match the true size of the pcb. After many rounds of measuring, I feel confident that the board cutouts are good now.

I switched from FreeRouting to Topor for autorouting. It seems to produce really nice results but I'm getting some design rule violations. All of the violations are a variation of this "track near pad" error.

Image

I'm not sure I understand what the problem is. The outbound COL0 trace is connected to the pad of D40 instead of the pad of K41. Why is this not allowed? I should point out that kicad doesn't actually recognize that this is a solid connection. Is there anything I can do to tell kicad that these things are all part of the same net?

Post Reply

Return to “Workshop”