USB-Ziffernblock im Thinkpad-Tastaturdesign aus W700/W701-Ziffernblock bauen

el-sahef

Active member
Registriert
4 Aug. 2008
Beiträge
1.666
Ich hatte schon länger die Idee, aus dem integrierten Ziffernblock vom W700 bzw. W701 einen USB-Ziffernblock zu machen, der vom Design her zur Tastatur vom T60 / T61 / T500 / W500 / X60 / X61 / X200 / X201 passt.

Nun gab es im Forum zwei solcher Ziffernblöcke in bezahlbar.

Hier das Ergebnis:



Benötigt wird der Ziffernblock (FRU 42T3903), ein möglichst dünnes USB-Kabel (z. B. von einer alten Maus), ein Arduino Pro Micro (Atmega32U4) mit 16 MHz (z. B. https://www.ebay.de/itm/152809275411) und etwas Lötzeugs.

Die Abdeckung vom Ziffernblock abschrauben (fünf Schrauben auf der Unterseite) und die Flachbandkabel aus dem Stecker lösen. Das Kabel mit dem Stecker zum Mainboard komplett entfernen. Anschließend die Platine durchschneiden, so dass nur noch der Bereich mit dem Stecker für das Flachbandkabel da ist. Die Elektronik ist leider für PS/2-Anschluss und daher nicht brauchbar für den Zweck, also weg damit. Kante entgraten und Platine wieder mit dem Flachbandkabel verbinden. Mit Sekundenkleber einkleben.

Vom Pro Micro auf der einen Ecke etwas von der Platine weg schneiden, wo das eine Schraubenloch ist. Dann von unten etwas Kapton-Band über die Löcher zum Einlöten von Kabeln oder Pins kleben, von dem Schaumstoffband links den Bereich entfernen, den einen Metallhaken runter drücken und die Platine ebenfalls mit Sekundenkleber einkleben. Vom USB-Kabel die Isolierung von ein paar cm entfernen und die einzelnen Adern durch das Loch stecken, wo vorher das Flachbandkabel zum Board ging. Der Einfachheit halber den Schlitz vorher etwas mit einem Cuttermesser vergrößern. Im Plastikkanal oben einen Steg entfernen und das USB-Kabel mit Sekundenkleber fixieren, dann mit Heißkleber komplett alles ausfüllen.

Die USB-Buchse vom Pro Micro entfernen und die Leitungen vom USB-Kabel anlöten. Die Lötpunkte von der Platine mit dem Flachbandkabelstecker über Lackdraht mit den entsprechenden Pins vom Pro Micro verbinden (siehe Scan). Prüfen, ob der Pro Micro erkannt wird, wenn der USB-Stecker in den PC gesteckt wird.

Mit Pinzette Reset auslösen (RST und GND verbinden) und danach sofort das Kommando zum Flash der Firmware eingeben:

Linux:
avrdude -p atmega32u4 -c avr109 -P /dev/ttyACM0 -b 57600 -D -V -U flash:w:W700_ziffernblock_v1.hex:i

Windows:
avrdude -p atmega32u4 -c avr109 -P COM9 -b 57600 -D -V -U flash:w:W700_ziffernblock_v1.hex:i

/dev/ttyACM0 bzw. COM9 müssen natürlich angepasst werden, je nach dem auf welchem Port der Arduino-Bootloader auftaucht. Und avrdude muss installiert sein und funktionieren.

Firmware Download: https://www.dropbox.com/s/gpyyyt9zom8l8w1/W700_ziffernblock_v1.zip?dl=1

Zum Compilieren braucht man die tmk Keyboard Firmware. Den Ordner W700_ziffernblock_v1 nach /tmk_keyboard/keyboard/ kopieren und make clean bzw. make eingeben. Wenn man nichts ändern möchte ist das aber nicht nötig.

Die Numlock-Taste aktiviert bzw. deaktiviert bei kurzem Drücken Numlock, bei langem Druck wird STRG+ALT+C gedrückt. Wenn man sich auf diese Tastenkombi den Taschenrechner legt kann man ihn so starten. Die eine LED auf dem ProMicro ist als Numlock-LED konfiguriert. Wenn man ein Loch oben drüber in die Abdeckung bohrt hat man eine Numlock-LED direkt am Ziffernblock.

Beim Deckel in der Seitenwand einen Absatz rein feilen wo die Kabel zum Pro Micro gehen und von den inneren Wänden die eine wo der Pro Micro sitzt entfernen. Aufschrauben, fertig.

Jetzt kann man mit einem 3D-Drucker noch einen Rahmen für unten und rechts drucken, um die Tasten besser einzufassen und dem Ding noch etwas mehr Stabilität zu geben. Alternativ kann man es auch so lassen und unten die beiden Befestigungslaschen abschneiden.
 
Zuletzt bearbeitet:
Wow.
Das NERD-Fu ist stark in jenem dort ...
Mit Kratzfuß

Quichote
 
Oh, das ist ja mal wieder ein tolles Projekt, Chapeau! :thumbup:
 
Das ist wirklich ein schoenes Projekt! Haette man auch statt des ATMega32 einen handelsueblichen PS/2 auf USB Konverter schlachten und dessen Platine verbauen koennen?
 
Da wünscht man sich glatt einen Anwendungsfall für einen Ziffernblock. Sehr geil! :thumbup:
 
Ja, man hätte vermutlich auch einen aktiven PS/2-USB-Adapter nehmen können, aber ich weiß nicht ob das dann platzmäßig noch reicht. Die originale Elektronik will auch 3,3V, also wäre eventuell sogar noch ein Spannungswandler erforderlich wenn man den PS/2-USB-Adapter nimmt. Von daher ist das so vielleicht sogar einfacher, denn der Atmega kann direkt die 5V vom USB-Port nehmen.

Ich werde noch eine Firmware machen, wo nicht die Ziffernblocktastencodes für die Zahlen und Bildlauffunktionen genommen werden sondern die normalen Tastencodes und die Numlock-Taste dann nur für den externen Ziffernblock eine neue Ebene aufschaltet. Auf diese Weise ist Numlock bei dem Ziffernblock immer unabhängig von einer anderen Tastatur, was mir besser gefällt.

Gerade am Thinkpad ist es blöd, wenn bei Numlock auf dem externen Ziffernblock automatisch auch der auf der Thinkpad-Tastatur aktiv ist. Echte Thinkpads können im BIOS so eingestellt werden, dass Numlock von externer Tastatur und interner Tastatur unabhänging sind, aber bei vielen anderen Laptops und bei den Mainboards von 51nb.com gibt es diese Funktion nicht.
 
Zuletzt bearbeitet:
Hinzu kommt, dass bei Chiclet-Tastaturen die NumLock-Taste fehlt. Also ist ein unabhängiger Ziffernblock absolut sinnvoll.
 
Ich hätte echt nicht gedacht, dass der Ziffernblock per PS/2 angeschlossen ist...
Für ein Trackpad habe ich mir auch mal son PS/2<->USB Adapter gekauft - die Platine ist sogar deutlich kleiner als die Arduinos. Wurde mal so 1,5 auf 0,5cm schätzen Die 3,3V hätte ich mir von den 5V vermutlich einfach per rote LED erzeugt *g*. Aber mit dem AVR kann man natürlich noch so einige lustige Dinge mehr tun :) Ich denke da nur an ein kleines OLED-Display...
 
  • ok1.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen
Zurück
Oben