Close
0%
0%

Tetizmol [gd0153]

A Tetwice-layout keyboard designed to be abysmal.

Similar projects worth following
Opinion: typing on a keyboard with nails >5mm long is abysmal, i.e. "very bad". This mostly stems from key-slippage typos, but the force exerted where the nail connects with tissue become uncomfortable too. Inspired by Svalboard (and Master Forge), this project is a keyboard that uses 4 long microswitches around each digit to sidestep this problem. Furthermore, having the phalanges in wells means that they can be insulated from the cold, empowering one to type in the crisp outdoors.

While I named this project to reflect my low expectations, the other definition of abysmal is "very deep", which is coincidental as the wells are bottom-key-less.

Navigation

The title tag system is explained here, and the table is updated when a change occurs. Notable logs have bold L# text.

L1
[X][R] Microswitch choice and placement
L2
[P] 55mm KW11 Microswitch
L3
[X] Bending the lever
L4
[M] Keycap
L5
[P] Keycap test prints
L6
[X] Keyboard PNP transistor matrix
L7
[M][T] Dual spacemouse tube?
L8
[B][R] PS5 Hall Joysticks and Espressif ADCs

Preface

[Nov 27]

I've tried a Let's Split keyboard. I've tried a WK-50 keyboard. I want to try a Svalboard but it's not cheap nor portable enough to use anywhere but on a desk or affixed to an armchair.

My efforts developing #Tetent [gd0090] advance at a glacial pace. Thus, I'm still using my (not so temporary) "temporary" Z-88 (typewriter style) keyboard I bought 3 years ago. Furthermore, there's still a lot more typing/programming I need to do between now and [insert time when Tetent exists]. There's now a very wide feature gap between Tetent and a split mechanical keyboard, so there must be some kind of stopgap solution that can slot in-between.

Looking through keyboard images on the internet, I don't think I'm going to get a user experience much different to what I've already tried and used; it's essentially the same keys just rearranged slightly differently if the designer was feeling daring, or just a different colour/shape on the keycaps of the tried-and-true QWERTY stagger if not. Basically, I look at a keyboard, look at my nails, look at my to-do list and think "Mn, probably not going to pad out.".

Then I remembered the passing thought I had while browsing the DataHand / Svalboard discord around February time:

I wonder when someone will try to make a "poor man's" DataHand using microswitches.

I also still want to learn Tetaip -- the layout I formulated during #WK-50 Trackball Keyboard -- as a bit of a hobby. With twice the switches, I think I could formulate a layout that enters twice the characters per chord, hence the name "Tetwice".

I've also somewhat sold myself on that "digital nomad" lifestyle, and Britain has some rather nice weather that is overshadowed by 10C temperatures. 

Due to all this, I've now started researching into this project.

  • [B][R] PS5 Hall Joysticks and Espressif ADCs

    kelvinA6 hours ago 0 comments

    For better or worse, I've been somewhat captivated into looking further into this, mainly because the Pro Micro used in the original projects are 5V, the PS5 joysticks are allegedly 5V, yet the Espressif chips are 3.3V. Additionally, while those ESP32 chips have the 16 channels I need, they don't have full range coverage:

    ADC conversion results after hardware calibration

    ESP32-S3: Seems it's nonlinear after about 2.5V and maxes out at 3.05V.

    Thus, I went on an expedition to find out more info on the joysticks. 

    From this video, I found a list which I believe is the voltage of the controller:

    • PS4 - 5V
    • XBox One - 2.4V (rechargeable) or 3.0V (non-rechargeable)
    • PS5 - 5V
    • Switch - 5V

    The notable one is the XBox One. While the various hall effect sticks have different colours depending on the polarity of the left/right pins, I couldn't find any reason that the chips used in them were any different, implying that these sticks might work at 2.5V. I also saw a reference to CC6501, and its family of chips seems to output between 10% and 90% of VCC.

    Then, looking around, it seems that it's cheaper and more configurable to use an ESP32-S2 for its DAC than it is to buy a separate voltage regulator. A slight drawback is that some purple pcb with only 27 GPIO pins took over the entire local ESP32-S2 market, meaning I'll have to AliExpress in the red board below:

    This board seems to have everything I need and almost nothing I don't.

    The ADC in the S2 still seems kind of questionable:

    ADC reference voltage comparison

    The ADC reference voltage can range from 1.0V to 1.2V amongst different ESP32-S2's.

    This is one of the reasons why having the DAC is advantageous, since the voltage sent to the joysticks can be tuned to get the best range for the ADCs.

    To get over the £8-spend-for-free-delivery, I found a few other components (see below). The BOM is now down from £55 to £43.

    (not including the double sided tape or filament)

  • [E1][M][T] Dual spacemouse tube?

    kelvinA01/03/2025 at 15:15 0 comments

    I've been considering the potential options for the hand pose to use (e.g. like a glove, like holding a vertical mouse) and I've come to the conclusion of 2 sides of an extrusion that can rotate up to 45 degrees:

    The cylinder inside the tube is where I expect the rotational pivot point to be. The stick feet fold in during transport.
    The reasons are as follows:
    • The entire "keyboard" is sheathed in the tube seen above, allowing for easy transportation.
      • The tube also acts as a wind guard.
    • It allows good ergonomics from the range "crouched on the floor" at 0 degrees to "sitting at a desk" at 45 degrees rotation.
      • The edge of the desk acts as an armrest.
    • The hand pose is somewhat natural, like holding a cylinder from the top.

    A basic-looking arrangement of the right-hand fingers is shown below, shown with their angle of direction (aka towards touching all fingertips):

    Clockwise, it's Finger 0, 1, 2, 3, 4. Imagine you're trying to pick up a plate.

    The tube at the moment is 250mm long and 100x100mm squircle, which is approximately the diameter of a standard UK 2 litre bottle. Do you know what's also approx 100x100mm? Teaching Tech's Spacemouse (2nd Generation):

    I've been trying to rigidly fix the project goalposts, but it's hard to ignore creating a PC input device with no mouse-pointer or scrolling provisions. There are provisions on Svalboard, the WK-50 keyboard and cheap wireless keyboard+trackpad combos, and the below video reminded me that I really should consider something:

    I probably spend just as much time scrolling through the web as actually typing anything, and if working outside, current standalone options (mice, trackpads, optical finger navigation) expose my fingers to the cold. That's why I'm wondering if it's possible to have an area slightly before/after the fingertip keys that the fingers could grip on and have the 5 keywells become the spacemouse knob:

    This would allow me to use a strategy like 3DxPoint to get mouse and scroll movement, and allow for full 6-axis control to be implemented at some future time. 

    Ergonomic limitations notwithstanding, the issues are the additional time it may take to implement and that, for the 8 joysticks, I'd need 16 analog pins. Technically, I should only need 6, but then I'd have to look into the computational issues TeachingTech faced and I'd rather not. Looking at the ESP32-S3 development board, it looks like there'd be just enough pins for the 16 joystick and 14 matrix pins.

    I've highlighted in red all the pins I'm going to try and avoid. I also wonder if anything cool could be done with the left USBC-OTG port, like act as a USB hub.

    I've looked into the remixes and a user called Kempy has decided to use PS5 hall-effect joysticks instead of the questionable PS2 resistor-based ones, minimising the deadzone and allowing for smoother control:

    They made the PCB available on ebay and it'll only be a one-time fee of about £9 to use the PS5 sticks:
    PS5 joysticks + PCB
    PS2 joysticks already on PCB
    The author behind the DIY spacemouse code wrote a build log of a different remix and mentioned the amount of sanding that had to be done for smooth sliding. I assume Kempy experienced the same thing, spurring them to design the remix that uses 8mm steel balls and salvaged inner rings from 608 bearings. I've found the following search terms useful:
    • stainless
    • bead
    • ball spacer
    • 2mm hole
    In my search, I did also see acrylic and glass beads, but their roundness is likely questionable for this application. I may consider just printing using SLA printed ball ends for the joysticks.

    [Jan 05] I just had the great idea to simply keep chord 22 reserved for enabling mouse mode! I'll try and explain quickly:

    • The "directions" that a right-handed finger inside a keywell can go are numbered to reflect the numpad. The physical buttons are:
      • 1 - southwest
      • 3 - southeast
      • 9 - northeast
      • 7 - northwest
    • The remaining ones are by pressing 2 buttons, with '5' being pressing all...
    Read more »

  • [X] Keyboard PNP transistor matrix

    kelvinA12/11/2024 at 20:22 0 comments

    As discovered in #WK-50 Trackball Keyboard, allegedly a keyboard designer could use PNP transistors as a "dual diode" package. If this works, it would be useful as I won't need to worry about diode polarity and will only have to "starter solder" half as many components (whereby starter solder means having a component that isn't held in place by a solder joint yet).

    I went to my uni and they happened to have some ZTX502 PNP that mouser said was discontinued so I looked on ebay and it seems that the 2N3906 is the cheapest and most abundant:

    Realistically, I only need 20pcs but for only an extra £1 I can get 50pcs.
    I looked at the datasheets compared to the ones on the WK-50 and the only real thing I noticed is that the SS8550 is "epitaxial" and that the values were negative:I did some looking into it and, from my understanding, I don't think that there would be any differences that should matter for this application. Hence I went back and the uni happened to have some 2N3906's that I proceeded to solder on:

    For my First Attempt In Learning (FAIL) how to best solder the transistor on, I think it already looks rather good. Now I know:

    • not to try and solder with the iron on the opposite side, because the molten solder will be sucked in.
    • text facing up so that the pins are as far away from the switch enclosure as possible
    • orient like above so that the wiring can be 3 easy pins, as seen below.

    I decided to put them on this corner of the RP2040 board so that, if I couldn't easily desolder them, it wouldn't affect my plan of using the entire other side of pins for the matrix. There's 16 GPIOs on that side and the matrix for Tetizmol should only need 14.

    I checked continuities and then I installed KMK/Pog and changed the diode direction to ROW2COL, since the "diodes" should be pointing towards the column, but I wasn't getting anything when pressing buttons but was when I manually shorted them, so I know my pins are correct:

    I also learned how to use the diode mode on my multimeter and I was getting .685 and .680 when the red lead was on pins 1 or 3 and black on pin 2, with 0L for anything else, so I know they're essentially acting like diodes. I did manage to get the neopixel working though by adding the neopixel.mpy into the lib folder and using GPIO23:

    So I slept on this and the next day I continued researching and went back to my uni and they happened to have a BC559C, which seems to be part of a range:
    At least the datasheet sounds like it's more similar to the S8550.

    So I tacked it on:

    I only wired a 1x1 matrix

    And the chordmap still didn't work. But now it also wasn't working for shorting pins so I closed Pog and decided to go into the serial port.

    I had a card up my sleeve. I had also asked for 2 diodes which obviously should work. Their voltage drops were .546 / .562V when I soldered them on:

    Can you see how much more work you'd have to do to use diodes instead of transistors?

    And as expected... wait, no! It's still not working!

    Opened Pog again to check settings, changed the diode orientation to COL2ROW and saved:

    So now I have a configuration I know works, so I desoldered the diodes and soldered the 3rd pin for the 2N3906:

    So now it works???? 

    Not entirely sure what happened. The voltage drops are .687/.682 so it's not like the transistor has changed much. I can only assume that maybe Pog didn't save or maybe the chordmap finder isn't as reliable as I assumed for testing keys.

  • [P] Keycap test prints

    kelvinA12/10/2024 at 15:56 0 comments

    I tried printing the keycaps as-is and a modification that has more surface area to see if they'd stick better. I think it's best to go with the original profile but use a raft. Due to the print orientation, they're somewhat grippy, which I believe is a positive as it should make it easier to press multiple keys with confidence.

  • [E1][M] Keycap

    kelvinA12/08/2024 at 17:19 0 comments

    To avoid the nail for the top switches whilst also avoiding the fingertip hitting the wrong end of the bottom switches, I've come up with this solution.
    Quick doodle of the finger in the well

    I've opted for a printed keycap that is stuck onto the lever with double-sided tape. The keycap hook will then catch on an overhang to prevent it springing back too far.

    I need to design some way of adjusting the gap between the switches. Ideally, this would be a tool-less solution (aka doesn't need a screwdriver / allen key).

    As I was writing this log after drawing the doodle, I noticed the sharp edges in the path of the finger, so I've tweaked the design a bit:

    [The Following Day]

    I just realised that the switches configured in this way allow both the bottom and top buttons to be pressed, allowing 3 more possible states. This increases the keymap space from 48 to 99. 

    The main necessity for this increase is for the modifiers (CTRL, ALT, WIN), but it also means that TeTwice would no longer need to place the following keys onto another layer:

    • FN 1 - 20
      • (Where FN20 will be the placeholder for FN0, which doesn't exist)
    • Arrow keys
    • Enter
    • Esc
    • Tab
    • Print Screen
    • Ins, Del, Home, End, PgUp, PgDown

    Just to make the modifier combos easier to remember, I'm going to allocate 10 spaces for them. Thus, the TeTwice layout is now 91 entries, which leaves some wriggle room to align groups of characters.

    It's starting to feel like I'm mining for copper and finding gold. Tetizmol is starting to approach my initial #Tetent [gd0090] concepts.

  • [X] Bending the lever

    kelvinA12/02/2024 at 17:41 0 comments

    By pressing the switch multiple times to get a feel on how it best touches the finger, my current plan is a single 45-degree bend that starts 4mm to the end:

    From the experiment (described below), it looks like the bend radius is 1.5mm.

    I was able to use a G-clamp for a quick experiment:

    I basically held this up infront of the CAD model on my monitor and aligned the bend. 

    The 45° bend sufficiently allows the finger to slide over the lever and not catch/scrape on the sharp edge, similar to the little tabs in a USB-A port.

    At this new bend, the forces for actuation and reset are 17g and 10.5g respectively.

  • [P] 55mm KW11 Microswitch

    kelvinA12/02/2024 at 09:22 0 comments

    Precisely 50pcs

    The switches arrived and here are the specs:

    • Length: 54.5mm
    • Actuation: 15g
    • Reset: 9g
    • Angle at...
      • Rest: 12°
      • Reset: 8°
      • Actuation: 4°
    • Distance from actuation to reset: About two and a quarter millimetres (2.25mm)
      • I'm just judging by eye. It's certainly under 3mm.
    • Sound from 10cm: +45dB, with the peak in the 7000Hz zone.
      • This is much quieter than my Z-88 Typewriter-style keyboard, which has blue switches.

    Sound profile comparison

    Below are screenshots on the sound profiles. The bluish graph moves downwards, so the most recent noise would be at the top edge of it.

    KW11 switch from 10cm away

    KW11 and blue-mechanical switch from 40cm away

  • [X][R] Microswitch choice and placement

    kelvinA11/27/2024 at 10:24 0 comments

    Looking for a long hinge lever microswitch

    I started off this project by looking at what long-lever microswitches were available, and I only found 1 listing of the large variety that had NO and COM on the short edge.

    I was about to checkout, but I decided to first draw up a simple sketch in Fusion and discovered that it was going to be too big to place in the Datahand / Svalboard configuration. I tried with the smaller KW11 microswitch, which surprisingly has a similar lever width (4.5 vs 3.9mm), but it's still too large.

    The ovals are the cross section of fingers

    I thought this project was over, but after half a week elapsed, I had the idea of diagonal movements. For the KW11-D, they are small enough for this to work:

    This render is with a 10 degree bend applied to the lever.
    "If you gaze for long into an abyss, the abyss gazes also into you".

    Additionally, the movements necessary are easier as they rely more on the dominant "north / south" movement than the #lalboard - Ergonomic Keyboard / Svalboard / CharaChorder that also need "east / west" movements.

    I then proceeded to look all over the internet for options. The KW11 switch is the most abundant and is 18p/ea on AliExpress. Next is the KW12, the silver-contact, green variant of the KW11 at around 40p. After that are Digikey options over 50p and mouse switches that don't come with a lever at all.

    I read on the internet that silver contacts are used in applications when arcing (due to high voltage) is expected. The arc cleans off the insulating tarnish of the silver, which wouldn't happen for a USB peripheral. Thus, unless I wanted to pay double for the (admittedly nice) green, I stuck with the standard KW11.

    We have a [long lever microswitch] at home

    I have a bag of roller-lever switches that looks very similar, and I was able to stick 3 of them together to emulate the placement of the keys and how it'll feel.

    I pressed one against a scale and it was nominally 95gf. To get values more representative of the 55mm-long lever microswitches, I broke some toothpicks to length and squeezed them into the gap between the red roller and the 0.4mm thick, stainless-steel lever. The result was nominally 28gf.

    Something I noticed is that the angle (between the lever and enclosure) to close the switch is smaller than the angle to open it again:

    Thus, the practical linear travel distance on the end of the toothpick is over 4mm just to reach the actuation point. While it's twice as far as a standard keyboard switch, I believe it will reduce misclicks (e.g. intending to press 1 switch but accidentally pressing 2).

    Actuation point shown. It's aligned so that the reset point is at 0mm.

View all 8 project logs

Enjoy this project?

Share

Discussions

Morgan Venable wrote 11/28/2024 at 15:21 point

Fun hack!  The height seems like kind of a challenge, but I love anything that explores the frontier of what's possible with unusual finger and key configurations.  

Do you have any pics of how you envision this in use?  I've messed around with more N/S split key orientations on Svalboard prototypes, but haven't convinced myself of sufficient dexterity in the ring and pinkies especially -- the lateral movements on DH/Sval are not so difficult, as they're aided by wrist mobility and some specialized nuances of fit as well.

Anyway, super interested to see how this shapes up for you.  Nails are a challenge in so many different input contexts -- nails vs capacitive touch can be a real struggle!

  Are you sure? yes | no

kelvinA wrote 11/28/2024 at 15:46 point

"nails vs capacitive touch can be a real struggle" - Completely agree. I will say that I have tried conductive, thin finger sleeves for mobile gamers, upgrading the nail into a rather nice stylus. I'm waiting for a thin glove of the same material so it's faster to (un)equip.

My second log is going to be on how I envision using this with the chorded layout, but the general idea is a grip similar to a vertical mouse with 2 switches on the nail and fingerprint sides respectively. 

The microswitch lever length is mainly to reduce actuation forces to something manageable for chording, but I have seen some sub 30gf microswitches on Digikey.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates