-
[A] Details page before 12 Jan 2024
01/11/2024 at 11:30 • 0 commentsI'm finally starting to revamp and equalize all my details pages so that the projects can be better understood and information hidden within the depths of logs can be more easily found. The below is the old Details page.
Notable Tetent projects, sorted by project log count:
- Input element: #Tetrinsic [gd0041]
- For Teti: #Tetent [gd0090]
- Wearable: #Tetent TimerSpy [gd0136]
- x86 PC Handheld: #Tetent UMPC [gd0149]
- Desktop: #Tetent TestCut [gd0139]
- Solar Powered: #Tetrescent [gd0150]
Tetent is primarily for #Teti [gd0022], and it's a good idea to think of Tetent as an input device for Teti similar to how the PS5 Dualsense Controller is an input device for the PS5.
I'm looking to control my PC from the perspective of a console. Most games designed for a specific console can be fully controlled using the standard controller. Playing Forza with a steering wheel controller feels more suited to the game, but the game can still be fully played with the standard controller.
Input devices I'm trying to consolidate into a "PC controller"
- My keyboard
- My WPM is 60 and it seems like it'll take many years of continued effort to double that. Even if I got to 120WPM, it still would be too slow. After thinking of the R.O.I. of the continued practice, it just doesn't make any "time-finacial" sense.
- My mouse
- I'm almost never on a hard, flat surface anyway.
- Even if I was looking for a new mouse, there's no ambidextrous 12-side-button "gaming" mice.
- The 3D mouse that doesn't exist yet
- I'd like to be able to select UI elements that are behind other elements, such as shapes in PowerPoint or edges in Fusion 360.
- Likely more suited for Mixed Reality experiences.
- My Spacemouse / 6-axis mouse
- I've got an old Space Explorer and it takes up my limited desk/table/lap/reachable-floor space and I constantly have to be switching between it and the keyboard.
- I've also tried to use this as a 2D mouse, and wrote about my experience here.
- The touch input of my touchscreens
- I really like touchscreens but the issue with them is the lack of precision, occlusion and the abundance of fingerprints.
- The lack of precision means that I need to spend more time retrying to press a UI element.
- My drawing tablet I rarely use
- I mainly got it as a touchscreen input alternative for Teti for when in triple monitor mode and for writing digital maths notes.
- Being able to sketch out design ideas with pen pressure is also ideal.
- My MIDI keyboard I rarely use
- It's even larger than my keyboard, and I didn't like the key travel distance.
- I'd like to be able to capture melody ideas wherever inspiration may strike.
- The XBox controller I rarely use / PS5 controller I never had
- I think it'll be nice to bring over some of those DualSense controller haptics over to Tetent.
- It's unlikely to be as sensory as haptics across the entire palm, but it's likely better than 0 haptics at all.
- Ideally, Tetent will be able to control some racing game or Minecraft ergonomically. Additionally, whilst I don't play any FPS games, being able to quickly and accurately click on GUI elements seems similar.
- I think it'll be nice to bring over some of those DualSense controller haptics over to Tetent.
- The finger massager I never had
- Every slider is motorised; might as well also use them to try and mitigate any fatigue while typing.
- The ASUS laptop dial / Surface Studio dial I thought was really cool but have never used.
- The high bandwidth VR controller that doesn't seem to exist on the market (as of 2023) for working in virtual reality.
- I've got to be ready for when a Pimax 24K or similar headset finally drops.
Fast typing method
I like to think of Tetent's default layout as the next Pokemon evolution of chording keyboards: "parallel entry".
For a normal keyboard, which would be "serial entry", you'd have to make sure all fingers are perfectly timed so that the characters appear in the correct locations of the word/sentence. Failure to do this causes a few typos ("hte", "ot", "wit hthe", etc) and also makes it somewhat difficult to increase speed. For "chorded entry", pressing more than one specific set of keys results in a new character, dictionary phrase or action.
For parallel entry, the same layout exists under each finger (except one of them for modifiers / layers). For Tetent, different characters are selected by changing the position and force of a finger. Therefore, while "eee" or "..." might have to be some custom, seemingly arbritrary chord on stenography or CharaChorder, on Tetent it'll be the same position and force on 3 fingers.
Any gaps (eg "e" was pressed Finger2 and 4) will be merged (to produce "ee") and the same can be said about the left and right Tetents ("hom" on Tetent-L and "e" on Tetent-R will result in "home" being sent to the host device).
Note: The thumb = "Thumb1" / "Finger1" and the smallest finger is "Finger5".
Example
To write "a.keyboard.readChar() {", this is what will be seen on the host device, entering 4 - 6 characters per chord:
- a.key
- a.keyboard.
- a.keyboard.readCh
- a.keyboard.readChar()
- a.keyboard.readChar() {
I've also put modifier keys (ctrl, alt...) in the default layout, so if you know you're going to be doing multiple keyboard shortcuts at once (for example, ctrl+a, ctrl+c, alt+tab), you can just do that as 1 chord.
- Tetent-L: CTRL | A | CTRL
- Tetent-R: C | ALT | TAB
To get a better look at how entire sentences are written and the motions of fingers, I recommend to see this Tetrinsic log.
Flattening the learning curve
From researching stenography and CharaChorder, I've learned that a fast layout is near useless if the learning time is very slow, so I've had learn-ability as the top requirement.
If you're a person that only uses 1 finger and 1 thumb, Tetent is still perfectly usable. More fingers just means more speed, but they are optional additions.
Moving on, the dual reflective LCDs (with backlights) are used to show:
- Finger positions
- Due to ergonomics, the user likely won't be able to see see finger placement.
- Even with mirrors, the distance the fingers actually move is rather small and so isn't really all that obvious that they're in a specific location.
- A force list of characters at the last moved finger position
- For example, if you moved Finger2 and only Finger2, you'd see all the "keys" mapped underneath Finger2's current position.
- Search results for looking for a specific key / macro.
- I had a "Let's Split" ortho. I couldn't remember where anything was in my keymap.
I think that the feature that's really going to cut down the learning curve are the motors in each #Tetrinsic [gd0041] that will be able to move a users fingers to the correct position, as well as send haptic feedback that the user should expect to feel when pressing the virtual key. I also hope to implement things like Simon Says and typing ghost games/features.
The layout could be a bit like a rotary phone, where the Tetrinsics exert a spring-back force to the "home row" so that the user only has to concentrate on the haptic events leading up to the virtual key press. To put it another way, the user can think
- "I know [insert character here] is [x] detents from [character E] and [y] haptic clicks down"
instead of
- "Ok my finger is at column [w] which was [z] detents from [character E] so I've got to move [a] amount to be at colum [b]..."
where [character E] is the equivalent "home row" position.
You can start practicing by pressing "426" and then "153" simultaneously on the numberpad to get used to the finger motions, though I'd imagine Taipo to be a more accurate representation.
Tetent's initial requirements
Even before writing all these Hackaday logs, I knew my future was going to be full of typing. What I needed was a new character input solution that satisfied most or all of the requirements:
- Easy to learn
- Research revealed that stenography and CharaChorder is slow to learn to a speed of >150wpm.
- Small enough for use with a smartphone
- So that I didn't have to learn a mini and regular layout.
- Theoretical speed ceiling of over 240wpm, ideally 320wpm
- 1 handed typing at speed (>100wpm)
- Wireless and wired connectivity
- Usable with fingernails (5mm length)
- Screens for knowing what character/command will be input
- Higher bass speaker than what is available in Teti's (EQ-tuned) portable monitors
- Ideally LED backlit.
Conceptually and hypothetically, I've addressed or exceeded the requirements.
Tetent can be used single-handedly or dual-wielded. It is also ambidexterous and reversible (like USBC). It uses #Tetrinsic [gd0041] slide encoders which allows for software adjustable actuation force, haptic feedback and appearance. For the mechanical keyboard enthusiasts reading, it means the look, weight and tactile feel can be changed when desired for each finger, though I should mention that the travel distance is measured in microns.
The Tetrinsics also physically move your fingers to ease the learning process, as well as allowing for a handful of different behaviors like momentum, detents, free scroll and spring to center. Due to the stainless steel ball chain, there should be less slippage than flat, plastic keycaps, further reducing typos. Also, the finger doesn't need to be lifted at all, unlike traditional keyboards.
I only need to perform at least 1 chord per second to equal my QWERTY typing speed of 65 - 80wpm. If I can get a consistent 3 chords per second, I could be typing at up to 260wpm for a good amount of time and not the <15 second bursts I've seen on YouTube. I consider 4 chords / second as "full speed", typing in sync with 120/240bpm music, for an estimated average of 312wpm (max is 32 characters per second (384wpm), or 24 without a single space (288wpm)).
Now I just need to make Tetent a reality.
-
[R] Finds from r/PeripheralDesign
11/13/2023 at 20:06 • 0 commentsOver 2 weeks ago, I discovered r/PeripheralDesign, a subreddit that finds many atypical inventions and products under the umbrella of peripheral devices. Yesterday, I decided to scan through older posts for research and I found some notable projects:
Uncokeeb
This project is very notable due to the many similarities with Tetent, and was also made in the persuit of speed and an alternative to stenography.
What I'd call "input elements" is what the creator calls "modules", but it's used to select any one of the 26 english letters with a single finger. Side buttons (which are levers to real buttons) are used, so I'd imagine there's less of a risk of Repetative Strain Injury (RSI), unlike #Tetrinsic [gd0041] where the fingers predominantly slide up and down its length. The thumb has fewer keys, and since there's only 27 non-zero states available on the modules, punctuation is put on the end of the word. The character map can be seen here. Just as I plan to do, the fingers only move the distance of about 2 standard key spacings in their design.
u/bluesocarrot also listed the pros and cons of what they've managed to make. As predicted, the fact that the same letter is on each finger contributes to a low learning curve. On the other hand, due to the width of the modules, they need to stretch their hand out quite a bit, and the 27 states also makes it hard to adapt to non-english alphabets.
To me, the current #Tetrescent [gd0150] concept looks like the "iPhone 15" of this "iPhone 1" prototype; like if you got a bunch of people together to work on and iterate the Uncokeeb across a decade. Obviously, if there's an "iPhone 30" concept somewhere out there, I'd like to know about it. At the same time though, Tetrescent is still just a concept, and I've seen those iPhone 5 concept videos...
Palm Pro (link1, link2)
This is notable because I've been trying to find evidence of a keyboard in the past that sensed force. This keyboard is also wearable, but it's not a chorded keyboard.
This keyboard uses vibration motors to provide the haptic sensations required to use this kind of device, and it enforces that Tetrinsic needs to do the same to ensure fast and accurate typing.
Force sensitive resistors are used. The reason I haven't used them for Tetrinsic is partially to do with the ever-increasing length of sensing area, and the other reason was because I was thinking that It'll be hard to get precision since they're non-linear and not made to as tight of a tolerance as load cells.
-
[A] Tetent Solar Edition: Tetrescent [gd0150]
08/25/2023 at 11:27 • 0 commentsThere's 1 single thing this project needs to do to be called "Tetent", and that's to fit into #Teti [gd0022]. Concept4 doesn't fit, thus the solution fails.
I still like the idea of a solar powered input device, so I've created yet another spinoff project:
#Tetrescent [gd0150]
-
[R] Sunpower 125x125mm solar cell?
08/24/2023 at 12:29 • 0 commentsYesterday, I discovered a new solar cell that has some benefits and drawbacks:
As you might be able to see, one of the benefits is that there are no lines on the top of the solar cell. This ties into the second benefit, which is that both the positive and negative connections are on the bottom of the cell. This greatly aides in turning this solar cell into a solar panel:
They're also very efficient -- partly because the entirety of the cell can absorb light energy -- with the panel in the first image acheiving 21.8% efficiency. I'd also imagine that, for a consumer DIY project, it would make Tetent look more professional since solder joints would be hidden on the back. There's also some 3.6W solar cells for a similar price but have visual defects:
I'm not sure the extra 0.3W is worth it over having to see a defect for the lifetime of the device. This 3.7W panel is the highest efficiency solar panel I've found in this size:
The main drawback for my application is that the smallest square is 125 x 125mm, and the solder pads are at the right edges of the cell, meaning that it can only be cut into 1/2 or 1/3 segments:
I will admit that, ergonomically speaking, the increased space would be more comfortable. Additionally, the larger the solar absorbing area, the more likely it would actually make a noticable difference to battery life, especially in sub-ideal lighting conditions; a 125mm panel would generate 56% more power than a 100mm one.
I'm just concerned because the final dimensions of Tetent would be sometihng like 190 x 190mm.
[25 Aug] This is a render with the panel:
-
[T] Focus on solar version? Include reverse PDLC film?
08/21/2023 at 12:38 • 0 commentsSince
- I can cut-to-size any photovoltaic cell I desire,
- creating a MIPI circuit probably takes longer than a photovoltaic circuit,
- I'd need to source and/or make animation files for the screen and
- the screen would reduce battery life instead of increase it,
I'm thinking of focusing on the solar version going forward and, once I've got a Tetent that works, consider engineering an LCD backlit solution.
It might also be possible to find a reverse mode PDLC sheet and, coupled with LEDs on the edges of the acrylic / lexan window, allow the choice of absorbing ambient light energy or a solid white LED backlight. The reason for the inverse/reverse mode sheet is because normal PDLC film requires energy to become transparent. This is the kind of PDLC I need:
It seems that the name for this material is "PNLC film":
-
[R][M] Concept4 90mm Square and 5" square display
08/20/2023 at 18:27 • 0 commentsSo now I've printed the 90mm, though I've kept the Thumb 2mm from the edge of a 75mm square:
This is in the event that I use the 4.12" screen. I wanted to see what kind of bezel would be apparent.
It seems that a 90mm square is large enough for my hands, so the next step was to see if there was any display that was that size. The good news is that there's a single panel that is the size: S050QWS115EN
It seems that, when the cable is folded, this screen would be max 4.4mm. It also seems that it's straightforward to connect to a PCB as the pinout has a single power pin, MIPI related pins, 2 backlight pins, a reset pin, some "LCM_ID" pin and the rest are either GND or NC.
The slight issue is that this screen is shockingly recent -- the datasheet was finalised on the 14th of June this year. The price is also "Enquire Now", though at least the MOQ is only 2pcs. I've sent a message to Dwin, the guys that seem to take screens like this and turn them into HMI's, to see if they're developing anything (because if they are, I can focus on the solar cell in the meantime).
The backlight takes 18V and uses up to 2.3W, but the good news is that the screen acheives a minimum of 900nits, meaning that it's viewable outside. If I ever use this panel, I'd have to make sure to have something like a high frequency backlight circuit so that low luminosities dont flicker.
-
[M] Concept4 80mm Square
08/20/2023 at 14:04 • 0 commentsSo I've modelled and printed an 80 x 80mm area test print. The thumb Tetrinsic is 4.8mm higher than the finger Tetrinsics.
I might as well get the bad news out of the way. When using all 4 finger Tetrinsics, my thumb feels like it has no space and Finger5 is very close to rubbing on the edge of the Thumb Tetrinsic on the other side. This diagram I made in PowerPoint helps illustrate this:
Tetent is already too long to fit in the bottom section of Teti, and adding another 20mm to the bounding box in X and Y does not help!
The good news is that 4-fingers / 3-fingers-and-thumb configurations line up without anything feeling off-centered or misaligned. It also seems like I'd be able to get away with all 5 Tetrinsics if I position Tetent at an angle:
If anything... it feels like the actual strat. Still need a tiny bit more thumb space though...
-
[E1][M] Concept4 modelling... started.
08/16/2023 at 09:45 • 0 commentsI haven't fully modelled Tetrinsic Concept3.2X2 yet, but I've modelled enough to start modelling Tetent Concept4.
Conveniently enough, I was able to download a .stp file of the 4.12" HMI display on Dwin's website and I managed to find a nice paint-line background to go onto it.
Then I placed components where they needed to go. To my suprise, if I just crop the square that has the screen and rotate by 45 degrees, I get:
Which reminds me of a very calming game I played years ago: Strata
Obviously, it could aslo be rotated 180 degrees so that more of the screen area encompasses the usable lengths of Tetrinsic, since Finger3 especially could use the extra 5mm:
Also, that Strata-esque view only works when looked straight above. When viewed from multiple angles in perspective, the chin-under-thumb configuration is better:
Anyway, I saw the above render for the first time and I was quite shocked because this looks like the kind of thing I'd expect to see as Pinterest concept inspiration and not "the best path forward considering my other conceptual prototypes failed in one way or another".
[18 Aug]
If I focus on the active area (pretending that it exists in a vacuum) I can't envision a more ideal solution from an ergonomic and aesthetic perspective, whilst still being geometrically valid. The active area is probably 80*75mm (X*Y), as it feels that my Thumb1 is more comfortable with that extra 2.5mm of space.
Here are the reasons why I belive this Tetent concept is a good solution:
- The design is ambidexterous and the Tetrinsics line up with my fingers.
- The ball-chains are not prickly on my fingers and I can sustain grip (even with fingernails).
- Additionally, the ball-chain is made from stainless steel, so it's less likely to wear down compared to plastic keycaps.
- The LCD, used as dynamic RGB backlighting, is a rather sharp 247 PPI and is almost perfect in size.
- (74mm / 4 = 18.5mm, and the Tetrinsics have a spacing of 18.6mm.)
- All 5 fingers could be used if desired, but this design also feels ergonomically ideal for 4 fingers or 3 fingers and a thumb.
- The current expected layout still only needs 2 Tetrinsics for text entry, so any user is free to utilise whatever combination is most comfortable at any point in time.
- A lot of the attributes that would be fixed in place for a traditional keyboard would be software adjustable, such as finger stagger, tactility/haptic feedback and button count.
- In a way, it's like a more physical version of an On Screen Keyboard.
- It's possible to smoothly slide to the next key without having to have one's fingers hover between keys.
- The data gathered is analog, so it's possible to emulate a game controller, drawing tablet, spacemouse or MIDI keyboard.
- The goal isn't for Tetent to feel like those devices, but to allow input of the same kind of data.
With this in mind, I can now assume that this is the goal. Thus, I've been trying to backtrack from this solution towards an implementation to see if I could obtain something smaller than the concept above. Unfortunately, I haven't, so I'll have to continue with the design I've already got in the works.
-
[E1][R] 3.95 inch 480x480 or 4.12 inch 720x720 px display?
08/12/2023 at 10:08 • 0 commentsJust like when solving mazes, it seems that I like to start from the end and work my way backwards. I've just talked about how I'm planning to try and interweave a 5th Tetrinsic and how the visible area is likely going to be around about 75 x 75mm.
Well I did a bit of a look into it and there are 4.0" 480 x 480px and 4.12" 720 x 720px displays on AliExpress, and the latter is generally better for the following reasons:
- The active area is a perfect square.
- The 4.0" is an entire 1.68mm shorter in one axis for some reason (see image below), though in practice I doubt anyone would be able to notice.
- The active area is 74 x 74mm, which is very ideal as it closely matches the expected area.
- Still, the size difference between the two is probably not noticeable:
- It is higher resolution, but more importantly, it has a higher colour depth of 16.7M colours instead of 262K.
- This is important as the animations I'm planning to play involve gradients, and a low colour depth can lead to banding. Dithering can mitigate this effect.
The drawbacks is that I either have to deal with MIPI DSI or spend about 2X on the 4.1" HMI edition which is also 6mm thick. The price difference is less of an issue than the thickness, considering each Tetrinsic is like £25/each.
Well that was the research I gathered yesterday anyway. Now I'm writing this project log, and while I was looking for the HMI 4.0 inch LCD to screensnip, I actually found this:
It seems that the HMI version only does 16-bit colours, but the screen itself supports 24-bit. For comparison, the image below is for the 4.1" LCD:
With this new discovery (that I might not have found if I wasn't writing a log about it), it's now looking that the 4 incher is the better solution. However, I did some more looking into it and there's actually a fully featured board that uses the ESP32, but it seems that a full screen refresh is about 6FPS and smaller changes are about 30FPS:
It also doesn't actually do 24-bit, but 16 bit. I actually wonder if the workload could be split up whereby 3 Tetrinsics only focus on 1 8-bit channel. Still, the best case scenario might only be 36FPS (6FPS x 2 [since output decreases from 16 to 8bit] x 3 Tetrinsics).
If you listen to the creators of keyboards like Finalmouse Centerpeice and Flux Keyboard, it becomes apparent that something with some actual rendering power (and not a microcontroller) is likely needed for what I'm looking for. However, a Raspbery Pi 0 (which I've never seen for £5) + HDMI bridge sounds a tad overkill. This is probably why Dwin -- the guys making those HMI's -- actually created their own chip to run the displays:
Looking at the datasheet, it sounds like the engineers are eeking out an extra 8% out to actually run the 720px screen.
Thus it seems that the best solution with the highest end-product quality with the lowest developer effort is stil the 720px screen, as long as I can actually fit it in the space available.
It's going to be tight, and the resulting Tetent concept probably won't look as futuristic since the screen surface would be very close to the bottom of the Tetrinsic tubes.
[14 Aug]
Assuming that I don't have to constantly feed in new data for a static image, it may still make sense for the parallel RGB option for showing still images, just like a standard desktop wallpaper. The plan would be to
- Fade the screen to 0 brightness.
- Serial-to-parallel shift the data of each channel.
- Fade the image to the original brightness.
It certainly could help reduce power consumption, as the 4.1" HMI is claimed to use 12V 0.08A (0.96W) with the backlight off.
I also searched "ESP32 MIPI DSI" and I actually got a result: ESP32-P4. I remember first hearing about this chip and then, upon hearing that it didn't support any radio frequencies, I (and it sounds like other commentors) had a bit of a Dead On Arrival sentiment. Now, if the writer said
array of hardware peripherals such as MIPI-DSI and CSI
instead of the easily over-skimable
array of hardware peripherals including display and camera interfaces"
I would've been like "WOW! THAZ AWESOME!". Here's some notable things I've highlighted from the press release:
It sounds like its a chip that can be used for HMI displays, similar to the Dwin TL5 series of chips, but I can use the same development pipeline as Tetrinsic. That sounds great, but it seems that it was announced 7 months ago and yet there's no further info like docs or even anywhere to purchase the chip.
- The active area is a perfect square.
-
[M] Ideas for Tetent Concept4
08/09/2023 at 09:48 • 0 comments[14:00] Since the handheld-ability of Tetent is now less likely, due to Tetrinsic's ball-chain needing a wider turning radius, I was thinking of making this concept a seperate project or calling it #Tetent TestCut [gd0139]. However, as long as it's a device that fits in the space provided by #Teti [gd0022], making it a new concept of Tetent is fine.This is a concept I've had in my mind and quickly just sketched up now because I've got a new Tetrinsic idea and I thought it'll help explain things.
The new Tetrinsic strategy is to actually have the chain seemingly raised from the surface:
The squares will have MIP LCDs in them, but only on one side as the design is symmetrical. It means that only 2 screens have to be bought.
I'm not a fan of what the side design looks like compared to the first concept idea, but I do like the idea of one long opening slot instead of 4 individual ones:
[16:50] I think I've gotten something that I can accept:
Still though, it's kind of dissapointing that I called this entire project "Tetent" becuause I wanted a tented keyboard and yet a design that allows for tenting is at the bottom of the requirements list. It's just that I rarely work at a desk, and designing for it to work on varying/uneven surfaces sounds like quite a challenge.