Controller replacement for Zenith SupersPORT keyboard
- Scarpia
- Location: Sweden
- Main keyboard: F77 / Alps SKCM Brown TKL
- Main mouse: Logitech MX Anywhere 2
- Favorite switch: Capacitive BS, Alps SKCM Brown
- DT Pro Member: 0223
Hello good people of Deskthority -- first post (been lurking for a while). I have a Zenith SupersPORT that I bought and gutted years ago hoping to rebuild it, and the time has come to complete the transformation.
The project in broad strokes: I'm going to put a Raspberry Pi in there (there's plenty of room in the case so I may eventually go for something more powerful) with a sound card, a WiFi dongle and a 10 inch HDMI LCD panel, and as big of a battery pack as I can cram in there.
I'll fit a couple of external USB ports, a headphone jack, and a power button, and Bob's your uncle.
The only real challenge is the keyboard, which needs a controller. I plan to use a Teensy 2.0 as recommended on the wiki, but the keyboard comes with a flexible flat cable (a 24-pin "Sumitomo-y AWM 2896 80C VW-1") which I don't feel like trying to solder, so I need to find a ZIF connector that I can clamp onto it and basically plug directly onto a pinboard. And that's really my question -- I have scoured the internet looking for connectors, but I am not versed enough in the jargon to know what to look for exactly.
Ideally I'd find a readymade breakout board (something like http://www.hotmcu.com/fpc-05mm-pitch-40 ... ml?cPath=8 but with 24 pins and the correct pitch etc.) or a connector with flying leads (they have some at http://www.quadrangleproducts.com/category.cfm?c=54 but I don't know if they'll fit my FCC).
I don't know if this is too specific of a question to ask in here, but the wiki page for the keyboard on my Zenith SupersPORT says "The keyboard PCB contains only the switches, diodes and lock LEDs, with the controller itself on the motherboard. This makes the keyboard ideal for controller replacement.", which gave me hope that someone in here may have already worked on the exact same hardware and knows where to get the component(s) I need to get it to run as a standard USB HID.
So anyway -- any ideas would be much appreciated, as this project is very dear to me.
Kind regards, Scarpia
The project in broad strokes: I'm going to put a Raspberry Pi in there (there's plenty of room in the case so I may eventually go for something more powerful) with a sound card, a WiFi dongle and a 10 inch HDMI LCD panel, and as big of a battery pack as I can cram in there.
I'll fit a couple of external USB ports, a headphone jack, and a power button, and Bob's your uncle.
The only real challenge is the keyboard, which needs a controller. I plan to use a Teensy 2.0 as recommended on the wiki, but the keyboard comes with a flexible flat cable (a 24-pin "Sumitomo-y AWM 2896 80C VW-1") which I don't feel like trying to solder, so I need to find a ZIF connector that I can clamp onto it and basically plug directly onto a pinboard. And that's really my question -- I have scoured the internet looking for connectors, but I am not versed enough in the jargon to know what to look for exactly.
Ideally I'd find a readymade breakout board (something like http://www.hotmcu.com/fpc-05mm-pitch-40 ... ml?cPath=8 but with 24 pins and the correct pitch etc.) or a connector with flying leads (they have some at http://www.quadrangleproducts.com/category.cfm?c=54 but I don't know if they'll fit my FCC).
I don't know if this is too specific of a question to ask in here, but the wiki page for the keyboard on my Zenith SupersPORT says "The keyboard PCB contains only the switches, diodes and lock LEDs, with the controller itself on the motherboard. This makes the keyboard ideal for controller replacement.", which gave me hope that someone in here may have already worked on the exact same hardware and knows where to get the component(s) I need to get it to run as a standard USB HID.
So anyway -- any ideas would be much appreciated, as this project is very dear to me.
Kind regards, Scarpia
-
- Location: Kansas
- Main keyboard: Generic
- Main mouse: Gigabyte M6880
- DT Pro Member: -
Hello Scarpia! I recently acquired a Zenith SupersPORT 286 and have embarked on this exact same project. Luckily, though, I still have the main motherboard of the Zenith so I can remove the cable connector from the board. A 3d printer will make short work of the case work.
Have you got your keyboard controller put together? I am considering using the Teensy 2.0 or the Chamelion.
Have you got your keyboard controller put together? I am considering using the Teensy 2.0 or the Chamelion.
-
- Location: Kansas
- Main keyboard: Generic
- Main mouse: Gigabyte M6880
- DT Pro Member: -
It seems that the Chamelion is hard to find and the Teensey 2.0 is has been more widely adopted so I'm going that route.
The soldering of the ribbon cable to the motherboard is simple enough that you might consider simply desoldering the ribbon cable and replacing it with individual wires; it seems that if you're able to solder to the Teensey, you should be able to easily solder to the board on the keyboard.
The soldering of the ribbon cable to the motherboard is simple enough that you might consider simply desoldering the ribbon cable and replacing it with individual wires; it seems that if you're able to solder to the Teensey, you should be able to easily solder to the board on the keyboard.
- Scarpia
- Location: Sweden
- Main keyboard: F77 / Alps SKCM Brown TKL
- Main mouse: Logitech MX Anywhere 2
- Favorite switch: Capacitive BS, Alps SKCM Brown
- DT Pro Member: 0223
Hi there Pinhead -- I am a bit further with my project now, using a Teensy 2.0 and the TMK firmware.
I've connected to the flex cable using a Molex 24-lead 1.25mm pitch FPC connector (bought it from Digi-Key as they were the only supplier who would sell a single part *and* ship to the EU). This is a lot easier than soldering, it merely requires peeling off the blue strip of tape on the flex cable to be able to insert it in the connector.
I then painstakingly mapped the keyboard matrix for the Alps keyboard using a multimeter and a lot of scratch paper It's a 10 col 8 row matrix, and the pins are laid out as follows:
Pin 0: unused as far as I can tell
Pin 1: VCC (for LEDs)
Pin 2-5: LEDs (-)
Pin 6-15: columns (-)
Pin 16-23: rows (+)
(Updated to reflect the correct LED pins)
I can share the key layout with you when I get home later tonight.
As for the Teensy code, I have all the buttons working apart from the Fn layer and NumLock/ScrollLock/PadLock, which I haven't configured yet. You'll discover that the keyboard diodes are flipped in the opposite direction to what the TMK firmware expects, so you'll need to map the columns as rows and rows as columns, which works just fine, it just makes the code a lot less readable. I briefly considered rewriting the firmware to do the pivoting for me, but this way was faster.
As for the case work, you are right that a 3D printer would be brilliant, but I'm afraid I don't have access to one near me, nor do I have the experience with CAD to model the parts, so I'd need to spend some time with a 3D printer before I could expect to see usable parts.
Luckily, all I need is one or two 3.5" drive bay covers, and I have gotten my hands on some yellowed plastic that I should be able to cut carefully to the size I need.
As for the display, I intend to use a 9.7" iPad2 LCD panel which fits the laptop perfectly, using an HDMI-to-LVDS controller board I got off eBay. What are you using?
I've connected to the flex cable using a Molex 24-lead 1.25mm pitch FPC connector (bought it from Digi-Key as they were the only supplier who would sell a single part *and* ship to the EU). This is a lot easier than soldering, it merely requires peeling off the blue strip of tape on the flex cable to be able to insert it in the connector.
I then painstakingly mapped the keyboard matrix for the Alps keyboard using a multimeter and a lot of scratch paper It's a 10 col 8 row matrix, and the pins are laid out as follows:
Pin 0: unused as far as I can tell
Pin 1: VCC (for LEDs)
Pin 2-5: LEDs (-)
Pin 6-15: columns (-)
Pin 16-23: rows (+)
(Updated to reflect the correct LED pins)
I can share the key layout with you when I get home later tonight.
As for the Teensy code, I have all the buttons working apart from the Fn layer and NumLock/ScrollLock/PadLock, which I haven't configured yet. You'll discover that the keyboard diodes are flipped in the opposite direction to what the TMK firmware expects, so you'll need to map the columns as rows and rows as columns, which works just fine, it just makes the code a lot less readable. I briefly considered rewriting the firmware to do the pivoting for me, but this way was faster.
As for the case work, you are right that a 3D printer would be brilliant, but I'm afraid I don't have access to one near me, nor do I have the experience with CAD to model the parts, so I'd need to spend some time with a 3D printer before I could expect to see usable parts.
Luckily, all I need is one or two 3.5" drive bay covers, and I have gotten my hands on some yellowed plastic that I should be able to cut carefully to the size I need.
As for the display, I intend to use a 9.7" iPad2 LCD panel which fits the laptop perfectly, using an HDMI-to-LVDS controller board I got off eBay. What are you using?
Last edited by Scarpia on 22 Feb 2016, 22:08, edited 1 time in total.
- Muirium
- µ
- 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: µ
Nice project. I have one of these boards too, so I'd like to see your reverse engineered matrix for my own purposes! I'll likely use Soarer's Controller (which I'm already well versed in) so I can define which are rows and which are columns for myself.
People have heard my anti 3D printer opinions before. They're fine for testing a shape but the material crumbles and wears much too much to make longterm components. It's really only suited to prototyping / proof of concept. Try to line up some other way to make the bits you need, once you've perfected them in 3D print cake!
People have heard my anti 3D printer opinions before. They're fine for testing a shape but the material crumbles and wears much too much to make longterm components. It's really only suited to prototyping / proof of concept. Try to line up some other way to make the bits you need, once you've perfected them in 3D print cake!
- Scarpia
- Location: Sweden
- Main keyboard: F77 / Alps SKCM Brown TKL
- Main mouse: Logitech MX Anywhere 2
- Favorite switch: Capacitive BS, Alps SKCM Brown
- DT Pro Member: 0223
Here is the overlayed keyboard matrix for the Zenith SupersPORT SX / 286 (a.k.a. the AEG Olympia Olyport40):
Full size: http://imgur.com/SlBcpjj
Or, if this is easier to follow (note that this is for the danish keyboard layout, so it may not match yours exactly; I have added the corresponding US layout keycodes for most special character keys):
As mentioned before, columns 1-10 translate to pin 6-15, and rows 1-8 translate to pin 16-23.
Teensy 2.0 / TMK configuration
If you are using the TMK firmware by Hasu for the Teensy 2.0, you can simply paste the following matrix configuration (pivoted to 8 cols and 10 rows) into the keymap_poker.c file:
(updated 2018-02-04 with a few corrections to the keycodes)
Full size: http://imgur.com/SlBcpjj
Or, if this is easier to follow (note that this is for the danish keyboard layout, so it may not match yours exactly; I have added the corresponding US layout keycodes for most special character keys):
Matrix | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6 | Column 7 | Column 8 | Column 9 | Column 10 |
Row 1 | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |
Row 2 | ' * (BSLS) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | F10 |
Row 3 | Tab | q | w | e | r | t | y | u | 9 | NumLk |
Row 4 | LCtl | a | d | f | g | h | j | i | 0 | Pause |
Row 5 | LSft | s | v | b | n | m | k | o | + ? (MINS) | Ins |
Row 6 | z | x | Spc | up | RAlt | , | l | p | ´ ` (EQL) | Del |
Row 7 | CpsLk | c | left | RCtl | . | æ (SCLN) | å (LBRC) | PrtSc | Bksp | |
Row 8 | Fn | LAlt | down | rght | RSft | - _ (SLSH) | ø (QUOT) | ¨ (RBRC) | Ent | < > (NONUS_BSLASH) |
Teensy 2.0 / TMK configuration
If you are using the TMK firmware by Hasu for the Teensy 2.0, you can simply paste the following matrix configuration (pivoted to 8 cols and 10 rows) into the keymap_poker.c file:
Code: Select all
KEYMAP(ESC, NUHS, TAB, LCTL, LSFT, Z, CAPS, FN0, \
F1, 1, Q, A, S, X, C, LALT, \
F2, 2, W, D, V, SPC, DOWN, \
F3, 3, E, F, B, UP, LEFT, RGHT, \
F4, 4, R, G, N, RALT, RCTL, RSFT, \
F5, 5, T, H, M, COMM, DOT, SLSH, \
F6, 6, Y, J, K, L, SCLN, QUOT, \
F7, 7, U, I, O, P, LBRC, RBRC, \
F8, 8, 9, 0, MINS, EQL, PSCR, ENT, \
F9, F10, NLCK, PAUS, INS, DELETE,BSPC, NONUS_BSLASH)
Last edited by Scarpia on 04 Feb 2018, 20:38, edited 11 times in total.
- Scarpia
- Location: Sweden
- Main keyboard: F77 / Alps SKCM Brown TKL
- Main mouse: Logitech MX Anywhere 2
- Favorite switch: Capacitive BS, Alps SKCM Brown
- DT Pro Member: 0223
Gently bumping this because I've added the keyboard matrix code for the TMK firmware above.
Maybe someone with write access to the wiki can add the info (or a link to this topic) to the Wiki page for the SupersPORT?
Maybe someone with write access to the wiki can add the info (or a link to this topic) to the Wiki page for the SupersPORT?
- Scarpia
- Location: Sweden
- Main keyboard: F77 / Alps SKCM Brown TKL
- Main mouse: Logitech MX Anywhere 2
- Favorite switch: Capacitive BS, Alps SKCM Brown
- DT Pro Member: 0223