Magnavox VideoWriter keyboard (cleanup and conversion)
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
A few weeks back I bought this Magnavox VideoWriter keyboard from a dude on reddit. I was originally attracted to the coveted SKCM brown Alps switches that it comes with but it also reminds me of a story that my father used to tell me; giving this board somewhat of a special meaning to me.
In my lifetime I haven't seen an actual word processor IRL but when my mom was pregnant with my sister, she was finishing up her masters thesis. It was an overwhelming task as it was, but that was compounded by the fact that she only owned a manual typewriter at the time. Meaning, any changes had to be retyped which obviously was a very time consuming task. She probably wouldn't have been able to finish her final draft in time but my late father in law shipped her his trusty word processor. Revisions that would normally take days were whittled down to minutes and she was able to submit the final copy in time for graduation (and to give birth to my sister!). I think my parents will really get a kick out of this when I show them.
My plan for this board is simply to clean it up and hopefully convert it to USB, being as unintrusive as possible. I'm not aware of any available code to convert it but I'd like to take a green-field shot at it anyways.
Wish me luck!
Below are some photos of the board pre-cleanup.
In my lifetime I haven't seen an actual word processor IRL but when my mom was pregnant with my sister, she was finishing up her masters thesis. It was an overwhelming task as it was, but that was compounded by the fact that she only owned a manual typewriter at the time. Meaning, any changes had to be retyped which obviously was a very time consuming task. She probably wouldn't have been able to finish her final draft in time but my late father in law shipped her his trusty word processor. Revisions that would normally take days were whittled down to minutes and she was able to submit the final copy in time for graduation (and to give birth to my sister!). I think my parents will really get a kick out of this when I show them.
My plan for this board is simply to clean it up and hopefully convert it to USB, being as unintrusive as possible. I'm not aware of any available code to convert it but I'd like to take a green-field shot at it anyways.
Wish me luck!
Below are some photos of the board pre-cleanup.
- 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: µ
Diagonally mounted switches on the arrow cross are pretty snazzy. The typography’s pretty cool too, though they did stray into “keming” with the logo on the underside. Really did think it read MAGNA/CK on first sight!
-
- Location: North Carolina
- Main keyboard: Alps Typewriter Conversion
- Favorite switch: Alps SKCL Green
- DT Pro Member: -
You could always replace the switches with matias or something. It would still work the same.
- Blaise170
- ALPS キーボード
- Location: Boston, MA
- Main keyboard: Cooler Master Quickfire Stealth
- Main mouse: Logitech G502
- Favorite switch: Alps SKCM Blue
- DT Pro Member: 0129
- Contact:
Why replace the switches with an inferior product?
-
- Location: North Carolina
- Main keyboard: Alps Typewriter Conversion
- Favorite switch: Alps SKCL Green
- DT Pro Member: -
My assumption was that he bought it for the switches. I guess if he's actually going to use the videowriter keyboard as a usb keyboard it wouldn't make sense.
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
I think that converting at a protocol level might not actually be a good option.
Here's the pinout for reference:
The keyboard sends ASCII codes over the data line at 9600 baud as long as red is held low.
Unfortunately the keyboard doesn't send break codes so you'd have to handle debounce on your own. This means that there would be some delay if you want to handle held keys properly since held keys result in repeating codes sent at a fixed interval (500ms for the initial press and then 100ms apart as long as you hold it). For example, here is a held "d":
I'm not sure of any way around this. It might just work out better to replace the controller.
p.s. sorry if any of this was explained incorrectly or in a confusing way. I'm still learning about this stuff.
Here's the pinout for reference:
Code: Select all
0 - Black Gnd
0 - Red ???
0 - Yellow Data
0 - Green Vcc
The keyboard sends ASCII codes over the data line at 9600 baud as long as red is held low.
Unfortunately the keyboard doesn't send break codes so you'd have to handle debounce on your own. This means that there would be some delay if you want to handle held keys properly since held keys result in repeating codes sent at a fixed interval (500ms for the initial press and then 100ms apart as long as you hold it). For example, here is a held "d":
I'm not sure of any way around this. It might just work out better to replace the controller.
p.s. sorry if any of this was explained incorrectly or in a confusing way. I'm still learning about this stuff.
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
Moving full speed ahead with the controller replacement.
I'll probably take a break at this point and disassemble/ultrasonic the switches so they're nice and smᗢᗝᗢᗝᗢᗝth.
I'll probably take a break at this point and disassemble/ultrasonic the switches so they're nice and smᗢᗝᗢᗝᗢᗝth.
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
"Why ya gotta go and make things so complicated???"
-
- Location: Des Moines / Cedar Falls, IA, USA
- Main keyboard: IBM Model F107
- DT Pro Member: 0190
Could you post a labeled picture of how you mapped the matrix to where the rows and columns come to the original IC? I'd thought about converting one of these with an Xwhatsit at some point, but hadn't mapped the PCB yet as it's way down on the to do list
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
Most certainly!orihalcon wrote: ↑Could you post a labeled picture of how you mapped the matrix to where the rows and columns come to the original IC? I'd thought about converting one of these with an Xwhatsit at some point, but hadn't mapped the PCB yet as it's way down on the to do list
Code: Select all
987
00000000
00000000
0123456
Code: Select all
00000000000000000000
00000000000000000000
ABCDEFGH
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
It's probably not that cool or impressive to anyone but this is the best job I've done at fitting one of these into a tight space like this.
I probably should have used thinner gauge wire but I find it really convenient to solder jumpers to the PCB once I've figured out the row/column pins, connect it to a breadboard to map out the matrix, then just snip the jumpers to size and solder them to the teensy.
I probably should have used thinner gauge wire but I find it really convenient to solder jumpers to the PCB once I've figured out the row/column pins, connect it to a breadboard to map out the matrix, then just snip the jumpers to size and solder them to the teensy.
- Hypersphere
- Location: USA
- Main keyboard: Silenced & Lubed HHKB (Black)
- Main mouse: Logitech G403
- Favorite switch: Topre 45/55g Silenced; Various Alps; IBM Model F
- DT Pro Member: 0038
Genuine Brown Alps (as found in your Magnavox) are great switches! Congrats on getting this venerable board going again and converted to USB!
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
I gave the switches an ultrasonic bath and then lubed the tops and sliders with some dupont teflon spray.
- abrahamstechnology
- Location: United States
- Main keyboard: Laser with SMK Cherry mount
- Main mouse: Mitsumi ECM-S3902
- Favorite switch: Alps and Alps clones
- DT Pro Member: 0212
What about socketing the controller so it can be restored in the future, if necessary?
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
Does anyone have experience retrobriting these keycaps? I had some bad luck even with just 3% peroxide making streaks on my NEC PC-8801 keycaps (the ABS ones) and these feel pretty similar.
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
I was getting weird ghosting issues so I had to remove all of the extra components, making reversal of the conversion a pain. I'm not sure if there's a better way to avoid the ghosting while keeping the conversion reversable.
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
I'm really please with how the retrobriting turned out. In person it looks like a brand new keyboard!
- TheInverseKey
- Location: Great White North
- Main mouse: M570
- Favorite switch: Hi-Tek 725 Linear
- DT Pro Member: 0216
- Contact:
Like always an amazing job!
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
Thanks!genesisx wrote: ↑Great work!!! Registered just to reply :p, I just got my hand on one of these, I am wondering what would it take to make an RJ14 to USB adapter for this?
It would actually be pretty simple to create a converter for this board but there would be significant limitations. The biggest problem is that the keyboard doesn't send break codes. When you hold a key, the board will send the make code followed by a brief period of science, then will repeatedly send the code as long as the key is held. This means that you would have to handle debounce in the converter which doesn't pan out very gracefully.
I started down that road originally when I got the keyboard. If you're interested, I could see if I'm able to dig out the arduino sketch I was starting to write to convert it.
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
I did another one of these controller replacements today. But instead of wiring up everything by hand, I instead rewired the PCB so that all of the rows/columns connect back to the main IC. By doing that, a Teensy++ 2.0 fits in perfectly and you just need to use header pins. I tried this on one of the Televideo boards a few months back but it had so many lines it became unmanageable trying to remap everything. This time was a breeze! Sure beats having to wire up everything by hand It would have been even cleaner but I missed a row and had to account for it after the fact (the long one running under the Teensy).
- swampangel
- Location: Canada
- Main keyboard: Northgate Omnikey 101
- DT Pro Member: -
This looks so sharp.snacksthecat wrote: ↑13 Feb 2019, 01:11I did another one of these controller replacements today. But instead of wiring up everything by hand, I instead rewired the PCB so that all of the rows/columns connect back to the main IC. By doing that, a Teensy++ 2.0 fits in perfectly and you just need to use header pins. I tried this on one of the Televideo boards a few months back but it had so many lines it became unmanageable trying to remap everything. This time was a breeze! Sure beats having to wire up everything by hand It would have been even cleaner but I missed a row and had to account for it after the fact (the long one running under the Teensy).
It's nice to work on old gear where the pcb/components are sized for human hands instead of a pick-and-place machine.
- ZedTheMan
- Location: Central US
- Main keyboard: IModel F77/IBM 3101/Omnikey 102/96Kee
- Main mouse: Logitech G430/Logitech M570/Kensington Expert
- Favorite switch: Beamsprings. Alps SKCM Blue, Capacitive Buckling S
- DT Pro Member: 0219
I think you may be confused, this is a Magnavox, not a Sharp.swampangel wrote: ↑13 Feb 2019, 17:51
This looks so sharp.
It's nice to work on old gear where the pcb/components are sized for human hands instead of a pick-and-place machine.
But yeah, great job on the conversion as always!
-
- Location: Houston, Texas
- Main keyboard: HasuAlps 60% Build with SKCM Orange Alps
- Main mouse: Lenovo N50
- Favorite switch: Orange Alps, Zealios 67g
- DT Pro Member: -
- Contact:
could you elaborate on how to do this? I got one of these for the switches, but when i got the behemoth of a videowriter, it had all the accessories and the keyboard fit inside the case and the keycaps had very little to no shine, the board was just in spectacular condition, and I actually rather like the case on this thing. would like to convert it for USB usage.snacksthecat wrote: ↑13 Feb 2019, 01:11I did another one of these controller replacements today. But instead of wiring up everything by hand, I instead rewired the PCB so that all of the rows/columns connect back to the main IC. By doing that, a Teensy++ 2.0 fits in perfectly and you just need to use header pins. I tried this on one of the Televideo boards a few months back but it had so many lines it became unmanageable trying to remap everything. This time was a breeze! Sure beats having to wire up everything by hand It would have been even cleaner but I missed a row and had to account for it after the fact (the long one running under the Teensy).
- adamcobabe
- Location: London
- Main keyboard: Norbatouch
- Main mouse: Razer
- Favorite switch: Beamspring
- DT Pro Member: -
I'm very interested too. Please elaborate, snacks. What do you remove, what do you add? Is there a way to get rid of the long wire under the Teensy? Thanks.
- Quartz64
- Location: Russia
- Main keyboard: Kinesis Contoured (Kailh Box Black, Koala)
- Main mouse: Elecom Huge
- Favorite switch: Durock Koala
- DT Pro Member: 0253
- Contact:
Majority of necessary information is already contained in snacksthecat's post: matrix mapping (row/column position of every key) and row/column pinout on the mounting holes. I've done the similar conversion with separation of Shift keys (there were connected in parallel on the PCB) and addition of diodes for NKRO. I have a PSD file which contains photo of the PCB and color lines for every row and column trace in separate layers, but it's over 100 MB in size.
TL;DR: You remove the resistor array, the main MCU and the decoder IC which drives the rows. You need to short the 4 diodes (D2–D5) in the bottom right corner of the PCB. Optional: rewire the right Shift if you want separate Shift keys, cut the traces and add diodes for NKRO. Finally, you can use any MCU with enough IO pins (18 for 10x8 matrix).
TL;DR: You remove the resistor array, the main MCU and the decoder IC which drives the rows. You need to short the 4 diodes (D2–D5) in the bottom right corner of the PCB. Optional: rewire the right Shift if you want separate Shift keys, cut the traces and add diodes for NKRO. Finally, you can use any MCU with enough IO pins (18 for 10x8 matrix).
- snacksthecat
- ✶✶✶✶
- Location: USA
- Main keyboard: SSK
- Main mouse: BenQ ZOWIE EC1-A
- DT Pro Member: 0205
- Contact:
To reroute the pcb, I unfortunately don't have exact details since I was converting that board for someone else and so I don't have it any longer. But basically all I did was line up the teensy++ on the main IC so that the 12 pins on the bottom lined up with the necessary spots. Once that was in place, I just tested each of the other pins to see where on the board they terminated. The yellow wires simply bridge the gaps between where the matrix terminates and my ad hoc traces terminate. Once those are connected, everything routes nicely back to the main IC.
I realize that I probably did a bad job of explaining this. I do have another videowriter keyboard so if you need help, I can use that as a reference to assist you.
I realize that I probably did a bad job of explaining this. I do have another videowriter keyboard so if you need help, I can use that as a reference to assist you.