firmware

2019 Jun 13

Key cluster and trackpoint module progress

By |2019-06-14T00:20:19+00:002019-06-13 23:23|demo, design, electronics, firmware, modules, news, prototype, tech talk|6 Comments

TL;DR: We've been making progress with the key cluster and trackpoint modules. New orders ship in a week, except non-black UHK cases.

Hi there, and welcome to our monthly status update! Let's get right to it!

Production status

If you want your UHK shipped in a week, you should pick the black UHK case option. Otherwise your order will take longer due to temporary parts shortages. This shortage was mentioned in our previous monthly update, and we've been working on resolving it, but it's taking more time than anticipated.

If you have any questions about the ETA of your order, please do read the delivery status page. We keep this page up-to-date, and we're unable to provide more accurate information, not even if you email us.

Module progress

In our previous monthly update, I included a picture of the development board for the key cluster module. In the meantime, I've also written firmware to drive it, so here comes its obligatory demonstration:

From a technical standpoint, the BlackBerry trackball is an interesting little beast. The ball itself is not even electrically connected to the PCB. Instead, its four spindles rotate when pushed in the four directions. The spindles contain magnets which alter their magnetic fields about 9 times during a 360 degree rotation, and the alternating magnetic field is detected by the hall-effect sensors on the PCB.

Given its limited resolution, the BlackBerry trackball is hardly an ideal device for controlling the mouse pointer (right-sided modules will perform far better in that department), but it's very well suited for scrolling in every direction. I'm actually surprised how well it's already working, even though it's the first working prototype. Over time, we'll make the acceleration and speed of the mini trackball configurable, which will make it even more useful.

As far as the firmware goes, firstly, I slightly extended the UHK module protocol responsible for the keyboard halves and modules to communicate with each other. This allowed for the transmission of not only key states, but also pointer movement information. Then I wrote a driver for the BlackBerry trackball purely using interrupt handlers, which is the most efficient approach there is. Finally, I made the key cluster transmit the pointer movement information of the BlackBerry trackball to the right keyboard half which is the brain of the UHK.

The above pictures feature our most recent mechanical key cluster prototype. The creation of a working PCB is underway.

We've also made a mechanical prototype of the inside of the trackpoint module:

We may change the trackpoint component depending on various design constraints, but the overall mechanical design is expected to be close to final.

We've actually made progress with every one of the modules, but haven't yet prototyped the others. We'll be sharing all their juicy details in our upcoming newsletters.

Your feedback

You keep sending your nice tweets which we're grateful for! Please keep them coming!

We'll be keeping you updated on all things UHK, and we're looking forward to talking to you on 2019-07-10.

2019 May 16

New orders ship in a week

By |2019-05-16T21:20:32+00:002019-05-16 20:25|design, electronics, firmware, modules, news, prototype, tech talk|5 Comments

TL;DR: We caught up with pre-orders, and new orders ship in a week! Our customers made some awesome carrying cases for their UHKs. The UHK mouse mode is surprisingly useful, and viable for creating digital art. We're making progress with the key cluster module.

Hi there, and welcome to our monthly status update! Ready for warp? Let's punch it!

Production status

We're thrilled to say that we've finally caught up with pre-orders, and incoming orders now ship in a week!

There are two exceptions regarding order parameters, though. If you want your UHK shipped in a week, you should pick the black UHK case option and a non-blank keycap printing option. Otherwise your order will take a bit longer due to temporary parts shortages. Feel free to check out the delivery status page for more information.

Please note that the order numbers have been removed from the delivery page. If your order hasn't shipped yet, it's because of the above exceptions. According to the delivery status page, you can shoot us a mail to change your order parameters to expedite delivery.

DIY UHK carrying cases

Some of you shared your DIY UHK cases, and they're so awesome that I ended up writing a dedicated blog post about DIY UHK cases. I'm very impressed by these cases, and I'm sure they're of interest of many UHK owners.

Creating digital art with the UHK

There are few keyboards with a dedicated mouse mode, and the UHK might just have the best implementation of all. Brandon Yu's drawing is a testament to this.

I'm super impressed by Brandon's work, and wouldn't have ever thought that anyone would create such a beautiful drawing purely with the UHK.

The UHK mouse mode will never be as good as a dedicated mouse, but it's surprisingly capable in the right hands. This is due to the implementation of the mouse pointer acceleration and its number of configuration options.

Key cluster module progress

We've been making progress with the key cluster module. András got the latest CAD model 3D printed, and we're glad to say it's more robust than ever.

In the meantime, I've been doing some electronics prototyping.

On the right side, you can see a breakout board designed by SparkFun, featuring a BlackBerry trackball – the kind of mini trackball that will be put into the key cluster. It's wired to an old hand-soldered UHK left half. The left half of the UHK is just like a module from an electrical, firmware, and protocol standpoint, so it's a great development board for modules. The design of the key cluster PCBs is in progress, and this is the whole Frankenstein keyboard on my desk:

(Yes, my UHK is backlit. We'll release a backlight upgrade kit eventually.)

I also started to extend the firmware, and created a dedicated project for the key cluster module based on the firmware of the left keyboard half. The two projects contain a lot of duplicate code right now, so I'll be gradually extracting the shared code to a module API which will be consumed by all the modules.

Your feedback

You've been sharing more than your fair share of tweets over the last month. Thanks so much, and as always, please keep them coming!

We'll be keeping you updated on all things UHK, and we're looking forward to talking to you on 2019-06-13.

2018 Oct 12

UHK at Mechanicon, and fixing the freeze bug

By |2019-01-08T22:05:08+00:002018-10-12 21:56|firmware, modules, news|4 Comments

We'll be at Mechanicon, Frankfurt on November 3.

Feel free to check out our delivery status page for the estimated delivery date of your order.

Hi there, and welcome to our monthly status update! Let's get right to it!

Mechanicon

We got a nice invitation from Christian Bäuerlein, organizer of Mechanicon, the largest German meetup for mechanical keyboard enthusiasts. Based on the video and photos of Mechanicon 2017, it's quite an event, so we'll be there!

By "we", I really mean myself. I'll make sure to bring a couple of UHKs, so that you'll be able to give them a try. I've never been to Frankfurt, so I'm excited to be there, and meet with fellow keyboard enthusiasts.

I hope we can stretch the fun times, and nerd out even after Mechanicon ends at 20:00. Speaking of afterwards, if any of you could offer a couchsurfing opportunity in Frankfurt, I'd be more than happy to take it. I'd only stay for a night after the event.

Progress on the freeze bug

Miraculously, I was able to reproduce the freeze bug since our last monthly update, I believe I made a lot of progress after that, and committed a fix. Unfortunately, I don't have a sufficiently large amount of feedback to confidently say so.

Given the unusually rare occurrence of the bug, there's only one way to figure out whether the firmware is sufficiently stable: to flash it to production UHKs in the factory, which is exactly what we'll do soon. Worst case scenario: some of you will have to downgrade to firmware 8.2.5. In my mind, this is way better than having to stick to an old firmware version till the end of times.

Brett's review

An awesome UHK backer, Brett Terpstra wrote a very nice and aptly named article "I wrote a review of the Ultimate Hacking Keyboard for you nerds" on his blog which you're welcome to read.

To my surprise, Brett also talked about his UHK on his podcast called Overtired. Listen to episode 77, and jump to ~30:40 for the UHK part.

Max's new keycap set

Max's never-ending journey of pimping his UHK continues. His current creation is a black and white UHK.

In his true style, Max shared the keycap sets he used on Reddit, and posted a fair number of nice photos on Imgur.

In an interesting turn of events, Max and I have actually met in person since our last monthly update. It just so happened that he was crossing through Hungary, which served as the perfect excuse for the two of us to meet. We ended up talking for hours, mostly about keyboards as you can imagine. He's a great guy, I enjoyed his company very much, and I'm looking forward to seeing him again.

Module ETA

The standing ETA of the modules is December, but it's blindingly obvious that we won't make it in time.

This year has been unusually eventful. We had to scale up production which called for a manufacturing execution and fulfillment system that I developed from the ground up. Then we set up and fine-tuned our webshop. Soon, we'll have to transition to on-demand manufacturing which will call for quite a few backend system changes. And amidst all these happenings, we've been pushing the firmware and Agent further, and answering an increasing rate of customer inquiries.

We keep churning out the mini batches at a steady rate, and things are expected to settle down by the end of the year. Only from that point on we will be able to truly focus on the modules.

In the past, we have always laid out an ETA, often missed it, then updated the ETA. It's alluring to lay out estimates because it temporarily calms people down, and stops the seemingly endless flow of "When will my order arrive?" questions. But every time the ETA is not met, it erodes trust just a little bit more. We didn't mean to lay out bullshit ETAs on purpose, it's only so that hardware is incredibly hard to make, much more so than software, which is very hard by itself.

Given the above, I decided to not lay out an ETA for modules right now, only later when we'll be sufficiently close to their production. I'm confident that we'll make tremendous progress with them as soon as things settle down, and I welcome you to join to our journey of making the modules by following us via our blog or newsletter.

Thank you for reading this update! We'll be keeping you updated on all things UHK, and we're looking forward to talking to you on 2018-11-15.