Custom alpsboard with trackpoint

User avatar
pfoff

03 Oct 2017, 12:49

Keyboard related infections
Wow, I think I got another infection. First it started, when I remembered the mechanical boards we used in the 80s. I got myself a pretty MX Clear Cherry G80.
And wow, I was happy like a child. There remained a problem, though. Since the 90s and my first ThinkPads I was also infected with the trackpoint virus. I had to get a trackpoint into a mechanical board. The first shot, was a Conversion of an IBM Space Saver II keyboard, we ended using it only as a case for a Cherry MX-Board and the trackpoint from another USB SpaceSaver(I have a lot of them here, mostly with stuck keys). This was a rock solid proof of concept. And works great. Givven that I found hasu's tmk firmware and the opportunities it gave to me, I had to give it another try. This time with my friend Sami, who helped me with all the mechanical part and it got complicated, we had to learn a lot... At the end we built my Cherry MX-Blue Woodbeast. It is since then my daily driver, when coding or constructing. We used the height adjustable Trackpoint prolongation in this board as well, so the trackpoint can be adjusted to match keycaps.
The last infection on this way, was caused by my old M0115 Apple Keyboard, I use it on my old Macs. And with hasu's converter I started to use it on my server machine as well. And man, I still love those orange Alps babes. I had another almost unused Apple Standard keyboards with orange alps. I harvested them and the idea kept burning through my brain.
2 Month ago we talked about the idea and some coding collegues said they plan to build a custom board themselves. So we started to design a little case. One of us produced a prototype of the case in MDF. After some days of work on the plate we got it into the small case and where able to make it work. I am writing this on the first prototype. It yet doesn't have trackpoint buttons, but presstoselect works perfectly and the other buttons are integrated in the keymap for now. We will build a little module to integrate physical buttons soon. The final cases will be build from wood or aluminium. Every one of use wants it a little different, so we will make also a cherry plate, which matches the case. My boards layout is perfect for me, as a vi user I need the escape key and I miss function keys when I work on the mainframe, so I will add them too. I don't miss the cursor keys as I can use VI bindings now everywhere!;-)))
The other Boards will become a layout similar to the Keycool84 or Matt3o's White Fox. So they also have to get a bit wider than the actual prototype. A pcb is planned, but untill today I have no clue of how to design one,any hints for good starting points?
There are some problems remaining, but this first test went really well, so I am planing to start the next prototype next week.
I will also build a cover for it. One Idea ist to build the body from aluminum and the covers from walnut wood. And a colorful vinyl version.

Questions so far:
1) I use Space as FN key and it works great, but the time is to short. Sometimes it misses my Space press, because I pressed a little bit slower. Where can I adjust this timespan in TMK Firmware?
2) I have some very small TTC Switches(almost the same dimensions as Omron D2LS) from an old Razr Mouse. The only matching pieces I find are Omron D2LS, but they seem to have some special kind of snapin mount. I'd prefer PCB mountable ones, but can't find them anywhere, any tipps here?
3) can anybody help me getting started with pcb design? I wouldn't like to glue the switches and a pcb seems to be the only solution to allow my friends to build there own boards. Is it possible to create one PCB to rule them all(Cherry/Alps,ISO/ansi)?
4) I think about using the trackpoint buttons from the matrix. But to make it really working I'd have to put the trackpoints button connectors to on. I should be able to connect them with a teensy output and put that one to high. Would that do the job? Otherwise selecting and middle button scroll don't work.

I currently test to clip the switches in, see the foto. It seems to work pretty well, but I am not sure, if it's worth the lot of work. But it doesn't hurt the switches!-)
I would have givven you a sound sample, but DT does not seem to allow mp3 files!-(

So far I'm pretty happy with it, even without trackpoint buttons!;-)


Here are some pix:
Spoiler:
Plate from the back
Plate from the back
plate_back_8876.JPG (393.97 KiB) Viewed 1906 times
Case
Case
case_DSC_8886.JPG (226.39 KiB) Viewed 1906 times
Sideview
Sideview
side_DSC_8898.JPG (122.89 KiB) Viewed 1906 times
Overall view
Overall view
board_overall_DSC_8893.JPG (178.49 KiB) Viewed 1906 times

User avatar
Phenix
-p

03 Oct 2017, 15:28

Looks good! Looking forward seeing progress..
(And I sent you a pm, would like to buy a trackpoint..)

User avatar
kbdfr
The Tiproman

04 Oct 2017, 10:09


User avatar
pfoff

04 Oct 2017, 13:02

I saw it, but I need three buttons for the middle button scroll, or is there any information that I missed?

Dilettant

03 Dec 2017, 09:41

What trackpoint do you use? I have a bunch of scrapped ThinkPad keyboards and would like to salvage the trackpoints. I managed to wire up one quite some time ago, but while experimenting it broke and so far I wasn't too lucky with wiring up the other ones. Any hints would be welcome!

User avatar
pfoff

03 Dec 2017, 11:11

I have used different Trackpoint modules in the keyboards I made. They mostly came from old thinkpads. Alonswartz has created a gist with all information. You can find it at: https://github.com/alonswartz/trackpoint
There you should be able to find almost anything. I made it height adjustable with a screw on top. If you like to I can take some photos. The wiring and the necessary reset circuit are explained in detail in the gist. If you want some pics or more infos don't hesitate to ask. And if you know a source for trackpoint modules or cheap old thinkpad keyboards, please tell. Phenix also needs some!-)
Here is a photo from the trackpoint in this board, as far as I know it came from a Thinkpad T42.
Trackpoint in Alps 5v61
Trackpoint in Alps 5v61
DSC_8874_.JPG (336.57 KiB) Viewed 1634 times

User avatar
Laser
emacs -nw

03 Dec 2017, 11:35

You say you need an Esc key for Vi usage, buuut ... you can use Caps Lock as dual-role function key: Ctrl when pressed, in combination with other keys, but Escape when pressed-and-released stand-alone :) This is so much more convenient than moving to Esc position. Also, `Ctrl-[` would replace Esc in a similar manner (not moving hands too far from the home row, but using a combo). And I say that because your keyboard looks great, apart from that single Esc key :)

I'd love to see a Caps Lock keycap with a dual Esc/Ctrl logo.

About PCB design, there are some good KiCAD tutorials on youtube (those from Contextual Electronics, for example), and if you search on github for `keyboard language:"KiCAD Layout"`, you'll find a number of keyboard pcb layouts and parts already made in KiCAD (including Alps).

User avatar
pfoff

03 Dec 2017, 12:37

You are right when it comes to the possibilities to remap esx anywhere. I use a Space-FN setup, so that wouldn't get complicated. But my habits on hitting esc to get into command mode are so deep in my head...
Antoher reason is that I also wanted to add a function key row for the mainframe work. But now I have decided to put one or two display on top of the keys, emulating PF1-24 works realy good and I don't have to use those every day. I am planning to integrate a password manager and blutooth capability. And remember it's not finished yet. It will get a top cover!-)))
The tutorials from Contextual are very interesting. WIll have to watch them in the holidays!:-)
I have looked at the ALPS64 PCBs in Kicad, are there other layouts available?
We will build an ergo board for a friend of mine as the next one, so it would be great to find some pcb layouts for an Alps ergo board(lazyness, hybris, impatience !;-))

User avatar
Laser
emacs -nw

03 Dec 2017, 12:57

There are layouts for ergo, and layouts for Alps, but maybe not for both at the same time ... I also want to make something unconventional using KiCAD, but my idea is that I better not rush it and learn to do things properly (there is a satisfaction in mastering the process ;) ) ...

This is what I'd recommend (I put my eyes on some of those for my purposes too):

1. https://github.com/ruiqimao/keyboard-pcb-guide - very nice, a KiCAD guide aimed specifically at keyboard-makers

2. https://github.com/bishboria/ErgoDox and https://github.com/profet23/atreus62 (ergonomic layouts)

3. https://github.com/tmk/alps64 and https://github.com/robertcalvert/f.60

At one point, you'll also need custom pcb footprints for various keyboard-related parts, you can find them also on github, either directly inside these projects, or in separate repositories.

Ah, and QMK firmware recently added support for Adafruit Bluetooth LE with a couple of devices :)

User avatar
pfoff

03 Dec 2017, 14:00

WOW! Whole bunch of information! Thanks a lot!
I agree! I use all the time I need to build those boards. It's not a job but learning with fun!-) So I ended up wiring another board by hand. The PCB has to wait. Grabbed all those links, I could later add some more, so we get a real link collection here.
I am planing(trying?) to get a nordic NRF51822 Bluetooth adapter working with TMK. If that fails I could try the Adafruit Solution.
Another plan is to integrate a Raspberry Pi Zero into my other(bigger) board. That way it's really easy to connect the other machines via Bluetooth/x2x/... But one would have to write a real bunch of tools to get that smoothly working, so it's a plan for the future!-)

p.s. Wow love that atreus 62 link you provided. Think we'll have a go with that one.

User avatar
Laser
emacs -nw

03 Dec 2017, 14:48

Heh :) I also want something more ergonomic, but perhaps not split, and with a more classical layout - just some triangle-shaped space in the middle of of a "broken" 65% keyboard, where some small thumb josytick could be placed as mouse/joystick.

I also found some info about capacitive diy keyboards, but that's a project for the more distant future.

User avatar
Menuhin

03 Dec 2017, 15:02

Very neat job!

I hope there can be the F key row and that the switches are not exposed - topped with another layer of wood to add some height around the switches. Wood finishing can be very fancy too. I am eager to see the final product.

User avatar
Phenix
-p

03 Dec 2017, 15:25

Looks good.
Indeed I could need a few trackpoint modules.. got asked recently if I can moda trackpoint into. A matias ergo pro for him, therefore I have one to play around with.
The tp I received doesn’t has any solder points: just a flat cable connected to the main pcb. Nice thing is for this project I can „simply“ use a second usb cable and I’m good to go.
Downside is I have no clue how to mod this particular tp into a teensy build.


I have a Chinese company on hand which sells nrF51822 modules AND is able to flash them with a provided firmware: pm me if I can help out

How the hell do you intent to include a password manager? Please elaborate, that had be amazing. Any plans to use KeePass manager / make it compatible with?

User avatar
Phenix
-p

03 Dec 2017, 15:28

BTW:
Layout wise I think many ideas are better than standard layout. So go for it if you are into it.
XAH LEE blogs about ergo layouts and analyzes them.

User avatar
pfoff

03 Dec 2017, 15:47

I have no clue yet how I will handle the nordic module. I have one here, will start to play with it in the next week. I hope to be able to load it wiht firmware. Help would be more than welcome!-)
The password manager is one of my crazy ideas I had from the beginning. I thought I could integrate it with a Teensy 3.1/3.6. because my tennsy++ won't have enough ram. And there are no pins to connect sram chips over... Another idea(that one works as a PoC) is to use the raspberry for it. To get it goin I also need to add the display to get a way to interact with the user.
Lots of ideas and mostly no money & time !-((

User avatar
pfoff

03 Dec 2017, 15:50

@Laser:
When it comes to the layout I am with you. I still must be able to work on any standard keyboard, so an atreus would be to far from it for me. And I am using keyboards more than 40 years now and it got harder to get used to changes!-(
The trackpoint in it's IBM form is a must for me. The older ones seem to be better than the new ones, btw.
I am so happy with my alps, not really interested in capicitive stuff(besides model m). The topres are to light and silent for me!-))

@Menuhin:
I think I won't add the F-keys, because I will need the space for display(s) and/or an arduino for password management. But I will add a top cover with integrated buttons, logic and display. Just have to find time and somebody willing to cnc mill my wood!-)

User avatar
Phenix
-p

03 Dec 2017, 16:41

pfoff wrote:@Laser:
When it comes to the layout I am with you. I still must be able to work on any standard keyboard, so an atreus would be to far from it for me. And I am using keyboards more than 40 years now and it got harder to get used to changes!-(
The trackpoint in it's IBM form is a must for me. The older ones seem to be better than the new ones, btw.
I am so happy with my alps, not really interested in capicitive stuff(besides model m). The topres are to light and silent for me!-))

@Menuhin:
I think I won't add the F-keys, because I will need the space for display(s) and/or an arduino for password management. But I will add a top cover with integrated buttons, logic and display. Just have to find time and somebody willing to cnc mill my wood!-)
Would love to help you but I did not got how to program them yet: that’s why I looked into who can program them for me.. if you manage to flash yours could you maybe flash a module for me as well (would send you the parts over)

The password manager idea sounds like I said great: will eagerly follow the thread.
Is it possible to integrate AHK scripts??

User avatar
pfoff

03 Dec 2017, 17:13

If I manage to flash it, we could also try that remote, if you like to. I did not even read the docu yet!-(
I am no windows User. But there should be a way to include AHK scripts, even when I doubt that it makes sense security wise. There are some interresting arduino password managers out there. I'll have to review those projects to decide which one to go with and how to integrate it smartly.
A huge todo list!;-)

User avatar
Laser
emacs -nw

03 Dec 2017, 17:44

Not sure if relevant: https://forum.arduino.cc/index.php?topic=393655.75 I think on Aliexpress there are some modules that the seller advertises that they are already flashed with the HM-10 firmware.

User avatar
pfoff

05 Dec 2017, 16:01

The HM-10 is another module, afaik.
I try to do it with an arduino core on the nordic nrf51822.
This link lets me assume, that I'll need additional hardware to flash it:
http://www.rogerclark.net/arduino-on-th ... ontroller/
the core gist I am planing to use:
https://github.com/sandeepmistry/arduino-nRF5

Nobody out there who has used this kind of modules? Would absolutely like to solve it with FOSS software.

Post Reply

Return to “Workshop”