Jump to content
IGNORED

TI-99/4A Hi-Tek Keyboard Replacement


Nelno

Recommended Posts

I've been working intermittently on a project to create a replacement for the TI-99/4A keyboard using modern keyboard switches. So far I have the PCB shape and key placement working well enough to slot into the case. In the attached photos you can see the 3D printed part representing both the PCB (bottom layer) and the keyboard switch substrate that the Kailh low-profile switches plug into. 20210427_170428.thumb.jpg.df9864354c03dc75d6a1d022b5ddca3e.jpg20210427_170435.thumb.jpg.3b9fcd1d06ce922bd47d8178c22d6adf.jpg

20210427_170453.thumb.jpg.39e5c934f6be69fe737e3b3ceb820782.jpg20210427_170406.thumb.jpg.d3473ef04b5ce57bc7d9439e98bb2716.jpg

 

In its final form there will be a PCB on the bottom layer and a 3D-printable layer on top of that which the switches plug into. Some additional clips that are screwed into the original screw holes on the case should hold it in place, though I haven't designed those yet which is why you see a bunch of tape holding the prototype onto the case.

 

This is an earlier prototype. It's printed in two pieces and joined because my 3D printer isn't large enough to print the 24 cm wide piece in one go.

 

20210427_170351.thumb.jpg.fdf0d9b998b7348e9b1bb9074154d002.jpg

 

The raised area is the substrate for inserting the keyboard switches. They just snap in. The lower flat area would be the separate PCB, secured to the substrate with some screws.

 

I chose the Kailh low-profile brown switches because:

a) I had some of them

b) the low-profile switches with low-profile keycaps match up nearly perfectly to the height of the original keys with just the PCB + switch substrate. Using full-size switches would require a much thicker substrate, which is not the end of the world, but would take a lot longer for me to print prototypes.

c) I think browns are probably the closes modern approximation to the TI's Hi-Tek keyboard.

 

I've also designed 3D-printable low-profile keycaps for these Kaihl low-profile switches, but I am expecting that some injection-molded keycaps would be used in the final build. One issue with this is the tilt of the keyboard in the case doesn't leave much option for adjusting the angle of the top of the keys. In the original Hi-Tek keyboards the tops of the keycaps are level. In order to do that with modern key switches, the only real option is to make the keycaps themselves attach to the switches at an angle, because the switches themselves must all plug into the single, slanted PCB. This would mean custom keycaps, or some sort of adapter for original keycaps. I'm not too worried about this, though, because in modern keyboards its natural for the keycaps to not be level when the keyboard is tilted at an angle (i.e. by the keyboards back feet). Ideally anyone building this could just use standard low-profile Kailh keycaps. In retrospect, using the Kailh low-profile switches may not be the best choice because keycaps are much harder to find than they are for Cherry or Kailh standard switches.

 

The main challenge I will have is PCB design. I have exactly zero experience with PCB design, so I'm learning as I go. Currently trying to get a good workflow for FreeCAD to PCB design software. Fusion360 + Eagle is no good because it only allows 80 cm^2 PCBs in the free version and I'm not paying Autodesk's insane software rental fees for a project I intend to open source. At any rate, the PCB for a keyboard seems like one of the easiest things to start with and a good way to learn.

 

I started this due to my experience replacing the plungers on my Hi-Tek keyboard and realizing these keyboards are relatively rare compared to the Mitsumi membrane keyboards. I don't know if this would fit in a case that takes Misumi keyboards, since both TI-99/4As I own have Hi-Tek keyboards. Are the various keyboards interchangeable? My end goal is to provide a replacement keyboard with a modern feel, using modern parts that are easier to source, but hopefully something that looks close to and has the option to be, at a glance, difficult to distinguish from the original keyboards.


Interested to hear any feedback. Am I wasting my time with this? Would anyone else find it useful? Has this already been done? (I couldn't find anything indicating it has when I was working on my keyboard plungers about 6 month ago).

Edited by Nelno
Grammar.
  • Like 15
  • Thanks 1
Link to comment
Share on other sites

You are the first I've seen of someone trying to do this--and yes, it is a very good idea. Even the best TI keyboards won't last forever. One problem you won't see though is incompatibility--all keyboards for the /4A use the same attachment points and fit into the same opening. This is true for both case types too--the keyboards are always interchangeable.

  • Like 3
Link to comment
Share on other sites

19 minutes ago, Ksarul said:

You are the first I've seen of someone trying to do this--and yes, it is a very good idea. Even the best TI keyboards won't last forever. One problem you won't see though is incompatibility--all keyboards for the /4A use the same attachment points and fit into the same opening. This is true for both case types too--the keyboards are always interchangeable.

Excellent. I thought that was the case, but it's good to have it confirmed.

Link to comment
Share on other sites

2 hours ago, Nelno said:
I've been working intermittently on a project to create a replacement for the TI-99/4A keyboard using modern keyboard switches. So far I have the PCB shape and key placement working well enough to slot into the case. In the attached photos you can see the 3D printed part representing both the PCB (bottom layer) and the keyboard switch substrate that the Kailh low-profile switches plug into. 20210427_170428.thumb.jpg.df9864354c03dc75d6a1d022b5ddca3e.jpg20210427_170435.thumb.jpg.3b9fcd1d06ce922bd47d8178c22d6adf.jpg
20210427_170453.thumb.jpg.39e5c934f6be69fe737e3b3ceb820782.jpg20210427_170406.thumb.jpg.d3473ef04b5ce57bc7d9439e98bb2716.jpg
 
In its final form there will be a PCB on the bottom layer and a 3D-printable layer on top of that which the switches plug into. Some additional clips that are screwed into the original screw holes on the case should hold it in place, though I haven't designed those yet which is why you see a bunch of tape holding the prototype onto the case.
 
This is an earlier prototype. It's printed in two pieces and joined because my 3D printer isn't large enough to print the 24 cm wide piece in one go.
 
20210427_170351.thumb.jpg.fdf0d9b998b7348e9b1bb9074154d002.jpg
 
The raised area is the substrate for inserting the keyboard switches. They just snap in. The lower flat area would be the separate PCB, secured to the substrate with some screws.
 
I chose the Kailh low-profile brown switches because:
a) I had some of them
b) the low-profile switches with low-profile keycaps match up nearly perfectly to the height of the original keys with just the PCB + switch substrate. Using full-size switches would require a much thicker substrate, which is not the end of the world, but would take a lot longer for me to print prototypes.
c) I think browns are probably the closes modern approximation to the TI's Hi-Tek keyboard.
 
I've also designed 3D-printable low-profile keycaps for these Kaihl low-profile switches, but I am expecting that some injection-molded keycaps would be used in the final build. One issue with this is the tilt of the keyboard in the case doesn't leave much option for adjusting the angle of the top of the keys. In the original Hi-Tek keyboards the tops of the keycaps are level. In order to do that with modern key switches, the only real option is to make the keycaps themselves attach to the switches at an angle, because the switches themselves must all plug into the single, slanted PCB. This would mean custom keycaps, or some sort of adapter for original keycaps. I'm not too worried about this, though, because in modern keyboards its natural for the keycaps to not be level when the keyboard is tilted at an angle (i.e. by the keyboards back feet). Ideally anyone building this could just use standard low-profile Kailh keycaps. In retrospect, using the Kailh low-profile switches may not be the best choice because keycaps are much harder to find than they are for Cherry or Kailh standard switches.
 
The main challenge I will have is PCB design. I have exactly zero experience with PCB design, so I'm learning as I go. Currently trying to get a good workflow for FreeCAD to PCB design software. Fusion360 + Eagle is no good because it only allows 80 cm^2 PCBs in the free version and I'm not paying Autodesk's insane software rental fees for a project I intend to open source. At any rate, the PCB for a keyboard seems like one of the easiest things to start with and a good way to learn.
 
I started this due to my experience replacing the plungers on my Hi-Tek keyboard and realizing these keyboards are relatively rare compared to the Mitsumi membrane keyboards. I don't know if this would fit in a case that takes Misumi keyboards, since both TI-99/4As I own have Hi-Tek keyboards. Are the various keyboards interchangeable? My end goal is to provide a replacement keyboard with a modern feel, using modern parts that are easier to source, but hopefully something that looks close to and has the option to be, at a glance, difficult to distinguish from the original keyboards.

Interested to hear any feedback. Am I wasting my time with this? Would anyone else find it useful? Has this already been done? (I couldn't find anything indicating it has when I was working on my keyboard plungers about 6 month ago).

do-it-shia-la-beouf.gif


Sent from my LM-V600 using Tapatalk
 

  • Like 1
Link to comment
Share on other sites

Cool idea!  I've got a mechanical cherry mx red keyboard for my PC and I love how it feels similar to the TI keyboard.

 

For making the keycaps level, could you break up the pcb into one per row of keys, then 3d-print stair stringers to support each row pcb?

Edited by PeteE
Link to comment
Share on other sites

5 hours ago, Nelno said:

The main challenge I will have is PCB design. I have exactly zero experience with PCB design, so I'm learning as I go. Currently trying to get a good workflow for FreeCAD to PCB design software.

KiCad is very popular among open hardware projects.  I found getting started with it rather easy, and a library for Kailh switches exists, not sure if it contains the one you need though.  You're probably far enough into the project not to want to switch tools, but if you struggle with FreeCAD, maybe KiCad is worth a try.

  • Like 4
Link to comment
Share on other sites

3 hours ago, Hans23 said:

KiCad is very popular among open hardware projects.  I found getting started with it rather easy, and a library for Kailh switches exists, not sure if it contains the one you need though.  You're probably far enough into the project not to want to switch tools, but if you struggle with FreeCAD, maybe KiCad is worth a try.

Thanks. KiCad is what I decided to start with after trying a couple of other programs. I've been able to import the outline of the PCB into KiCad from FreeCAD, but I didn't know there was a library for Kailh switches, so I'll look into that!

 

I only use FreeCAD only for the parametric modeling of 3D printed parts. It doesn't have any native PCB tools but it does have an open source addon that will allow importing from KiCad. However, in this case I'm trying to go the other direction. I've mocked everything in FreeCAD and used 3D printed stand-ins to ensure everything fits to my satisfaction and now I just need to design the PCB to exactly match the shape and dimensions from the 3D printed prototype in KiCad, which is what I've done here:


KiCad.thumb.png.dcb151e49f65d32e262126147280a50d.png
 

Now I've just got to reverse-engineer the TI's traces and make my own, along with adding the connector, which I hope is some standard part still in production. I did some reverse-engineering of the traces already in DesignSpark a while back, but I wasn't using the final board shape or anything and I intended it to be throwaway.

Edited by Nelno
Added image of KiCad.
  • Like 2
Link to comment
Share on other sites

5 hours ago, PeteE said:

Cool idea!  I've got a mechanical cherry mx red keyboard for my PC and I love how it feels similar to the TI keyboard.

 

For making the keycaps level, could you break up the pcb into one per row of keys, then 3d-print stair stringers to support each row pcb?

The possibility of breaking up the PCB into 5 rows did occur to me, but this would:

- make it more expensive to produce

- make the structure less rigid

- make it more difficult to secure in the case (some sort of additional support framework would be necessary, I think)

 

Because of that I think an adapter that allows mounting the keys at a slight angle (I believe it is 15 degrees) seems like an easier option, as those could almost certainly be 3D printed. An adapter will also be necessary to mount any original keys to modern switches. To be clear, I haven't tried that yet, and mounting to the Kailh low profile switches is probably going to be more difficult than mounting to regular Cherry or Kailh switches because of the dual prongs used by the low profiles.

 

To allow for regular, non-low-profile switches I think I can take the basic design, deepen the switch substrate, and adjust the mounting brackets for the PCB by simply shortening them. I'm not sure if the regular profile switches use the same pattern for the connectors but that's probably just a minor inconvenience since everything in the CAD files are parametric and use arrays for key placement. But my hope here is that this will end up being only a minor modification to the low-profile design.

Edited by Nelno
Grammar. Clarity.
  • Like 1
Link to comment
Share on other sites

Thanks. KiCad is what I decided to start with after trying a couple of other programs. I've been able to import the outline of the PCB into KiCad from FreeCAD, but I didn't know there was a library for Kailh switches, so I'll look into that!
 
I only use FreeCAD only for the parametric modeling of 3D printed parts. It doesn't have any native PCB tools but it does have an open source addon that will allow importing from KiCad. However, in this case I'm trying to go the other direction. I've mocked everything in FreeCAD and used 3D printed stand-ins to ensure everything fits to my satisfaction and now I just need to design the PCB to exactly match the shape and dimensions from the 3D printed prototype in KiCad, which is what I've done here:

KiCad.thumb.png.dcb151e49f65d32e262126147280a50d.png
 
Now I've just got to reverse-engineer the TI's traces and make my own, along with adding the connector, which I hope is some standard part still in production. I did some reverse-engineering of the traces already in DesignSpark a while back, but I wasn't using the final board shape or anything and I intended it to be throwaway.
http://www.mainbyte.com/ti99/keyboard/keyboard_schematic.jpg

Sent from my LM-V600 using Tapatalk

  • Like 3
Link to comment
Share on other sites

On 4/27/2021 at 6:11 PM, Nelno said:

Excellent. I thought that was the case, but it's good to have it confirmed.

Here's what I had worked on several years ago (files has an Aug 2018 date) in ExpressPCB https://www.expresspcb.com/ (free but proprietary, let me know if you want the .pcb file).

Diode in place to fix the caps lock/joystick up override and individual RGB leds per key for backlighting. Resistors were tiny 0805s if memory serves and nobody likes working with those. Standardized ribbon connector (would require a +5/GND tap added in the 15-pin bundle to support backlighting, but you could leave those off and go classic dark. I think the small SMT latching relay for the caps lock to simulate was solved, but I abandoned the project.

 

When I put it to the group here for sounding and common sense check, there was a lot of pushback that it would be too expensive and I'm certainly too poor to bulk order Cherry brown, RGB PCB mount switches in that quantity to build them for the group.

 

Doug

 

P.S. Good luck on your project ... it has merit as you've already done the hard part.

keyboard.PNG

  • Like 2
Link to comment
Share on other sites

On 4/29/2021 at 6:43 PM, helocast said:

Here's what I had worked on several years ago (files has an Aug 2018 date) in ExpressPCB https://www.expresspcb.com/ (free but proprietary, let me know if you want the .pcb file).

Diode in place to fix the caps lock/joystick up override and individual RGB leds per key for backlighting. Resistors were tiny 0805s if memory serves and nobody likes working with those. Standardized ribbon connector (would require a +5/GND tap added in the 15-pin bundle to support backlighting, but you could leave those off and go classic dark. I think the small SMT latching relay for the caps lock to simulate was solved, but I abandoned the project.

 

When I put it to the group here for sounding and common sense check, there was a lot of pushback that it would be too expensive and I'm certainly too poor to bulk order Cherry brown, RGB PCB mount switches in that quantity to build them for the group.

 

Doug

 

P.S. Good luck on your project ... it has merit as you've already done the hard part.

 

Nice.  So I see the 2 xtra keys.  What would these do, i'm thinking maybe a vote for those for most common used keys..  maybe insert and delete?

 

Also like that you included the alpha lock/joystick fix.

 

 

Edited by Shift838
  • Like 2
Link to comment
Share on other sites

On 5/3/2021 at 11:45 AM, Shift838 said:

Nice.  So I see the 2 xtra keys.  What would these do, i'm thinking maybe a vote for those for most common used keys..  maybe insert and delete?

 

Also like that you included the alpha lock/joystick fix.

 

 

Extra was probably a poor word. I just saw an original provision was made for two not implemented.

No clue if they represent anything in the GPL scan tables or TI just left them blank - didn't get far enough to research that.

When I'm piddling around thinking out loud in ExpressPCB + designing stuff, not being a software/application guy, I try to include full use of assets and let the smart software/assembly peeps run with it.

I merely figured if the hardware + 9901 reserved codes in the CRU bits was there, then why not shorten the space bar a tad and make them accessible to the world if someone tamed/altered GROM0?

Doug

 

Edit: No doubt with the two unused 9901 pins, this is how the 99/8's keyboard was able to accommodate 54 keys. Just add another scan line to the matrix and you get 8 "new" keys ...

of course you have to make software provisions for scanning them.

keyboard.PNG

1.PNG

Thierry.PNG

Edited by helocast
Forgot the Thierry table ... #blonde
  • Like 3
Link to comment
Share on other sites

  • 1 month later...
On 4/27/2021 at 6:42 PM, Nelno said:

Interested to hear any feedback. Am I wasting my time with this? Would anyone else find it useful? Has this already been done? (I couldn't find anything indicating it has when I was working on my keyboard plungers about 6 month ago).

I'm very interested in this project. I'm thinking of using a TI99/4a as a Mister/Raspberry Pi case and would need to convert/create a USB keyboard for it. I wouldn't be going for a stock look and may want to rearrange some keys.

Link to comment
Share on other sites

  • 3 weeks later...
  • 5 weeks later...

Nice project. I started thinking about doing the same thing about a year or so ago, but I already have enough projects to keep me busy until after I'm dead.  A few thoughts, take them as you like:

 

* Include fixes to the "caps-lock" problem.

* Include the proper per-key circuitry (diodes) to prevent key ghosting.

* Include some simple per-key debounce components (resistor and capacitor of the correct values).

* Allow for LED switches so the keyboard can be back-lit at the very least.

* Use a connector for the ribbon attachment so a longer cable can be used.

 

Also, since the 99/4A key-caps are unique (as most retro computer keyboards are), I was thinking maybe there is a modern key switch with a similar attachment so the key-caps from a real 99/4A keyboard could be used with the modern switchs.  There are a few variations of the 99/4A keyboard out there, but IIRC some have the + (plus) pattern, which I was hoping might work.  I don't know though, I never got any further than thinking about it.

 

And yes, KiCAD and FreeCAD.  Great tools, but a little hard to get working together (and FreeCAD had a brick-wall learning curve, but worth the effort, IMO).  I have a friend who uses KiCAD + FreeCAD and managed to get designs going in both directions so he could check the fit of PCBs in his enclosures, and push changes back.  I admit that I started to glaze over when he was explaining the process.

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...
  • 3 months later...
  • 4 weeks later...
On 6/27/2021 at 4:15 PM, 8bitAndy said:

I'm very interested in this project. I'm thinking of using a TI99/4a as a Mister/Raspberry Pi case and would need to convert/create a USB keyboard for it. I wouldn't be going for a stock look and may want to rearrange some keys.

Have you made any progress? I'd like to do something similar, use a 994a case with a usb keyboard + put a kensington trackball in the cartridge slot just to use as a cool looking keyboard/input station on my coffe table. if you have any dimensions of the 99 (As I have not bought one yet) I can help you shop for existing mini keyboards that may by some miracle fit into the 99 opening. we might get lucky and there is some off the shelf keyboard somewhere that fits or fits with minimal mods as we are not interested in preserving the 99 key layout, just a keyboard that fits in the opening

 

Link to comment
Share on other sites

  • 3 weeks later...
On 1/27/2022 at 10:46 AM, customstuff.milwaukee said:

Have you made any progress? I'd like to do something similar, use a 994a case with a usb keyboard + put a kensington trackball in the cartridge slot just to use as a cool looking keyboard/input station on my coffe table. if you have any dimensions of the 99 (As I have not bought one yet) I can help you shop for existing mini keyboards that may by some miracle fit into the 99 opening. we might get lucky and there is some off the shelf keyboard somewhere that fits or fits with minimal mods as we are not interested in preserving the 99 key layout, just a keyboard that fits in the opening

 

I ended up taking a different direction and converted the TI keyboard to USB to use with the Mister so it looks totally stock.

I decided to do it this way because creating a keyboard that fits the TI seems like a lot of work, and I would use a large wireless keyboard for any serious keyboarding anyway. The TI keyboard is fine for basic Mister stuff.

Link to comment
Share on other sites

  • 5 months later...
  • 3 weeks later...

I am building a Numeric keypad for my Ti99-4a.

I had a khali switch matrix (got it from Adafruit) that I originally had planned for a python programming shortcut board.

Now instead I've printed a little box, broken out 16 of the keypads (I know, overkill for the simple on off keys) and mounted some khali Blue switches, salvaged some keycaps (salvaged from a mechanical keyboard mod), ordered some 20g silicone wire and some Dupont connectors.

I'm hoping I can just wire in 12 of the 15 wires on the mainboard and right into the keypad.

The "Funkey" keycaps are from Digikey and Hackspace. I won one of less than ten Hackspace keycaps in an Adafruit contest.

Wish me luck.

keypad backside.png

keypad front side.png

keypad matrix.png

Edited by Duewester
add matrix
  • Like 2
Link to comment
Share on other sites

57 minutes ago, GDMike said:

I'm glad zero is missing, I'll stay young forever with this one by my side.

I thought about using all the clear keys and putting labels on them but even painted black and labeled they're still low profile keys. So, I'll just keep my eyes open for a 0 key that doesn't have Insert or some other text on it too. Looking for a * key too.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...