Jump to content
Nelno

TI-99/4A Hi-Tek Keyboard Replacement

Recommended Posts

Posted (edited)

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 11

Share this post


Link to post
Share on other sites

Wow, that's really damn cool.  It would be awesome to have a TI-99/4A with a keyboard using modern keyboard switches!

 

 ..Al

  • Like 2

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
Posted (edited)

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

Share this post


Link to post
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 3

Share this post


Link to post
Share on other sites
Posted (edited)
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 1

Share this post


Link to post
Share on other sites
Posted (edited)
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

Share this post


Link to post
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

Share this post


Link to post
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 1

Share this post


Link to post
Share on other sites
Posted (edited)
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

Share this post


Link to post
Share on other sites
Posted (edited)
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 1

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

If you could somehow make the pegs compatible with the mitsumi keyboard key caps, you would suddenly render a boatload of useless keyboards useful again

Sent from my Samsung Chromebook Plus using Tapatalk

  • Like 1

Share this post


Link to post
Share on other sites

you know. I have a printer big enough to print that backplane monolithically now.

 

It looks simple enough too.  Maybe I should get some black PLA and print a few.

  • Like 1

Share this post


Link to post
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.

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...