Close
0%
0%

Tetent [gd0090]

A water resistant, 300WPM input peripheral for end-to-end workflows.

Similar projects worth following
Tetent is a dual-wieldable human-computer-interface with the goals of USB Type-C (higher bandwidth, reversible, smaller and alternative mode support), designed to fit in Teti [gd0022].

It's also an outdoor-readable PDA and a mini RC tracked vehicle.

Inspiration and/or examples of working principle


Imagine that each slider has the features of the below knob:

An LCD backlight was also considered:

Navigation

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

L1
[M] Status
L2
[A] Current Layout:
L3
[R] Blackberry Trackpads
L4
[P] Blackberry Trackpads
L5
[T] Alternative Mouse Control
L6
[P][T] Finger distance and other changes needed
L7
[T] Feature Thoughts
L8
[M] The Fusion 360 Grind
L9
[T] Test Driven Development?
L10
[T] Memory LCD
L11
[T] 3x5 Buttons, weight adjustment and joystick issues
L12
[T] 3x1 keys
L13
[T] Starting the new layout
L14
[A] New layout for the new Tetwin Switches
L15
[M] Expected Key Placement of Motorised Switches
L16
[M] Concept with motorised Tetwin Switches
L17
[M] Concept2 Revision
L18
[M] Concept2 refined
L19
[A] A faster, new layout (for the Tetrinsic Switches)
L20
[M] Updated file
L21
[T] Finger massaging keyboard
L22
[T] LED ring
L23
[A] Details before 5th Oct 2022
L24
[T] Tetent TestCut and Project Worries
L25
[A] Main project moving to Tetrinsic [gd0040]
L26
[T] Use gd0040 concept
L27
[M] Concept3 with Tetrinsic Gen 2X2 and basic UI idea
L28
[R] Rear-facing / backwards keyboards
- Also hyping myself up to continue the project
L29
[P] Tweaks applied
L30
[T] More readable UI concept
L31
[T] Some improvements I'm implementing
L32
[M][A] Refinements to design and layout
L33
[R] Input devices
- Interesting devices like a trackball remote or a cube keyboard
- Tried Elecom Relacom
L34
[T][M] Tetent with 1440px screen?
L35
[A] Bigram layout tweaks, and a virtual typing attempt
L36
[A] A solution... is rejected, due to aesthetics.
L37
[M][P2] Quad Symmetry
L38
[A][T] External Look, Locked.
L39
[R] UMPC idea: Leti
L40
[T] 1440px use case... fails.
L41
[T] Tetent now seemingly unavoidable.
L42
[A] Slight TrueGame layout adjustment
L43
[M] Tetrinsic Taic
- Solar panels integrated into Tetent
L44
[M] LCD Aesthetics
L45
[T] 2.4mm vs 3.2mm ball chain
L46
[M] Dual Screens? Dual Speakers.
L47
[P] Concept-half print
L48
[M] New design with 18.75mm spacing
L49
[R][X] AirBerries: Learning a custom keyboard layout
- Discovered eteeController
L50
[T] Split Tetent again?
L51
[M] Thumb grip failing...
L52
[X] AirBerries: ZEV-XS Layout
L53
[T] AirBerries: Try Taipo?
L54
[M] Ideas for Tetent Concept4
L55
[R] 3.95 inch 480x480 or 4.12 inch 720x720 px display?
L56
[M] Concept4 modelling... started.
L57
[M] Concept4 80mm Square
L58
[M][R] Concept4 90mm Square and 5" square display
L59
[T] Focus on solar version? Include reverse PDLC film?
L60
[R] Sunpower 125x125mm solar cell?
L61
[A] Tetent Solar Edition: Tetrescent [gd0150]
- #Tetrescent [gd0150] 
L62
[R] Finds from r/PeripheralDesign
- Uncokeb and Palm Pro
L63
[A] Details page before 12 Jan 2024
- Contains information of how typing is expected to work
L64
[T] Bundle Adjustment
L65
[R][T] Insights from the Master Forge Demo comments
L66
[R][T] Slide-out screen shortlist: Blanview 3.5" or Transmissive 3.4"
L67
[R][T] Tracked RC vehicle mode
L68
[R] STM32U5G vs MCU's and MPU's
L69
[M] Started modelling Tetent Concept5
L70
[R] Renesas RA8D1 and RAM
L71
[R][T] Water resistance and UV-C
L72
[M] Concept5

Preface

[2024 - Jan 13

(last edited 2024 - June 19)

As with #Teti [gd0022], the goal of Tetent is to optimize my pipeline from idea to implementation. The vast majority of my tasks are PC based, but that doesn't necessarily mean that fast text entry alone would be enough.

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. 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...
Read more »

  • [M] Concept5

    kelvinA07/15/2024 at 10:01 0 comments

    I think I've gotten the concept to a place where I want it to be. You may notice that the colour scheme is different, and that's so that the enclosure doesn't clash with LED colours. I like how it looks somewhat futuristic from its simplicity. In an ideal world, the black would be black marble:

    Ironically, I've decided not to include the tenting display idea I've had, whereby the display and speakers would revolve out and create a ∧-shaped configuration. There's already a lot of features that have to go right, and I've seen the kinds of engineering that needs to go into laptop or folding-phone hinges.

    This means that the solution is going to be a bit Magic-Mouse-esque for the time being as the screen would be on the bottom of the device. The current expectation is that I'd only get the Settings app done anyway, and that it's possible to create an external tenting solution that has a mirror as the base, allowing me to see the screen via it.

    As one of the unvocal population of people that liked the live-tiles of Windows and Windows Phone, the expectation for the Tetent UI is to take this even further by designing entire apps as tile-shaped widgets, with the sizes being 400*200px and 400*400px (and potentially a 200*200px). These sizes are chosen because of the portrait-mounted 640*400px display prizm I'm planning for #Tetinerary [gd0151]

    I'm planning for the sound of the speakers to come from the same gap that the Tetrinsics go into, to make them more discrete. Ideally, I can find a way to do this whilst ensuring that stray UV-C radiation makes its way out. This also means that the USBC is most likely to go on the side. Another reason for its placement is that Teti uses 90-degree USBC cables for the portable monitors.

    Renders

  • [R][T] Water resistance and UV-C

    kelvinA06/19/2024 at 15:38 0 comments

    You may have noticed that "water resistant" has started showing up on Tetent projects:

    This is because I'm going to "double or nothing" and pursue water resistance. 

    Part of the reason is because I read somewhere that waterproofing had to be implemented "at the design stage", part of the reason is the "#showerthoughts" phenomenon, part of the reason is the BOM price and the largest share of the reason is because the market is quite dry when it comes to water-resistant options (pun intended). Oh, and I watched the following video where an Apple executive mentioned how failure rates dropped substantially when they started adding water resistance to the iPhone.

    I believe there is something called a "feature parity threshold", under which there was little reason to invent a custom solution because something else already exists and is accessible. Water resistance crosses this threshold when compared to the vast amount of input peripherals and instruments. It also puts it on parity to a bluetooth keyboard in a plastic bag, which is not possible to do with Tetent.

    It also means that it's much easier to clean and can be deployed in more real-world environments, though UV-C sterilisation might be more difficult to achieve. This is because virtually all plastics are opaque under 300nm, and the ideal range for germicidal efficiency is around 265 - 275nm:

    On JLC, it seems that the best (and cheapest) UV-C LED is 275nm. It also seems every LED in this category uses 6V.

    The waterproof UV-C lamps use quartz as the transparent medium. There's also "UV Grade Fused Silica".

  • [E3][R] Renesas RA8D1 and RAM

    kelvinA06/07/2024 at 20:07 0 comments

    It sounds like Renesas is coming out with a chip specifically to "bridge the gap between MCUs and MPUs" with their RA8D1 which achieves 6.4 CoreMark/Mhz using Cortex-M85 (so more likely to have embedded Rust support). On its single 480MHz core, it eclipses the ESP32P4 and allegedly gets 3000 CoreMark. It also has a (relatively large) 176-pin QFP alongside its smaller BGA:

    I wish these chip manufacturers also bridged the gap between QFN and BGA with something like a dual-perimeter BGA:

    Even a 3-perimeter BGA seems fanout-able with 2 layers: 

    This is a 180-ball package that's only 12 x 12mm despite its 0.8mm ball spacing. The U5G7's 100 LQFP is 14 x 14 and the RA8D1 is 24 x 24 for the 176 LQFP. I've also heard that BGAs were invented back in the day because these large QFPs were more fragile.

    Anyway, it does actually exist on Digikey in the same price range as the U5G7 and it seems that they're fresh on shelves because practically 0 data has been added for them meaning that they would've been insta-filtered out during my searches:

    There's no mention of vector support, but the datasheet does say:

    The 2D Drawing Engine (DRW) provides flexible functions that can support almost any object geometry rather than being bound to only a few specific geometries such as lines, triangles, or circles.

    That sounds like pseudo vector support.

    There's only 1MB of on-chip RAM and, for the as-yet-unavailable 2MB Flash + MIPI DSI BGA version (highlighted in green below), the extra 1MB of flash will cost £1 more than it's otherwise identical counterpart (right at the bottom of the list). Considering that I was planning to just put the firmware assets on the MicroSD card like Linux for a Raspberry Pi, the 1MB flash option is likely fine (as long as it's actually cheaper, which currently isn't the case for the available options).

    Since the RAM is a bit low, the best Octo-SPI options are £1.70 for 8MB and £3.80 for 32MB, both of which are BGA.

    Dropping down to Quad-SPI has many more options and at lower price points, such as 

    • 8SOP
      • 20p for 2MB
      • 27p for 4MB
      • 52p for 8MB
      • 70p for 16MB
    • 24BGA
      • 59p for 16MB 
      • 98p for 32MB
    • 8WSON
      • 230p for 128MB

    Considering that this is partially serving as a testbench, it makes the most sense to go with the 8WSON packages:

    The 32MB BGA does make some sense too though, again considering that I just have to place the chip on the pad and heat it to solder it, skipping a step.

    From what I can understand, Octo-SPI is more ideal as an entire byte can be transferred. Because of this, I suspect that it also has different names such as "Parallel" and "HyperBus". Searching using that, I get cheaper and larger options

    • 125p for 4MB - HyperBus 24BGA (1.8V)
    • 133p for 128MB - Parallel 63BGA  (3.0V)

    The latter of which has a copious amount of unused pins:

    I counted 24 not connected. Oh, but this is the TSOP not the BGA
    I count 24 pins actually being used.

    Why have chip manufacturers done this???

    Anyway, I've also noticed that the QSPI is clocked at 104 - 133MHz but the OSPI is usually 200MHz, so there's probably a large speed difference between them. This is confirmed in an ISSI leaflet:

    ISSI’s Octal flash delivers 400 MB/s of read bandwidth, which is over 4x times faster than a Quad SPI Flash.

    Anyway, it's only because of the leaflet that I found out that there's Octo FLASH in addition to Octo RAM, and it seems most of the chips I just found are of the FLASH variety. The 4MB HyperBus is indeed RAM though. The next cheapest option is some 64MB DDR2 for 198p:

    Int the STM32 application note, it sounds like it doesn't really matter if it's FLASH or RAM:

    The wording is a bit different though. Sounds like the framebuffer can live inside RAM but can only take assets from FLASH.

    Not all too sure about how it's done in the RA8 though. Meanwhile in the U5Gx, the interface can even accept a 16-bit bus at up to 160MHz. I think it's Double Data...

    Read more »

  • [M] Started modelling Tetent Concept5

    kelvinA06/06/2024 at 17:59 0 comments

    I had initially expected the copper part to be the bit that protruded by 2mm, but it didn't look right:

    By making the white slot the one that extends further, it makes the top look more balanced as well as making the design look more open / spacious. It also made the RC vehicle mode look better:

    The plan going forward is to add the USBC port and a 3D texture to the white side faces, which is an idea I got from the cheap USBC charger I bought a few months ago:

    Additionally, I want to improve the render LEDs to signify that the LED strip is addressable not a continuous white.

    The spacing between Tetrinsics is 17mm, just like Concept1.

    Surprisingly, this is what it looks like next to an iPhone 14 Pro Max:

    All of a sudden, the concept is looking tiny!

    [June 19] Going to skip on the camera. It ruins the symmetry, the range would likely be so short that line of sight would suffice and the U5Gx doesn't support the nice 13MP sensor.

  • [E1][R] STM32U5G vs MCU's and MPU's

    kelvinA06/06/2024 at 17:34 0 comments

    So while reading a tutorial to find out how many pins an SD card needs (to start totalling up how many pins I need), I found out that there's software called STM32CubeMX that conveniently does all this:

    As you may be able to tell, this is the U5G7. The reason why it's not the U5G9 is because I was configuring the pinout and found out that the 100-pin package only supported either parallel or MIPI display-out. This software was very helpful in seeing all the details I missed and skimmed (and wouldn't've even bother reading until I needed to make a schematic) as well as not only knowing how many pins I have left, but the distribution of used pins.

    The software has a power consumption calculator and seems to imply that 16mA is the max it would consume:

    USB features require a 3.0 - 3.6V bus, but the chip itself can be as low as 1.8V. I assume it's safe to expect that 50mW is the peak power consumption at 3.3V.

    The reason I started all this was because the ESP32P4 might exist sometime this quarter (heard in Binaris discord) or sometime 2025 (heard in the ESP discord) and that has a 104-pin package, so I had the idea to use the U5Gx to get an estimate on if there would be enough pins:

    One of the things I don't think the P4 has that the U5G does is a USB Type-C + Power Delivery controller, meaning that a separate chip would be needed for that. On the other hand, the dual-core clock speeds and 32MB of in-chip PSRAM means that the P4 sounds to be comparable to a Sony PSP in the compute department:

    Not considering the gaming and WiFi features, I think the PSP operating system is a good idea of what I want the firmware to be like.

    If I use a package with more pins, I could use the OctoSPI peripheral on the U5G9 to get more memory if needed. However, considering Palm PDAs shipped with 2MB and that the display buffer for Tetent/Tetinerary likely needs ~1MB, I think 3MB should be enough for now.

    I also did some research into what others did when they were considering what MCU to use, and it usually boiled down to "use the highest powered chip in the series and then scale down", implying that projects rarely exceed the performance of sub-200MHz microcontrollers. One user made extensive work of the peripherals, resulting in the CPU predominantly doing nothing:

    I did this by strapping together an ADC, comparator, a couple of DMA channels, bunch of timers and an intricate scheme of event/task connections of peripherals. CPU did absolutely nothing aside from starting monitoring and receiving a single interrupt after impulse was detected and recorded in RAM buffer.

    Speaking of speed, I did find out about the Renesas RXv3 CPU core, which has obtains 5.8 CoreMark/MHz. The U5G is 4.1, the ESP32C6 is 2.9 and the ESP32P4 seems to do 3.0 if it's getting 2400 across both cores:

    Source

    Unfortunately, even though the RXv3 core came out in 2018 and the chips it's in feature a double floating point unit (that I probably won't use), the (Rust) toolchain for it seems to be non-existent in 2024. This is another concern point for the P4 which, since it's not out yet, toolchain support would lag further behind.

    Anyway, I only decided to do that research after looking into potential leads in the MPU side of things. From what I gather, the lines between MCUs and MPUs are starting to blur these days, with the only notable difference from my point of view being that they usually only come in BGA packages and support DDR memory controllers.

    One of the first things I did was look into SoM's like the i.MX 8 but the lowest was still over 1000mW:

    I looked into what processors are used for smartwatches and Cortex-M33 makes an appearance here, just like in the U5G:

    This was from a video for the i.MX RT500 for a task that the NeoChromVG GPU would likely do with a tenth of the CPU load.

    One of the MPUs on Digikey was the STM32MP1. I can't really understand this table, but the note...

    Read more »

  • [E1][R][T] Tracked RC vehicle mode

    kelvinA06/02/2024 at 20:24 0 comments

    You may be wondering why a peripheral input device such as a mouse or keyboard would need to have a remote control. It probably doesn't, yet might only add up to £20 to the BOM of each Tetent depending on how fancy a camera (if any) one wants to install, and it adds quite a bit of fun and excitement to an otherwise engineered-from-necessity project.

    Minimum Viable Project vs Exciting Feature Ideas. From my point of view, it seems like just a small detour.

    I've been imagining things ranging from potential promotional videos to  proposed features over the past day or so, such that unless it's infeasible to manufacture, my next Tetent Concept will be a set of Tetrinsics on a 12mm thick curve:

    12mm is also the thickness of the outline of Teti. The goal will simply be to have the outside dimension be as thin as possible. At most, I want it to be 32mm thin, same as the tracked vehicle from the last log:

    I've been part of that 2-in-1 Laptop club for years, remote controlled scene for even longer, and liked that one Eggman scene in The Sonic Movie where a single vehicle had multiple smaller ones in it.

    This tangent is based on the following observations:

    • The MVP solution already has almost everything needed, physically speaking.
      • As a vehicle:
        • Motorised tracks that use FOC to allow for full torque generation.
        • Pressure sensitive to allow for adaptive traction control.
        • LEDs for headlights, tail lights and indicator lights.
        • Speakers to emulate vehicle sounds.
        • An SD card reader to store music (and can also store video)
        • 2.4GHz connectivity.
        • USB Type-C that could be used to connect additional hardware.
      • As a controller:
        • An outdoor-readable screen for viewing a camera feed.
        • A way to emulate one-dimensional analog sticks and even a gear shifter.
        • Speakers to emulate either vehicle sounds or police chatter.
        • 2.4GHz connectivity.
    • A small camera is the only notable omission from the vehicle mentioned yesterday.
    • Mounting hardware is the only notable omission compared to a motorised camera dolly for photography equipment.
    • The U5G9 (and P4) has a camera peripheral and USB OTG.

    This could be like the "pro" priced, advanced incarnation of the Hot Wheels stealth rides that I owned more than a decade ago:

    Packed with more features and even stealthier.

    I looked into the widest-angle, autofocus cameras I could find on AliExpress and I found 2 options:

    Everywhere except this listing says it's a 13MP camera not a 12MP one. The product spec says it's 13.13MP so it's not a rounding error either.

    There's a 5MP OV5640 and a 13MP IMX258, with the latter also having a larger field of view. The latter also sounds to have an ultra-fast autofocusing method. The following 2 videos are with the feature off, then on:

    Considering how expensive Tetent is already estimated to cost, and how time consuming it would be to even add the feature, I'd most likely just go with the IMX258 because of the aformentioned features and that "13MP 4K" sounds cooler on paper, I'm planning to use Tetent for years so the £30ish BOM difference is easier to swallow, and HDR is supported. One of the drawbacks is that the datasheet isn't easily available, unlike the 5MP camera. Another one is that it uses a MIPI-CSI interface, which is just one more reason to wait for the ESP32P4 over using the STM32U5G9 today.

    The camera would be mounted on the 45-degree bend of the curve mainly so it fits in the first place, but also so that 50% of the feed isn't the (out-of-focus) floor. One of my ideas was to have an inverse "Centre Stage" feature from iPads, where moving the controller (or the head with Tetinerary) would smoothly pan around the frame, instead of trying to stuff the entire view into a 400x400 area. I'm planning to leverage the "proprietary 2.4GHz" feature of the nF52833 for sending camera data if BT is too slow.

    Additionally, I've got to find space for (camera) mounting hardware so that things can be mounted to Tetent, but also so that Tetent can be...

    Read more »

  • [R][T] Slide-out screen shortlist: Blanview 3.5" or Transmissive 3.4"

    kelvinA05/31/2024 at 07:50 0 comments

    Screen shortlist

    I tried to find some options that could fit on the side of Tetent (like many of the past concepts) but it makes little sense from both an ergonomics and bundle adjustment perspective.

    I'm going to be designing a square GUI for a better Tetinerary solution, and that allows for these options:

    The top listing title has a typo. It should read 480x640.

    Coming in at the same price as the first transflective screen, but without the £7 delivery charge, the 3.5in Blanview is the best available in LCD technology, featuring all the benefits and little of the drawbacks:

    Looking at the top graph, it seems that the backlight uses 40mW in bright ambient lighting conditions. In stark contrast, the transmissive, 1000 nits 480x480 panel (KD034WXFPD002) uses 768mW and the transflective 480x640 panel (FS035VG083-C035A) uses 372mW. Both these values are right on point to what the graph shows.

    One of the benefits of the 480x480 is that the GUI would look slightly larger, and that 2 panels is the same price as a single Blanview panel. However, as mentioned in the Bundle Adjustment log, I could develop with the entire 640x400 resolution found in the prism with the Blanview.

    I thought that the image with the partially shaded panel was impressive.

    Considering that my (not so temporary) "temporary" keyboard has now been in use for about 3 years, I think it's in my best interest to just go with the better panel upfront.

    Slide out screen?

    So this is all well and good, but the issue is actually placing the screen somewhere. As I've said in a Tetrinsic log somewhere, I had a "sigma" character inspired design. What I haven't yet mentioned was that I found a new belt type (5PH) and considered a 15x150mm Tetrinsic (with a 15mm diameter body, 46mm rotor length, custom motor), but there is only one type of 0 - 500g FSR available on the market and all the 15mm strip ones are 20 - 10000g, so much less likely to work well for this application. That 0 - 500g FSR has a max sense length of 85mm. The 5PH284 belt is the most ideal.

    Top: Sigma style design. Bottom: Tetrinsic with 284mm belt and bracket style design.

    In pursuit of thinness, I made the bracket-style design. The main benefit is so that it can fit in a pocket. The easter-egg benefit is so that I can design an RC tracked vehicle mode:

    This is £65 on aliexpress, so maybe it's not entirely financially unjustifiable for Tetent to have a similar feature? 4 tracks with RGB LEDs and potentially even traction control? That sounds like a Pro remote controlled vehicle.

    Since Tetent was also a bit of a stop-gap to Tetinerary, I did consider doing things the Apple Magic Mouse way and mount the screen on the bottom:

    The charge port will be on the side though, like a usual mouse.

    However, there may be a way to do the inverse of the PSP Go, where the screen slides out from under the input panel instead of sliding out to reveal the input panel. If I decide to focus on the 1 : 1 GUI, I could also employ a LG Wing strategy, where the screen swivels out.

    The engineering challenge is going to be to fit a screen, 3Ah battery, 2 speakers and a PCB into a thin formfactor.

  • [R][T] Insights from the Master Forge Demo comments

    kelvinA05/29/2024 at 09:08 0 comments

    Currently reading the comments in the below video to get more user insights as to what expectations and notable mentions come up for a peripheral that aims to replace the keyboard.

    What commenters were saying

    • Accents / other languages
      • This understandably comes up a lot, and I specifically saw "spanish" more than once.
      • Considering that the original Tetent idea was to chord bigrams and me-in-the-past considered it fast enough to start the project, the idea I've got for all the accents is to dedicate 2 fingers to characters and one to accent modifiers.
      • I've also got to look into what is required for non-latin languages like Japanese / Chinese / Korean / Arabic. 
    • Ambidextrous / one-handed support
      • This is one of the reasons I personally decided to start the Tetent project without first trying out Charachorder.
      • I looked into their discord after seeing a few of these comments and there is a 1-handed layout but it seems that users would like a foot-pedal so that they can access modifiers on the other side more easily than the current method.
      • Unfortunately, the Master Forge seems to only have thumb buttons on one side so it's still not ambidextrous.
    • Game compatibility
      • I'm hoping that the macropad and Xbox inspired layouts addresses this.
    • Learning curve
      • Also mentioned quite a bit.
      • I also noticed when the creator said "I have chords for every single thing here" when he got to the words section of the online teacher, implying that you manually have to set up chords still. This is the other reason I started the Tetent project.
      • Other than moving the user's fingers to exactly where they need to go and applying the haptics they should feel when pressing, I don't think there's more that can physically be done to ease the learning curve. Tetent needs to be able to do this.
    • Accessibility
      • This ties in with one-handedness, but they also mentioned about missing fingers and poor motor control. 
      • I don't think Tetent could reasonably do anything about poor motor control, but typing in english should only need one finely-controllable finger and one kinda-ok-controllable finger. 
        • This also ties in with the learning curve, as users can start off with just 2 fingers and scale up if they feel comfortable.
    • Wireless
      • I also agree. As I've previously mentioned, I usually don't work at a desk, and so my mouse and keyboard wires are more tedious than I initially expected.
    • Younger generation
      • I read a quote a few months (maybe years) ago; "get them in when they're young and impressionable".
      • It's understandable that users wouldn't want to learn something new that might or might not be better than what they already know. It's a very different calculation when "what they already know" is (near) 0.
        • (This is part of the reason why I'm planning on programming Tetent with Rust; I don't know enough about C/C++ to make an entire FW so, from a learning curve point of view, those languages are approximately on equal footing.)
      • For this reason, I'm trying for a 16mm wide #Tetrinsic [gd0041] to accomodate for smaller hands.
      • It would be even better if I could design some mechanism where a user could turn an allen key to fine-tune the spacing, or perhaps just mount the Tetrinsics onto user-accessible slots,
    • Price
      • This is probably the main thing that keeps on getting worse the more I engineer a solution. 
      • I think a Tetent-like device would have to be sub-£60 to have any sort of "mkay, perhaps I should try it" appeal and, due to the prices I've been quoted for #Tetoroidiv [gd0152] motors, Tetent's unfortunately never going to come close.
        • I'm designing this for the hypothetical user that are unsatisfied with the keyboard+mouse combo anyway, so maybe £90 instead of buying a £60 keyboard and £30 mouse?
        • I'm starting to understand why AliExpress robotics kits with decent motors instead of shaky-and-loud hobby servos cost what they do.

  • [T] Bundle Adjustment

    kelvinA05/07/2024 at 11:26 0 comments

    Introduction

    In computer vision, Bundle Adjustment takes multiple images and refines the estimated camera pose between them.

    I've been spending the past few days manually doing something similar with the projects Tetoroidiv, Tetrinsic, Tetent, Tetrescent and the newly renamed Tetinerary (which has been renamed from Itinervate as a direct consequence of this Bundle Adjustment).

    I've decided to write everything in this log so that I can refer to it in subsequent logs in their respective projects.

    Considering the phrase "Form vs Function", I'm designating that Tetent = Form and Tetrescent = Function, in that the aesthetics would be prioritised in Tetent and the functionality will be prioritised in Tetrescent.

    Transflective Screen

    The bundle adjustment started when I started searching for screen options when bundle adjusting for Tetent and Tetrescent. Tetent would be fine with a small square screen, but Tetrescent needs to be large enough to reasonably be used as a typing tool, such as Freewrite. 

    I also had the idea of having a similar design for Tetrescent, where instead of a sigma, the side profile would be closer to '>_', resulting in the screen having a 30 degree angle up from the desk plane.

    Tetent (left) and Tetrescent (right) concept shapes.

    Not wanting to have to create UIs for two drastically different screens, I decided that Tetent would also use the same screen that Tetrescent used. 

    Since Tetrescent is obviously designed to be used outside (where the sun is), A transmissive screen could not be used. I also strongly oppose sub 60Hz framerates, so an e-paper display wouldn't suffice either. It's possible to design a monochrome UI, but colour would be preferable. Noting some of the complaints people had with the Playdate and the LED mods implemented into the Alphasmart devices, I also needed something that could illuminate in low lighting conditions.

    The first option I decided on was the Asumo 3.4" colour which is £63 on Digikey, which is higher than the £50 I budgeted for the screen but it had the dimensions I was looking for and front-lit. 

    Then I found out that a 3.5", 640 x 480, transflective screen existed. It uses MIPI though, so not exactly ideal. What was ideal though, was the resolution. Tetinerary, formerly Itinervate, uses 640 x 400px optical modules, and this resolution is also very prevailent in the AR glasses industry. If I could implement this transfelctive screen into Tetent/Tetrescent, it would mean that I could then port things over to Tetinerary very easily with minimal circuit changes. It also meant that I could develop, test and validate the software (and battery life) on cheaper hardware before committing to creating Tetinerary.

    The optical module uses RGB888, and I was able to find a similar RGB666 transflective screen from the same supplier, only it's out of stock:

    Eventually, I was able to find a practically identical panel on AliExpress, and it's within my budget too:

    Next, I looked to see if there were any YouTube videos of the panel and there is one that shows that it surprisingly has excellent viewing angles, which is important for Tetent as the screen will be aligned with the desk plane (i.e. facing straight up).

    As the panel was 3mm thick, it made more sense aesthetically for the top part of the sigma to go over the Tetrinsics (instead of the Tetrinsics cutting into it). This then opened up the possibility of putting a 3Ah battery under the panel and small stereo speakers (the same ones that have been featured in concepts in the past) facing towards the user. I'm going to be using dual speakers per ear for Tetinerary, partially because there likely won't be any space for a single speaker over the ear and partially to obtain planar 360 degree audio. 

    The battery move was important, as I hadn't gotten the power performance I wanted out of initial Tetoroidiv simulations and a good solution needs more space than...

    Read more »

  • [A] Details page before 12 Jan 2024

    kelvinA01/11/2024 at 11:30 0 comments

    I'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:

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

    Read more »

View all 72 project logs

Enjoy this project?

Share

Discussions

DavidBevi wrote 04/27/2023 at 09:31 point

Ahoy! I'm the guy of the PC form factors concept on Reddit. This is cool, and I guess a lot of people could find it cool, but it's really hard to "get" Tetent at a glance. I'd suggest you to improve your presentation, to get more attention: show pictures with the mock-up being held/used, with the mock-up next to a laptop or tablet, show moving parts by using ghost in-betweens and arrows, embed a text with some highlights of the product inside the images. In short: copy the way every seller shows their stuff on Amazon, eBay, AliExpress.

Also reading your last update about Tetent with embedded FW mobo made me wonder, would it be possible to realise 2 JoyCon-like Tetent modules that slide directly into the Framework? It would be cumbersome with a laptop, but it would pair well with something like the Cooler Master + Framework mainboard case (or my Portable Tower concept, hehe).

Finally, personal preference: I'd rather see what's about to be typed with Tetent near the place I'm typing it, on the same monitor. Do the simplest thing first though, I can see how writing/maintaining SW for all possible host machines is a hightmare!

  Are you sure? yes | no

kelvinA wrote 07/20/2023 at 23:42 point

For some reason, I wasn't notified of this comment so I've only just seen it now. 

I also agree about the presentation, and wanted to make an AliExpress-esque product page, but only when the first working prototype actually existed. If you've looked into Tetent's history, you'd see that it can and _has_ radically changed based on Tetrinsic [gd0041]. Due to this, I decided to wait until I had an electromechanically complete CAD model of Tetrinsic beforehand. Thankfully, I've crossed that milestone just a few days ago.

I've also recently seen that new Cooler Master case and I think it's a solid idea. I imagine it would also integrate USB hubs so that you still have access to a range of IO options. The original aim for Tetent was actually to be a keyboard that slotted into a 7" laptop called the One Nextbook GX1. Anyway, it's potential applications like this why I've tried to make Tetrinsic as modular-able as possible, so that the community can create new projects similar to how they'd integrate a TFT display or keyboard switch. It's also why the layout I've designed is somewhat finger-count agnostic. 

I also agree that the most ideal place to see the Tetent pre-input is perhaps some ghost text on the right side of the cursor, with a small always-on-top window being the next best thing. Obviously, I need to know if Tetent is even ergonomically viable first, but hopefully I can become some 10X developer with it and write the software to further improve it. Software usually isn't constrained by the laws of physics, unlike hardware. Software _can_ be constrained by the limits of the hardware though, so I'm trying to set my future-self up as much as possible with the design of Tetrinsic.

  Are you sure? yes | no

RunnerPack wrote 10/03/2022 at 14:52 point

I'm very intrigued by this project, but I can't find any mention of the motor used.  Could you at least fill out a preliminary/partial components list, please?

  Are you sure? yes | no

kelvinA wrote 10/03/2022 at 14:56 point

I can't do a component list right now because it seems every other log changes a component. For the motor (and other Tetrinsic [gd0041] related things), I'd direct you to https://hackaday.io/project/184180-tetrinsic-gd0041

  Are you sure? yes | no

RunnerPack wrote 10/03/2022 at 15:21 point

Weird… I thought I was looking at, and commenting on, that project 😅 Sorry!

  Are you sure? yes | no

kelvinA wrote 10/03/2022 at 22:16 point

😅I thought so too. I was thinking "How could I have missed the link for the motor in the log when I discovered it? Wait, this isn't the Tetrinsic page."

  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