tech talk

Agent 2: Next-level UHK and module configuration

TL;DR: Say hi to 12 layers per keymap, module speed and acceleration settings, and loads of advanced features, mostly enabled by the new smart macros functionality of the latest UHK Agent and firmware releases.

I don’t usually write dedicated posts about new releases, but this is a major one, we’ve been working on it for a year, and it delivers a huge punch that can elevate your UHK experience to the next level, so it mustn’t go unnoticed.

A summary of new features to whet your appetite:

  • Extended the original four layers per keymap with four regular layers (Fn2, Fn3, Fn4, Fn5) and four modifier layers (Shift, Ctrl, Alt, Super).
  • All modules: speed and acceleration settings, axis locking settings, per-layer navigation modes
  • Key cluster module: Added the ability to fine-tune or disable the behavior of the mini trackball.
  • Trackpoint module: Fixed occasional trackpoint pointer jumps and made it easy to stop drifting if it occurred.
  • Touchpad module: Implemented pinch-to-zoom, two-finger scrolling, doubletap-to-drag, and made the tap action configurable.
  • Advanced configuration scenarios via smart macros, such as configurable modifier layer triggers, mouse key axis skew, and LED fade timeout
  • Super-advanced configuration scenarios via extended macro commands, such as variables, loops, double tap actions, and runtime macro recording.
  • Implemented N-key rollover.
  • Made accelerate and decelerate actions work with modules.
  • Fixed USB descriptors which caused high CPU load on Macintosh computers.

Let’s go over the main features, but first, install the new Agent. Then it’ll upgrade your UHK to the new firmware.

12 layers per keymap

Instead of 4 layers, you can now have 12 layers per keymap.

You can enable/disable any of the above layers per keymap except for the base layer, which is mandatory.

The Fn2, Fn3, Fn4, and Fn5 layers work just like the existing layers, but Shift, Ctrl, Alt, and Super are modifier layers.

On modifier layers, you can map alternative actions per key, which trigger when the key is pressed with the relevant modifier. For example, now you can implement the Programmer Dvorak layout solely on the UHK.

Credit: “The Case for the Programmers’ Keyboard Layout” by Zachary Johnson

Smart macros introduction

You’re probably already familiar with regular macros, which are a sequence of macro actions, such as keypresses and mouse movements.

Smart macros, however, enable the advanced customization of your UHK and its modules. See the following screenshot, which shows a macro named $onInit containing a command macro action that contains multiple macro commands:

$onInit is a special macro name. It's a macro event that executes each time your UHK gets powered and when you save its configuration.

"set module.trackball.baseSpeed 1" is a macro command that sets the base speed of the trackball module to 1.

Macro commands work in any macros, not only in macro events, and you can bind them to any key. This way, you can make Fn+1 set your trackball base speed to 1, and make Fn+2 set it to 2, for example.

Interactive smart macro editing

Adjusting values by editing text is tedious. This is why we created a smart macro sidebar that can be opened on macro pages. This sidebar contains easy-to-read documentation and provides interactive widgets that make configuration a breeze.

When clicking on a macro command action, the widgets of the smart macro sidebar display the actual values of the commands, and module-specific widgets appear. You just have to interact with these widgets, hit the usual “Save to keyboard” button, and your settings will be applied immediately.

I strongly recommend you delve into these settings, as they can make a huge difference. The default sensitivity settings of the modules are reasonable, but by tweaking them to your needs, you can make them so much more usable. Maybe, just maybe, you can finally get rid of your mouse.

Advanced configuration scenarios

Besides $onInit, there’s also the “$onKeymapChange {keymapId}” macro event, such as $onKeymapChange QWR, which is executed when the QWR keymap is activated.

This event enables you to have keymap-specific settings, which allows for many advanced use cases. For example, different operating systems have different mouse sensitivity. This feature allows you to have different speed and acceleration settings for your mouse keys and modules via different operating system-specific keymaps.

Believe it or not, I’m still scratching the surface. If you really want to go crazy, you can use the set "macroEngine.extendedCommands 1" command to enable the extended macro engine, allowing for variables, loops, and countless advanced commands. If you’re comfortable with delving into manual pages, check out the extended macro engine user guide and reference manual.

Smart macros history and credit

Smart macros have an interesting history, starting out as Karel Tuček’s UHK firmware fork on GitHub.

Karel wanted special firmware features, and he originally (ab)used the text macro actions of Agent by making the firmware interpret the lines starting with the $ character as special commands. He’s essentially implemented a command interpreter in the UHK firmware that allowed for his advanced use cases.

I saw his efforts early on, and I was impressed, but I considered his work quite niche and wasn’t too interested. (In retrospect, I can see that his advanced commands are used and loved by many.)

Then it struck me that smart macros could enable the configuration of many UHK and module features without developing Agent, which is a huge win, as adding new features both to Agent and the firmware takes a ton of work. Exposing new features only via the macro engine of the firmware is so much easier. 

I came up with the idea of macro events and making smart macros a first-class citizen in Agent, then implemented the smart macro sidebar. Karel has implemented the acceleration driver of the modules, macro events, and, nowadays, pretty much everything that has to be done with firmware logic. His work is hard to overstate.

As an interesting trivia, the macro command editor of Agent might feel familiar. This is because we use Monaco editor, which also powers Visual Studio Code. In a way, Agent became an integrated development environment, supporting a special keyboard language whose interpreter runs in the UHK firmware.

The future of smart macros

I eventually want to expose basic smart macro settings, such as module settings or the LED fade timeout, not only via the smart macro sidebar but dedicated Agent widgets for better usability.

Nonetheless, we’ll keep and extend the currently available smart macro commands and settings because they allow for advanced configuration scenarios.

I plan to gradually move the extended macro commands from the current markdown macro documentation into the smart macro sidebar of Agent to make them easier to digest and not hide them behind the set "macroEngine.extendedCommands 1" command.

Closing words

To this day, we’ve released 60 Agent versions and 66 firmware versions, and we’re still going strong. I’m excited about our progress and grateful to our wonderful customers for their support. We keep moving forward because of you.

Thank you for reading this update! As usual, we plan to publish a manufacturing update around the end of the month. Stay safe!

Module testing result and manufacturing progress

Hi there, and welcome to this monthly UHK status update!

TL; DR: We’ve shipped a couple of modules to select testers, and their feedback was very positive, but they’ve also noticed some small issues. PBT keycap and ABS tooling are late, which affects estimated delivery dates. We plan to start shipping the modules around the end of February or March and the UHK 60 v2 around late March.

Module progress

Shortly before Christmas, we finished assembling the following modules and shipped them to select testers.

The feedback we received was very positive but also revealed some new issues. For some testers, the top and bottom parts of the key cluster came apart.

As for the touchpad, some testers pushed the top board into the module case.

Regarding the trackball, we’ve learned during the assembly process that the sealing ring slightly interfered with the ball in some cases, causing the ball to get stuck somewhat. We’ve also noticed that adding a slight pattern to the ball significantly improves optical sensor tracking at high speeds.

We haven’t heard any critiques of the trackpoint, which is unexpected because the spacer that held the top trackpoint part was 3D printed and slightly wiggled. We already had an injection-molded spacer, but we improved it, resulting in lower trackpoint operating force, and the mold hasn’t been modified yet, hence the 3D-printed part. If the 3D printed part was good enough, then the final molded part will be great.

We’re also removing a small plastic part that connects the two case buttons of right-handed modules based on tester feedback. This way, the buttons will be easier to press along their entire surface. The small plastic part was needed for the 3D-printed button prototypes to be sufficiently rigid, but injection-molded plastic behaves much better, and we’re better off without this part.

Luckily, all of the above issues are easy to fix by tweaking the molds, and our contractor is working on the fixes.

It’s fair to say that we’ve learned a ton from the testers’ feedback and the module assembly. I think we’re at a point where apart from the above fixes, the module hardware is excellent and cannot be improved significantly.

Our mold making contractor expects to update the module molds by the middle of February, and UHK 60 v2 mold modifications are expected to get ready by the beginning of March.

Keycap progress

Our PBT keycap supplier has finally sent us samples for approval. The majority of the keycaps’ shine-through performance is excellent, except for a handful of keys, including Space and Mod.

Several UHK 60 v1 owners wanted consistent key cluster keycaps, and as a result, we will also provide ABS keycaps for the key cluster. Our ABS keycap supplier is ready with convex 1U keycap molds, and we’ll ship every key cluster with both PBT and ABS keycaps. We expect to discontinue ABS keycaps for the key cluster in the far future, but now they’re included for free.

Our PBT keycap supplier recently told us that they can only provide the keycap sets in late March, which surprised us quite a bit. Previously, we only used ABS keycaps, which weren’t subjected to such delays.

As it turns out, manufacturing high quality, custom PBT keycaps of excellent shine-through performance is much more time consuming and complicated than making laser-engraved ABS keycaps, hence the delay.

We’re pushing our supplier to provide at least the key cluster PBT keycaps in March, enabling us to start shipping the modules sooner. Unfortunately, the UHK 60 v2 PBT keycaps will have to wait until the end of March despite our best effort.

Module configuration options

Agent’s master branch can already visualize the modules in real-time, and remapping them should be possible soon. The following screenshot is a work-in-progress, but you get the idea.

Remapping the modules, however, is not sufficient to make them live up to their full potential.

It can be difficult to hit small targets or take too much effort to make large motions with the pointer when using the modules. That’s where speed and acceleration settings come in. The speed setting is a linear multiplier, and the acceleration setting is an exponential multiplier. We’ve been already playing around with these values, and they make a world of difference.

When it comes to module usability, another critical feature is navigation mode, which determines what modules do when using their mousing instrument:

  • Cursor mode: moves the mouse cursor
  • Scroll mode: behaves like a scroll wheel
  • Caret mode: moves the text cursor, just like with up/down/left/right arrow keys
  • Media mode: invokes volume up, volume down, previous track, and next track on upward, downward, leftward, and rightward motions, respectively

Speed, acceleration, and navigation mode will be adjustable on a per-layer and per-module basis. So, for example, you’ll be able to make the trackball scroll when the mod layer is active.

By default, the navigation mode of the base, mouse, mod, and fn layers will be set to cursor, scroll, caret, and media mode, respectively, which are sensible and intuitive defaults given these layers’ default behavior.

I can think of a couple more minor options, and I’m sure the community will make further suggestions, but by and large, I’m quite confident that the above configuration options will provide sufficient freedom to achieve excellent usability.

Your tweets

You guys keep sending your awesome tweets, and we're always eager to read and feature them! I’m blown away by Sebastian’s review, Hubert’s chair mount hack, Alex’s custom tenting stand, and all the modded UHKs. Keep it up!

We’ll be keeping you updated on all things UHK and are looking forward to talking to you in late February.

Right-side module mold progress, part two

Hi there, and welcome to the monthly status update of the UHK!

TL; DR: Machining of the right-side module molds is still underway, and it's taking longer than expected; hence, we’re now estimating that modules will begin shipping closer to the end of November In the meantime, we keep testing the modules, making small refinements, and improving their firmware.

Our contractor has been making further progress with the right-side module molds.

I spoke to our contractor yesterday. Unfortunately, the production of the molds is taking more time than originally anticipated, so we now expect to begin shipping the modules towards the end of November.

Understandably, production delays are always unwelcome. However, I know that the molds take so long because our contractor is doing his best in terms of quality. If you have been following us for a while, you know that the UHK was also delayed, and the reception was overwhelmingly positive. I’m firmly convinced that the modules will receive the same reception as the UHK with the care we give them.

We use the extra time available to us wisely and spend these days obsessing over the details of the modules. For example, we noticed that the mini trackball PCB of the key cluster module interfered a bit with the lower right keycap when pressed at certain angles, so we slightly modified the PCB. We also saw that the FPCs are very sensitive to sharp bends, so we redesigned the affected parts mechanically to minimize the bending.

The extra time allows me to polish the firmware and add more features. Recently, I implemented two-finger tapping and scrolling for the touchpad, and zooming is now also recognized. As for the trackball, I've just noticed that it's possible to double the resolution of the trackball sensor IC, which allows a higher sensitivity. These developments will improve the overall experience of the modules.

Speaking of the trackball, some of you have asked whether it's possible to clean the ball quickly. I'm happy to say that it only takes seconds to rotate the outer ring around the ball, which releases the ball.

As for the modules, some of you asked if the modules will remain firmly attached to the keyboard when it’s tented. The answer is a resounding “yes” because the precision-milled steel guides of the UHK keep very stable under all circumstances.

We’ll keep you informed about the development of the modules every month. They may take a while, but we work very hard to make them worth the wait.

Your tweets

You guys keep sending your awesome tweets, and we're always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you around the end of October.

Key cluster molds and PCBs are almost ready

Hi there, and welcome to the monthly UHK status update!

TL;DR: The molds of the key cluster module are almost ready. The PCBs are finalized and being panelized. Module parts are pouring in from our suppliers.

Our contractor is almost ready with the key cluster molds. This is how they look:

The testing of these molds is slated for the end of June, meaning that we’ll soon have key cluster plastic pieces to show you.

As for the right-side modules, András approved the design of the latest 3D-printed parts, and injection molding simulations have been made:

Even more importantly, our contractor started fabricating the right-side module molds:

As for the module PCBs, I’ve been making some small improvements to them. Their shape and layout have been finalized, and I don’t expect any more changes, so we’re in the process of panelizing them.

I’m very pleased with the overall design of the modules, as they do their job well, they are as simple as possible, and they’re highly optimized for production. In my book, this is good design.

Parts have been pouring in from our suppliers, and most have arrived - including the mini trackballs of the key cluster, the balls, optical sensors, and lenses of the trackball module, FPC cables, and FFCs (flexible printed circuits).

We’ll be keeping you updated about the modules. Feel free to change your shipping address any time.

Your tweets

You guys keep sending your awesome tweets, and we're always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2020-07-14.

Module schematic and BOM finalized

Hi there, and welcome to the monthly UHK status update!

TL;DR: The schematics and BOMs of the module PCBs and FPCs (Flexible Printed Circuits) have been finalized. Every part has been ordered for the modules.

Our contractor keeps making progress with the key cluster mold. This is how it looks:

As for the right-side modules, András has been refining their mechanical design, and I’ve been tweaking their PCBs accordingly. These are some of the boards I’ve redesigned recently:

I consider the schematics and BOMs of each PCB and FPC to be fully finalized. András and I will meet over the next week and check how well the new 3D printed module cases fit with the new PCBs. Chances are high that everything will fit well, at which point the machining of the right-side module molds will begin.

I recently visited our EMC tester, TÜV, and we put the modules into the test chamber. The modules did not affect the measurements, which is exactly what I expected based on their small power consumption and small size. Given these results, the modules should pass the EMC tests with flying colors.

We’ve ordered every part of the modules from our suppliers. No parts shortages or delays are expected.

These days are unusually eventful due to the modules, hence this fabulously late monthly update. I’ll do my best to keep you up to date in a timely manner going forward, but I’ll keep prioritizing module development and production over the monthly updates for everyone’s sake.

Your tweets

You guys keep sending your awesome tweets, and we're always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2020-06-16.

Every module prototype is functional

Hi there, and welcome to the monthly UHK status update!

TL;DR: The trackpoint and touchpad modules are functional, and we’ve got demo videos. The mouse mode of the UHK is usable to create digital art. Agent had a Linux security bug, so it’s worth upgrading.

Module demos

This update is quite late, but I think it’s the coolest one so far. I’ve been knee-deep in the firmware of the modules recently which bore some delicious fruits… I mean functional modules.

The trackpoint turned out great, and it’s very precise. Thanks to the dexterity of the thumb, I find the usability of the trackpoint module to be excellent despite the unusual trackpoint nib position compared to other trackpoint implementations.

The touchpad is also finally usable now. It’s excellent for swift, long distance movements, but it has to be optimized a bit more for precision movements. The touchpad IC has numerous parameters, so my hopes are high that precision control can be sufficiently improved purely on the firmware side.

For the sake of completeness and comparison, see the trackball module demo, too. This demo was featured in our previous update.

As you can see, all of the four module prototypes are functional. This is a huge milestone as far as the modules are concerned. Now that we have functional prototypes, it’s time to mass produce them.

Mass production will take a number of steps such as creating tooling, procuring parts, doing EMC tests, and minor manufacturing optimizations - just to name a few. Luckily, many of these steps can be done in parallel, but they’ll still take months. We’ll announce an ETA in our next monthly update.

Creating digital art with the UHK

Speaking of mouse control, although not as capable as the modules, let’s not forget about the venerable mouse layer of the UHK, as it’s very powerful for what it is. So much so that apparently it’s possible to create digital art with it. Give it up for Brandon Yu, who’s about to demonstrate the seemingly impossible.

I don’t know about you, but I’m officially blown away by Brandon’s skills and talent. Brandon also happens to be a game developer, so feel free to get in touch with him on Twitter.

New Agent features and security fix

Bill Gates used to say that 640K ought to be enough for everybody. I’m here to say that 32K is enough for every UHK user. Well, as far as the on-board memory of the UHK goes.

Now that Agent shows the allocation of the on-board EEPROM memory of the UHK, it’s easy to see that about 4K is used by the default configuration of the total 32K. Even if you have dozens of keymaps and macros, it should still be enough.

If you take another look at the above picture, you can notice the newly added configuration history section. Every time you save your configuration, a new entry gets created here, and you can restore any previous configuration with a click of a button.

Last, but not least, we’ve fixed a major security bug which affected the Linux versions of Agent. We suggest installing the latest Agent version which will fix the affected udev file upon starting it. Mad props go to Joel Eriksson of ClevCode for spotting this one!

Your tweets

You guys keep sending your awesome tweets, and we’re always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2020-03-10.

The trackball module is fully functional

Hi there, and welcome to the monthly UHK status update!

TL;DR: The trackball module is now fully functional. Modules will be more portable than expected. Some great UHK reviews have been published.

Trackball module demo

I really wanted to show up the trackball module in the previous UHK newsletter, but couldn’t because the pointer moved in a very erratic fashion. I’m happy to report that I’ve managed to fix the problem, so here comes the obligatory demo.

We’re very pleased with the usability of both the trackball and key cluster modules. They allow for fine-grained mouse control without leaving the home row, and work just as envisioned. The mini trackball of the key cluster is very handy for scrolling, and the trackball module is a great tool for moving the pointer.

Although the schematic of the trackball prototype contained minor errors, the fix mostly involved changing a couple of lines of the trackball module firmware. This was followed by the refactoring of the trackball module firmware, specifically, and then a massive refactoring of the module firmware codebase in general. As a result, the source code of the modules shrunk to merely 100-200 lines per module, allowing me to develop the firmwares of the remaining modules with minimum effort.

I’ve already started to develop the firmware of the trackpoint module, and the new touchpad PCB has just arrived, ready to be assembled. I’m looking forward to making these modules work, too. We’ll be keeping you updated.

Module portability

The modules make the UHK less portable in the sense that one can’t just merge the halves and pick them up with one hand, but as it turns out, even with the modules, portability is exceptionally good for a modular keyboard.

It spontaneously occurred to us when playing with the modules that the left and right modules merge, just as the keyboard halves. This isn’t surprising given that the keyboard halves merge, and the shape of the modules is the inverse of the keyboard halves.

Then it also occurred to us that, given that the back of the modules feature magnets and magnet counterparts just as the UHK does, the modules and the UHK can be stuck together.

This allows for great portability despite the modular nature of the UHK, and as a bonus, it’s quite a conversation piece.

UHK reviews

LearnCode.academy has made an outstanding video review of the UHK, which we were quite flattered by. Will has praised many facets of the UHK, including its build quality, feature set, and ease of configurability.

Another spectacular review has been made by TechPowerUp. This one is extremely in-depth, contains tons of high quality pictures, and doesn’t only explore the outside of the UHK but its inside, too.

Your tweets

You guys keep sending your awesome tweets, and we’re always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2020-02-10.

Trackball and touchpad module progress

Hi there, and welcome to the monthly UHK status update!

TL;DR: We’ve made progress with the trackball and touchpad modules. Some outstanding UHK reviews have been published.

Trackball and touchpad module progress

I recently thought I’d finished the firmware for the trackball module and it would be ready to demonstrate for all of you. I can give you a demonstration, but it’s not what I was hoping for.

As you can see, the pointer moves in highly erratic fashion, and it heavily drifts toward the top right corner. I can affect the pointer by moving the trackball toward the bottom left corner, but the erratic movement usually overpowers my movements. I believe that this is a side-effect of insufficient filtering on the PCB, but it’s really just a wild guess on my part, and I’ve contacted PixArt, the manufacturer of the optical sensor who will help.

As for the touchpad, we’ve increased its resolution and sensing area.

The big footprint is for an optionally solderable 2x20 pin 0.1" connector that directly mates with the Azoteq CT210A-S dongle for configuration and diagnostics purposes.

The new design is a clear improvement over the old one, but we still have some work to do based Azoteq’s new feedback. The ground must be routed in a very specific way to maximize sensor performance. It’s not rocket science, just finicky. István is working on the next PCB version.

Next up, I’ll be working on the firmware for the trackpoint module, and will implement the suggestions of PixArt to make the trackball module work flawlessly. I hope that I’ll be able to showcase at least one, but hopefully both of these modules in our next monthly update. The key cluster module prototype is already fully functional, and the touchpad module will come last.

UHK reviews

Quite a few UHK reviews have been made recently. Let’s take a look at them!

ShopzadaPH has made an extremely thorough review featuring an unboxing, the keycaps, layout, switches, and configuration of the UHK. He really left no stone unturned, and the production quality is great. This one is highly recommended if you’re considering purchasing a UHK.

Thomas Ran is the king of the hill when it comes to mechanical keyboard reviews on YouTube, and he’s just reviewed the UHK. In his review, he emphasizes that he’s not an ergo guy, and yet, he’s done a great job of explaining the fundamentals of ergo boards and reviewing the UHK.

I met Christian Bäuerlein in 2018, as he's the organizer of Mechanicon, the meetup for mechanical keyboard enthusiasts in Germany. He recently offered to review the UHK, and given his formidable experience with mechanical keyboards, I gladly said yes. I think he’s done a great job of capturing the essence of the UHK in his review, including unboxing, assembly, layout, configuration, switches and keycaps.

Hardware.Info may well be the largest testing lab for computer hardware, peripherals and consumer electronics in the Benelux, which shows in their UHK review, as it’s so detailed, it’s almost like a mad science experiment. Thanks to the magic of Google Translate, English readers can read the translated English review, or read the original Dutch review.

Your tweets

You guys keep sending your awesome tweets, and we’re always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2020-01-10.

Key cluster and trackball module progress

Hi there, and welcome to the monthly UHK status update!

TL;DR: The key cluster module is now fully functional, and the trackball module is partially functional. Some awesome UHK reviews have been released.

Key cluster and trackball module progress

In our previous update, we shared a video about the latest key cluster module prototype. It worked reasonably well, but the responsiveness of its mini trackball left a lot to be desired. I’m happy to report that we’ve fixed this issue as you can see in the following video.

(UHKs are not backlit yet. We'll release a backlight upgrade kit at some point, and future UHK hardware versions will be backlit.)

As it turned out, the mini trackball only works well with bipolar hall-effect sensors, and now that we’re using the right kind of sensor, it picks up every tiny movement just as expected. I’m very pleased with the usability and responsivity of the mini trackball, and it feels like a great tool for scrolling in all directions.

As for the trackball module, I assembled the new PCB and gave it a try. As seen in the above video, the buttons work as expected. I haven’t yet implemented the most important part, which is the communication with the optical sensor IC - this will be my next task.

I’d like to make every module prototype work by the end of the year. The key cluster module already works well. The electronics of the trackball and trackpoint modules seem fine so far, and I have yet to write firmware for them, so they should be in close reach. The touchpad PCB is expected to be redesigned soon according to Azoteq’s instructions, so it may take a bit more time.

Following the prototyping phase of the modules, mass production will take additional time. We don’t have a solid ETA on the modules yet, and we’ll be keeping you updated.

UHK reviews

Minimalistik is a powerhouse when it comes to keyboard reviews, and he’s just made a UHK review. I believe he’s captured the essence of the UHK very well.

The Techne has also reviewed the UHK in his contagiously enthusiastic style which I particularly enjoy.

As an internationally known strength coach/personal trainer, Bernd Stößlein is not our typical customer, which is exactly what makes his UHK review so interesting.

Your tweets

You guys keep sending your awesome tweets, and we’re always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2019-12-10.

New Agent release and module progress

Hi there, and welcome to our monthly status update!

TL;DR: We’ve released a new Agent version after a long time without changes. We’ve made a functional key cluster module, and made progress with the trackpoint module.

New Agent release

It’s been a whopping ten months since we released the latest Agent version. We’ve actually been working on Agent since the latest release quite consistently, but weren’t able to publish a release due to the lack of a valid Windows Authenticode certificate. Long story short, we finally have a certificate, and recently released new Agent versions.

Feel free to check out the changelog on the GitHub Agent releases page. We’ve mostly fixed and polished a number of issues. A particularly useful feature is a dedicated Mac pointer speed preset which you should try out if the UHK mouse pointer movement feels slow on your Mac.

We’ve also implemented the fanciest UHK feature to this day: Agent shows whether the UHK is split or merged, and displays whether the left half is connected. Obligatory demo follows:

(UHKs are not backlit yet. We'll release a backlight upgrade kit at some point, and future UHK hardware versions will be backlit.)

Admittedly, this feature is pretty useless in itself, but it’ll actually be useful in the future. The same mechanism will be used to show the modules. Imagine connecting your modules, seeing them show up, and be able to configure them with a click of a button. And talking about modules...

Functional key cluster module

After a fair deal of prototyping, the key cluster module actually works. Again, obligatory demo follows:

You probably noticed the little thingie at the bottom of the key cluster module.

As you can see, it’s an FFC cable. Our current FFC cable manufacturer couldn’t make a cable of merely 13 mm length, so we used a much longer off-the-shelf cable for the time being. I actually doubt whether an FFC cable of such short length can be made, but an FPC (flexible printed circuit) can surely be made. But we’ll probably end up using a rigid-flex board as the best solution.

Apart from the above slight change, there’s another issue. I noticed that the responsiveness of the trackball is lacking compared to the previous prototype. The new, smaller hall-effect sensors are probably not sufficiently sensitive to pick up all the magnetic state changes of the mini trackball.

I wired the old mini trackball breakout board to the key cluster trackball board to be able to test it with the key cluster module, and the change in responsiveness was immediately apparent. The right board is super responsive, and the left one skips the beat very often, especially when moving it quickly.

I think we’ll revert to the previous hall-effect sensor, and try to pack them tighter to be able to fit them on the board.

Trackpoint module

We’ve made progress regarding the interconnection of the top and bottom trackpoint boards. There isn’t enough space for an FFC connector on the top trackpoint board which contains the actual trackball sensor, so the cable needs to be directly soldered to it. I designed an FPC for this purpose, and we plan to use hot bar soldering to affix it to the top board.

I used a soldering iron for prototyping purposes. So far, so good!

This module should work well, and I’m excited to write firmware for it, and for the rest of the modules.

UHK unboxing video

ShopzadaPH has made an awesome unboxing video of the UHK which you’re welcome to watch:

Your tweets

You guys keep sending your awesome tweets, and we’re always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2019-11-11.

Title