2018 Aug 16

Webshop migration and manufacturing progress

By |2018-08-16T21:24:14+00:002018-08-16 21:24|manufacturing, news|8 Comments

Effective immediately, the Crowd Supply UHK pre-order page is closed. You can place orders in our own webshop from now on. Please read on for the details.

Hi there, and welcome to our monthly status update!

TL;DR: We’ve opened our own webshop! We’ve churned out 7 mini batches since our last update, which is the fastest we’ve ever produced. A ton of firmware progress has been made, but we need testers to fix a very hard to reproduce bug. We’ve received a lot of nice feedback from you, including a review.

Let’s start with the webshop migration, which is admittedly quite boring, but important.

Webshop migration

If you don’t plan to purchase more items from us, feel free to skip to the next section.

Crowd Supply has served us well. We launched a successful campaign, and they have been taking pre-orders up until this point, but now it’s time for us to take our own orders.

We have always wanted to run our webshop, because it allows us to provide the best possible customer experience. But setting up a decent shop is easier said than done. We’ve been very busy with bringing the UHK to market, so it’s taken quite some time for us to make our shop happen. Luckily, our efforts have come to fruition, and now our webshop is up and running.

At the same time, we’ve closed our Crowd Supply shop, so going forward, you can only order from our webshop. In the spirit of transparency, we’ll share everything you ever need to know about our shop. Please read on.

Delivery status

The delivery status page that contains the order ids of Crowd Supply orders will also contain the order ids of our webshop. I’m working on integrating this page with our webshop, which may take a week or two.

Please note that our webshop has just recently started, so its order ids are in the hundreds vs the order ids of Crowd Supply which are in the tens of thousands. To make this distinction clear, the order ids of our webshop will be prefixed by “#”.

Our first-come, first-served delivery policy will not be affected by this transition regardless of which webshop you ordered from.

New shop features

Our new shop offers quite a few advantages:

First, you can choose three separate currencies: USD, EUR, and HUF. The prices of the relevant currency will be shown. This results in no conversion fees if you happen to use one of these currencies.

Second, you can pay not only with your credit card, but also with PayPal. Over time, we plan to introduce further payment methods.

Third, there are separate product pages, and the pages of configurable products contain a visual product configurator. You can see a preview image that shows the exact product that you’ll receive.

Fourth, our webshop generates proper invoices. This is mainly beneficial for company purchases.

Shipping

When it comes to shipping, the first thing to highlight is delivery times. So far, we’ve directly delivered from Hungary to the EU, which is great, because it only takes about a day or two for the packages to arrive. Delivering outside of the EU however has been less than ideal because we previously sent those packages via Crowd Supply (Portland, USA). It takes a couple of days for them to receive the packages, then it can take a week or two until they forward them. It’s especially painful for countries outside the EU and USA because it can take as much as a month to receive the package starting from the day we shipped it!

This had to change, so going forward, when you order from our webshop, we’ll send the package directly from our factory in Hungary to you which shouldn’t take more than a couple of days regardless of your country.

When it comes to shipping costs, Crowd Supply has a very simple pricing structure: shipping free to the US, and $24 to everywhere else. This clearly doesn’t reflect the actual cost of shipping, because it does cost money to ship goods to the US, and the shipment of smallish packages is often cheaper than $24 outside the US.

Our philosophy is that we don’t want to earn or loose on shipping. We will simply pass the shipping cost to our customers. We use DHL, and we’ve made quite a good deal with them. The current shipping costs are based on the weight of the package, and your destination. You can see the actual shipping cost on the cart page of our webshop. For example, it currently costs $15.14 to ship a UHK to Switzerland, $19.03 to the USA, and $29.93 to Japan. For some of you, it’ll be cheaper, but for those of you who will pay more (mostly because of your location), it’ll be a lot faster!

Multiple / aggregated orders

If you have made orders on Crowd Supply, feel free to make further orders in our shop. In this case, please specify the same email address as on Crowd Supply. This way, we’ll be able to aggregate your Crowd Supply and non Crowd Supply orders, and ship them once if you happen to be from the EU. The reason order aggregation only works for EU customers is because we need to ship to non-EU orders separately via Crowd Supply.

If you make multiple orders in our own webshop then the shipping cost will always added for every single order. Given that we’ll ship your orders together, the actual shipping cost will be lower. The way we’ll make this fair is that upon delivery, we’ll take the sum of the shipping costs you paid, subtract the actual shipping cost of the package that contains all your orders, then refund the difference to you.

EU VAT

Please note that this section only applies to EU citizens and companies. Feel free to skip to the next section if it’s not relevant to you.

According to tax laws, VAT must be paid when purchasing goods within the EU. The VAT rate of the origin country applies, which is 27% in Hungary. This means that given a $100 product, the final price will be $127 with VAT included, unless you’re a company.

Some of you may have noticed that this seemingly wasn’t the case so far. Our items did cost the same worldwide, the EU included. This was possible because we actually reduced the net prices of items for EU customers to offset the VAT, so we were willing to take a heavy hit on our margin for making our pricing more competitive for EU customers.

Starting from now, we won’t offset our prices anymore, and VAT will be applied. If you don’t want to pay VAT in the EU, your only choice is to purchase the goods as a company. In this case, you’ll have to provide your company’s valid EU VAT number on the checkout page, and then VAT will not be added, and it will not be featured on the invoice.

Discounts

The 10% discounts are still in effect in our new shop. We’ll remove the discounts of non-module items once all these pre-orders shipped. Afterwards, we’ll remove the discounts of module items once all these pre-orders are shipped.

Who to contact?

Regarding the items that you purchased on Crowd Supply, contact them at orders@crowdsupply.com. Regarding the items that you purchased in our webshop, contact us at support@ultimatehackingkeyboard.com.

Manufacturing progress

Since our last update, we’ve sent out mini batches 16, 17, 18, 19, 20, 21, and 22, which is, yet again, the highest volume batch we’ve produced so far. The production throughput of the last month is 84% of what we planned, so we’re quite close, and working to increase it further.

We’ve just looked into the stats and realized that we’ve already shipped most of the pre-orders. We shall proceed further.

Firmware progress

Eric, our intern has been hard at work. He’s implemented the macro engine, vastly improved the debouncing algorithm, fixed various bugs related to secondary role handling, and more. What a huge step forward! All of these changes are part of the latest pre-released 8.4.4 firmware.

And still, the latest stable firmware release that is recommended and which is flashed in our factory is 8.2.5 which is 152 commits behind the tip of the master branch! This drives me crazy. And why’s that? Because of the freeze bug.

This bloody bug makes the UHK freeze once in a while. The trick is that it’s extremely hard to reproduce. On my UHK, it hits less than once in a month. On some others, it’s considerably more frequent, and occurs on a daily basis.

I could go on and on about this bug, but the bottom line is that if you want to use the new features and improvements while still having stability, then please flash the latest pre-release firmware, subscribe to the freeze bug GitHub issue, and let us know your findings. We’ll release new firmware versions shortly, and will ask you to test them for stability and share your feedback. The faster and more detailed feedback you provide, the quicker we can fix this bug. And you can always downgrade to 8.2.5 if the freeze bug hits too often before we fix it.

Your feedback

Kyle Holgate, an awesome backers of ours wrote a review about his UHK. It’s a very nice write up, and you’re welcome to read it.

Meanwhile, Max, in this true style, was busy with pimping his UHK yet another time, created the most nuclear UHK to this day, and made quite some noise on reddit. Please keep up the great work, Max!

You guys keep sending us your nice mods and feedback all over the interwebs. We’re honored and delighted!

Thank you for reading this update! We’ll be keeping you updated on all things UHK, and we’re looking forward to talking with you on 2018-09-13.

2018 Jul 12

Knee-deep in production

By |2018-07-12T20:31:46+00:002018-07-12 20:23|news|31 Comments

Important: Please make sure that your shipping address is up to date! You can change it on your Crowd Supply account page. Please also check out the delivery status page.

Hi there, and welcome to our monthly status update!

TL;DR: Since our last update, we’ve sent out mini batches 10, 11, 12, 13, 14, and 15, which is, yet again, the highest volume batch we’ve produced so far, but not as high as we aim for. We had to allow a week of vacation for our staff in the middle of summer. Without the vacation, we’d have likely hit our target volume, so the ramp-up is still not over. Apart from manufacturing, Agent and the firmware keep advancing, and some major progress is expected soon.

Your recent feedback

A monthly UHK update wouldn’t be complete without featuring your awesome feedback.

Our first English review is out on Reddit, which you’re welcome to read! As creators, reading such nice words is all we can wish for.

But Max, the writer of this review didn’t stop there, and pimped his UHK with the third-party Canvas XDA keycap set.

And Max still couldn’t get enough, so he ended up writing a full-blown UHK keycap replacement guide on Reddit! Thanks so much for the great work, Max!

Third-party keycap sets are clearly in the vogue nowadays. We believe the following picture is quite a sight!

And you keep sending us your nice tweets:

Last but not least, even Michael Bolton approves the UHK.

Please keep it up! We love hearing from you.

Agent and firmware progress

We keep pushing Agent and the firmware at a steady pace. Most of these improvements come in small increments, and many of them are under the hood changes, so it’s hard to notice them. But they add up in a big way over time, and every now and then some user-facing changes are committed.

Some of you found it cumbersome to remap keys on all keymaps and/or layers, so we extended the UI of Agent accordingly. The tooltip should speak for itself.

We also added a separator line between the halves, so it’s easier to locate keys.

The above are frontend changes, but there’s a lot more going on under the surface.

Recently, we’ve been working hard on fixing a Windows-specific firmware bug that is responsible for media key repetition, and not letting your computer go to sleep on Windows. We’ve managed to fix this bug, but then a nondeterministic bug emerged which made the UHK hang sometimes only after hours, which turned out to be very problematic to fix. We believe that we did fix it, but I want to test it thoroughly before releasing a new firmware version.

The new firmware release will also contain a major feature: the macro engine! We promised macro support a long time ago, so we’re super excited to make it happen. Agent is already capable of editing macros, but the macro engine of the firmware is a critical piece of the puzzle to make macros actually work on your UHKs.

Let me just say that we’re super focused on implementing the promised features, and even more so on fixing bugs. One reason is that they directly translate to a great user experience. The other reason is that as more and more UHKs make their way to you, we keep getting a lot of reports of the same issues, so fixed bugs directly translate to lower overhead. Please do keep reporting bugs, but always use the latest Agent and latest stable firmware versions.

Running production, developing Agent and the firmware, and answering messages is a lot to deal with at the same time, and as a result, we couldn’t devote time for the add-ons over the last month. We’re asking for your patience, as we’re rather overloaded nowadays.

Thank you for reading this update! We’ll be keeping you updated on all things UHK, and we’re looking forward to talking with you on 2018-08-16.

2018 Jun 23

How can I type accented characters with my UHK?

By |2018-06-26T12:32:17+00:002018-06-23 23:55|tech talk|12 Comments

We get this question from time to time, and the answer is not so obvious as one might think. I'm about to explain it in depth, but first I'll give you the short answer in case you're in a hurry. Please consider the relevant tooltip of Agent:

Hopefully, this explains what to do. You're welcome to suggest a better phrasing in the comments, but this is the short and sweet version. And now on to the more detailed explanation.

Characters vs Scancodes

The most important thing to understand is that USB keyboards (the UHK included) do not send characters to your computer. No, Sir. They send scancodes. When you press a key, a scancode of 1 to 255 gets sent to the computer. It's not a character, but a number!

Now think about this: There are 255 different scancodes which must be mapped to more than 100,000 characters that are used on planet Earth! How so? This is how:

Your operating system translates scancodes to characters based on your actual operating system keyboard layout.

Let me give you an example to make you realize the crucial role of your OS layout. Let's say that an American, a German, and a Russian user purchase USB keyboards of the same physical layout. Now let's take the semicolon key according to the American layout. On all three keyboards, when pressing this key the scancode 51 gets sent to the computer, yet, the character ";", "ö", and "ж" appear of the screen of the American, the German and the Russian users respectively, merely because they use different OS keymaps.

When it comes to mapping scancodes to characters, the situation is actually slightly more nuanced because modifiers also affect the mapped characters. For example, on the US layout Shift + 4 produces "$", and on the Hungarian layout AltGr + U produces "€", but this doesn't alter the nature of the beast.

Alt codes

There's a mechanism called "Alt codes" which allows users to produce various accented characters in a way that is (mostly) independent of the current OS keymap.

  • On Linux, press Shift+Ctrl+U which prefixes your cursor with an "u", indicating that now a unicode number is expected. At this point, enter "2764" followed by Enter and ❤ will magically get inserted. Linux Alt codes are the most powerful and most standard given that they're backed by unicode numbers.
  • On Windows, first you have to have Num Lock enabled. Then hold an Alt key and press a Windows-specific numeric code, and finally release the Alt key at which point the relevant character will be included. Merely 375 different characters can be included this way.
  • On Macintosh, there's also a similar mechanism that is better called Accent Codes. Let's say you want to put an accent to the "o" letter. You press Option+E, then press "o" which results in "ó". The set of characters that can be produced this way is similarly limited as on Windows, although in true Mac fashion, the implementation is much more intuitive.

Alt codes provide a way to output various characters in a way that is mostly independent of the current OS keymap, but they're OS-specific, and they don't work in every environment. For example, let's say that your hard drive is encrypted and you have to type a password before the OS boots up. Depending on your OS, Alt codes may not be available at this point. On Linux, they also can't be used in terminals outside of the X server, so you can't rely on them in every environment.

Alt codes on the UHK

Given that Alt codes are sequences of keystrokes, they're ideally suited to be assigned to keys using macros. At the time of writing this post, I have to note that macro support is not yet implemented by the UHK firmware but it'll be coming, so regardless I'll elaborate on implementing Alt codes on your UHK.

The macro editor of Agent is very intuitive to use, and based on the above one should be able to create macros that implement Alt codes. There are some gotchas, though.

First up, Alt codes are OS-specific which will pose a problem if you use multiple OSes. If so, you'll have to create all your Alt code macros for every OS you use, and then create OS-specific keymaps in Agent and bind the macros of the respective OSes. This is clearly laborous, but there's no way around it. We won't implement USB fingerprinting in the UHK firmware to detect OSes because it's fundamentally unreliable.

The second gotcha is that you won't be able to compose Alt codes with modifiers. Imagine holding Shift, then typing Alt code key sequences, then releasing Shift. Modifiers clearly mess with Alt codes.

Third, some Alt codes are dependent on the state of your OS. You have to have NumLock enabled for Windows Alt codes, and Mac accent codes are dependent on the OS keymap in use.

Accented characters in Agent

Some of you were wondering why Agent doesn't offer or display accented characters. This is one of those features that seem like a no-brainer from a user perspective, but in practice, it's not only incredibly hard to implement, but cannot be implemented properly. Let me tell you why.

In order for Agent to expose accented characters, it must be aware of the current OS keymap. Being a cross-platform application, it'd have to query the actual keymap on Linux, Mac and Windows. A quick search reveals ways to query this information (often rather obscure ways) via OS-specific APIs, but I have found no way to query the actual mappings between scancodes and characters which is critical.

Without the exact, per-key mappings, Agent would have to have a database of every single OS-specific layout, such as "French (Bepo, eronomic, Dvorak way, Latin-9 only)", or "Russian (Ukraine, standard RSTU)". We could extract such a database from the relevant Linux packages, but these layout names are not standardized so they're inconsistent across OSes and the mappings surely differ in some ways.

The bottom line is that it'd take huge resources to implement the above, and we'd end up with a half-assed implementation given that a perfect implementation is practically infeasible. Even if we were able to implement this perfectly, I don't think it would be a good idea. I can foresee users complaining that they set up the é key in Agent, then plugged their UHK into another machine (featuring a different OS keymap), and the é key suddenly became semicolon. Users should actually understand how things work when it comes to this topic.

That's it, folks! If you're still reading, then you're truly one of the brave few. Any questions, feel free to shoot them in the comments.

2018 Jun 14

Production and add-on progress

By |2018-07-06T01:18:43+00:002018-06-14 16:58|add-ons, news, prototype, tech talk|8 Comments

Important: Please make sure that your shipping address is up to date! You can change it on your Crowd Supply account page. Please also check out the delivery status page.

Hi there, and welcome to our monthly status update!

TL;DR: Since our last update, we’ve sent out mini batches 5, 6, 7, 8, and 9. This is the highest volume we’ve produced so far, but not as high as we ultimately aim for. We’ve fallen behind with pre-assembly due to the aforementioned staffing issues, but we’re catching up, and the ramp up is still underway. The development of the add-ons is in progress.

First up, let us share a beautiful and very original picture that we love very much. It’s made by Yukio Miyamoto. He is a masterful illustrator who also happens to be an awesome backer of ours.

Your recent feedback

The feedback you keep giving to us continue to be amazing.

The following is an interesting one. Did you know that when armed with a USB OTG cable, you can connect your UHK to your Android phone, and you can probably also control the mouse pointer? (Recent Android kernels tend to support USB mice.)

Lastly, this one made us laugh out loud:

Please keep them coming! We’re excited to hear about y’all.

Add-on progress

Production does keep us busy, and we can’t yet devote as much time for development as we’d like to, but we’ve made some progress with the add-ons.

The following is sitting on my desk, and it might just be the weirdest keyboard ever.

But most importantly, this Frankenstein keyboard is a proof of concept! This is 1 UHK right half and 3 left halves interconnected. The top left half simulates a left add-on module, and the top right half (which is a left UHK half) simulates a right add-on module.

The keyboard halves and add-ons communicate via the main I2C bus of the UHK. The right UHK half is the I2C master which initiates all communication on the bus. The rest of the devices are I2C slaves. From the standpoint of the firmware, there is no difference between the left keyboard half and the add-ons.

I basically dremeled a protoboard to size, and created a passive 4 port 4P4C hub out of it to interconnect the pieces. Then I added test keymaps for the add-ons, and reflashed the firmwares of the left add-on and the right add-on module, so that their I2C addresses don’t clash with the I2C address of the left UHK half.

This proof of concept works as intended, and now I can type on all the 4 keyboard halves, making me seem like I overcompensate for something.

As you can imagine, this is the first step of many to follow. Next up, I will extract the part of the firmware that will be shared across the add-ons and the left half, and then create separate firmware projects for the add-ons, utilizing the extracted code.

Then I’ll attach the peripherials specific to the individual add-ons to these development UHK left halves, and write firmware code to drive them.

In the meantime, András will finalize the plastic cases and mechanical design of the add-ons, so that they’ll be optimized for manufacturing. This will, in turn, enable me to design the custom PCBs of the add-ons.

In a way, developing the add-ons is like developing additional products – 4 products to be exact, and even though we’ve gained a lot of experience, realistically speaking, there’s no way the add-ons will be ready by the end of August as originally planned.

Given the above, we’re changing the estimated delivery date of the add-ons to the end of December which should be more realistic. None of us are happy with delays, but we’d much rather take our time than compromise the quality of the product even the slightest bit. According to your feedback, it’s the right thing to do.

Thank you for reading this update! As always, we’ll be keeping you updated on all things UHK, and we’re looking forward to talking with you on 2018-07-12.

2018 May 17

Churning out mini batches

By |2018-05-17T21:18:10+00:002018-05-17 21:18|news|0 Comments

Important: Please make sure that your shipping address is up to date! You can change it on your Crowd Supply account page. Please also check out the delivery status page.

Hi there, and welcome to our monthly status update!

TL;DR: Since our last update, we’ve sent out mini batches 2, 3, and 4, and mini batch 5 is almost finished. Due to staffing issues, this volume is about half of our production target. We hired new employees, and expect to reach our target production capacity in about two weeks. The feedback we received from you has been overwhelmingly positive, and we’ll be working hard to keep it that way.

We get the hint, and feel inclined to advertise the UHK in coffee shops all around the world. Be careful though, your UHK doesn’t like coffee as much as you do.

Production progress

Almost four mini batches (about 240 UHKs with accessories) per month is a decent amount of output compared to our earlier progress, but we need to do eight in order to fulfill every current pre-order by the end of August.

The reason for this slow performance is staffing issues. Two of our assembly workers left recently: one permanently and another temporarily. Their timing couldn't have been more unfortunate, and deeply affected manufacturing progress.

We've hired two assembly workers recently, will hire another very soon, and the person who temporarily left will be back in 2 weeks. We're confident that assembly will ramp up very soon and proceed just as planned.

Delivery progress estimation

The delivery status page I originally created was decent, but not great, as backers couldn’t see their place in the queue and their estimated delivery date. Given the endless storm of “when will my order be delivered” emails, I ended up extending the page functionality.

Meet the always up-to-date delivery estimation section of the delivery status page that will tell you the estimated date of your order using a sophisticated set of algorithms and deep neural networks. Seriously though, it’s pretty simple, but does the job.

Please disregard the estimation date of your orders on Crowd Supply, and instead check out our page as it contains much more accurate estimation.

Development progress

Since our last update, we’ve published two Agent releases and four firmware releases. These releases contain bug fixes and improvements. You’re welcome to check out the list of changes and update if you want to.

Both András and I have been very busy with manufacturing as of late. We couldn’t be more excited to work on the add-ons, but production takes priority now. We’re doing our best to streamline the manufacturing process and dedicate more time to development, which will surely happen soon.

That’s it for now! Thank you for reading this update! We’re excited to talk to you again on 2018-06-14.

2018 Apr 20

Production is up and running

By |2018-04-20T09:08:46+00:002018-04-20 08:35|manufacturing, news, tech talk|31 Comments

Important: Please make sure that your shipping address is up to date! You can change it on your Crowd Supply account page. Please also check out the delivery status page.

Hi there, and welcome to our monthly status update!

TL;DR: Our factory is up and running! According to the aforementioned delivery page, we’ve already sent out the first mini batch, so some of you should get your orders within days. Given our most recent production data, we’ll be able to deliver batch 1 of 2,000 UHKs and related accessories by the end of July. Many of you will get your orders much faster depending on your place in the queue. Everything’s looking great, and we’ll be transitioning to the add-ons soon.

Some UHKs of mini batch 1:

Manufacturing progress

Launching mass production wasn’t exactly a smooth ride, which wasn’t really surprising after all. Given our past experience, some things inevitably go wrong despite our best efforts.

We observed that some LED segments displayed gibberish – that is, unidentifiable characters. It was quite a challenge to figure out the root cause of this, but András succeeded. Apparently, the space is very tight around the FFC cable and when the case is on, it bends the cable and some pins don’t connect. The solution? We just have to bend the FFC cables in an M shape prior to assembly.

We also noticed that some pins of some through-hole components, most notably the keyswitches and the 4P4C connectors, weren’t soldered in on some boards. We talked to our PCBA supplier who told us that their selective wave soldering machine had been misbehaving and got serviced recently. They will also use a 3-dimensional automated optical inspection machine from this point forward which should greatly reduce defects. The problematic boards will be reworked.

Then we were faced with a couple of bent plates. We have yet to figure out how these plates could possibly bend, but for the time being, we’ll do heavier QA until the cause is revealed and eliminated.

And lastly, a critical piece of launching manufacturing is our custom developed order fulfillment and manufacturing execution system that I’ve been working full steam on in the last couple months. It felt like building a runway while the plane takes off, but the runway has been built just in time, and now the plane is in the air.

Given the above issues, we started up slowly. According to our most recent measurements based on actual production data, we will be able to ship about two mini batches per week, which equals about 120 UHKs and related accessories. Given this pace, we’ll be able to deliver batch 1 by the end of July, so this is our current delivery target. Of course, many of you will get your orders way faster depending on your place in the queue.

Agent and firmware progress

Starting with the latest firmware, it’s now possible to wake up the host computer with a touch of a key. The LED display also gets disabled when the host sleeps to save power. See the firmware changelog and releases.

Agent got a shiny new desktop icon, it now displays the firmware versions running on the halves of your UHK, and can recover UHKs with broken configurations. See the Agent changelog and releases.

Going forward

The next big milestone is clear: the add-ons. The add-ons clearly differentiate the UHK from every other keyboard in the market, and make it the first and so far only modular keyboard ever created.

Personally, I can’t wait to control the pointer in various ways in a finer grained manner without leaving the home row, and I know that a lot of you share our enthusiasm. I’m sure the journey will be just as exciting as getting there, and as always, we’ll make you part of the journey via these updates.

Thank you for reading this update! The next one will be published on 2018-05-17. In the meantime, feel free to keep checking the delivery status page of your much awaited UHKs.

2018 Mar 15

Pre-assembly progress and last minute issues

By |2018-03-15T21:57:35+00:002018-03-15 21:57|manufacturing, news|10 Comments

Hi there, and welcome to our monthly status update!

TL;DR: We’ve pre-assembled the parts of 2,000 UHKs. Things are progressing rapidly, but color-matching plastic parts and pad printing them accurately was more problematic than anticipated. The rejected parts are being remanufactured and are expected to be ready by next week, at which point the assembly and delivery of batch 1 of the first 2,000 UHKs will begin.

We’ve set up a dedicated delivery status page which you can check out to get up-to-date information on how delivery proceeds.

Mechanical issues

It never ceases to surprise us how seemingly mundane things can go sideways, such as color-matching, or accurate pad printing. Take a look at the following picture.

As you can see, the color of these case buttons is inconsistent. This is the first time we molded all case colors, and some mistakes were made due to lack of experience with the coloring agent. As it turned out, this is not the only thing that can go wrong when it comes to the case buttons.

Then we observed that the vertical positions of the Space and Mod labels considerably differ because the pad printing wasn’t set up accurately.

We’ve had our fair share of WTF moments during the manufacturing process. I mean, what can possibly go wrong with seemingly trivial parts like the above? The answer is, as you can see above, a lot. And when one thing goes sideways, the delay of every relevant supplier in the chain adds up, and trivial mistakes can end up costing weeks.

The case buttons are being remolded, and they’ll be pad-printed by the next week, at which point we will finally be able to start up the manufacturing of batch 1.

Setting up manufacturing and fulfillment

As I elaborated in our previous update, all UHK option combinations considered, there are 240 different UHK types to choose from, so we have to track orders individually during the manufacturing process, which calls for a custom manufacturing system. We also purchased a fair bit of related hardware, like label printers, barcode readers, and wall-mounted displays to aid assembly workers.

Recently, I’ve been hard at work, developing our custom manufacturing execution and order fulfillment system from the ground up. It’s surely an unwelcome detour amidst of all our responsibilities, but it’s absolutely necessary, and it’ll give us a competitive edge in the long run. The system is already running well, and we’ll be able to start manufacturing next week. I’ll likely have to tweak it during this month, and afterwards we’ll finally be able to give some much needed love to the add-ons.

Miscellaneous

You’re welcome to check out the new releases of Agent and the firmware as some improvements have been made which you can benefit from.

Even though a lot of progress has been made since our previous update, we don’t have too much to show besides the above. According to our current schedule, batch 1 will be delivered from March to July and batch 2 will follow very closely. Again, feel free to check out our delivery status page any time if you’re interested in our up-to-date progress, and follow up on social media.

That’s it for now! Thanks for reading this update, and talk to you on 2018-04-19!

2018 Feb 15

Ramping up production

By |2018-02-15T22:13:20+00:002018-02-15 22:13|manufacturing, news|16 Comments

Hi there, and welcome to our monthly status update!

TL;DR: We’ve assembled 500 PCB panels, and the parts for the first batch of 2,000 UHKs are being pre-assembled. Right after pre-assembly, the final assembly of the keyboards will proceed. We plan to ship the first batch (ordered before 2017-07-13) of 2,000 UHK from March to May. Closely after the first batch, we expect the ship the second batch (ordered on or after 2017-07-13) starting from June. We’ll ship every non-module items together on a per-backer basis.

Regarding the estimated shipping dates, please note that we can’t precisely tell you when we will ship your order because we have a multi-step manufacturing process in place, and there are some variables involved. As a general rule of thumb, the sooner you ordered, the sooner we’ll deliver. We’ll send out a shipping notification email when the time comes. Also, we can’t move you ahead in the queue because it’d be unjust towards earlier backers.

Price Increases

Effective immediately, we are raising the prices of the following items:

  • UHK: $240
  • Modules: $60 per piece (no bundles anymore)
  • Extra UHK keycaps: $25
  • Extra UHK case: $25

As we elaborated in our previous update, the cause of this raise is the heavy weakening of the US dollar. We don’t plan to raise prices again until delivering all the pre-orders of both batch 1 and batch 2, at which point we’ll raise them by about 10%, which will be the final prices.

500 PCB Panels Assembled

Shortly after our previous update, we started assembling the first 500 PCB panels.

Compared to the pilot run batch of 50 panels, this was a 10x increase. Fortunately, everything went smoothly, and 500 out of 500 panels passed the test.

I was in the factory and flashed every one of these panels. I had no choice, because our custom flashing procedure and software is not sufficiently user-friendly yet. I found this experience to be extremely valuable, because now I can not only make this more user friendly in order to be able to delegate it, but also faster and more robust.

Pre-assembling UHK Parts

Currently, the parts of the 2,000 UHKs in batch 1 are being pre-assembled. After pre-assembly, we’ll be assembling and shipping every non-module orders from March to May, on a weekly basis.

Powder-coated palm rest base plates

Colored cases

All things considered, we’re proceeding well with pre-assembly, although colored cases gave us a hard time. As it turned out, the coloring agent makes plastic more rigid, and it resulted in several broken cases when pushing the threaded inserts into the plastic. For the time being, we preheat the inserts before pushing them into the cases which solves the issue. In the future, we plan to slightly tweak the mold to avoid this extra step.

Another challenging aspect of the upcoming assembly process is the staggering amount of SKUs. Currently we offer 2 layouts * 5 case colors * 4 keycap printing options * 6 key switches = 240 variations, probably making the UHK the most physically configurable keyboard on the market.

Internally, we have to track every UHK to make sure that the correct options are implemented during the various assembly stages. This is vastly more complicated than offering a handful product versions, and I had no choice but to develop a custom production management and fulfillment system to deal with this situation. Some parts of the system are already working, and I’ll be focusing on this in the near future to make production and fulfillment a smooth ride.

While dealing with production, we haven’t forgotten about Agent and the firmware and we keep improving them. We released new versions recently, and you’re welcome to grab the latest Agent and flash the bundled firmware to your UHK. Also feel free to check out the Agent changelog and firmware changelog. We’ll keep making incremental improvements until we smash every bug and make the user experience heavenly smooth.

UHK Photos

A while back, we only had photos of our prototypes, which didn’t do justice to the final product, so we took a few photos of a production UHK. We’re quite excited about these photos, and would like to show you some of them below.

And that’s it! Right now, our primary focus is the delivery of batch 1 and, closely after that, batch 2 orders. After that, we’ll focus on the modules. In true UHK style, we’ll be keeping you updated.

Thank you for reading this update, and talk to you on 2018-03-15!

2018 Jan 19

Pilot run success and what’s next

By |2018-07-06T01:19:38+00:002018-01-19 02:36|add-ons, manufacturing, news, tech talk|23 Comments

Hi there, and welcome to our monthly status update!

TL;DR: The first 50 UHKs and palm rests of the pilot run were delivered, and according to the feedback we received it was a huge success! The recipients of the pilot run gave us a ton of feedback, so we’ll go over the issues they encountered, and tell you how we’ll fix them in upcoming batches. We’re raising the price of the palm rest to $55, and we’ll raise the rest of the items by 10% soon. We plan to deliver the remaining 1,950 UHKs of the first batch from February to April. We’re putting an increasingly heavy emphasis on finalizing and manufacturing the add-ons.

The Pilot Run Was a Huge Success

It’s one thing to design a product, and another to ship it to all over the world. András and I poured our hearts and souls into this project, we obsessed about the smallest of details, and even though we were definitely hoping for the best, we couldn’t know for sure how much you’d like the end product, so it’s safe to say that we were excited.

I’m happy to say that the feedback we received from the recipients of the pilot run was absolutely fantastic! You praised the overall build quality, the nice packaging, the onboarding experience, and the ease of use of Agent among other things.

Let me feature a couple of your tweets:

Thanks so much for the posts, everyone! Your enthusiasm and support have been overwhelming!

Pilot Run Issues

Despite its success, the pilot run wasn’t without issues. In the spirit of transparency, we’ll go through all of the issues you encountered.

Smashed Boxes

There are two small boxes within the main UHK box which got smashed on four occasions out of the fifty pilot run units. We believe that some of these occurrences went unreported, and there may be more. This is what a smashed box looks like:

We spent a ton of time and a fortune on packaging, so this is a big deal. Even worse, on one occasion, even the case of a keyboard snapped apart. Luckily, the owner managed to snap it back with a bit of pressure, but this doesn’t make the issue any more acceptable.

According to the reports we received, only USPS-shipped UHKs were affected. We’re not sure whether it was due to the holiday madness, or if it’s a general issue, but we reinforced the boxes, which will hopefully resolve this issue in the long run.

Sharp USB Cable Recess

There are two recesses in the case which hold the USB cable and they’re way too sharp and chew up the USB cable quickly.

The mold has already been modified, so the edges should be smooth going forward. A backer reported that he easily managed to sand down the sharp edge, resolving the issue in no time. If you’re affected, you might want to do the same, but if you want a replacement case, please just let us know.

Loosely Connected LED Display

Some of you reported strange artifacts appearing on your LED display, which is a sure sign of a loose FFC cable.

The FFC cable connects the display with the left main board. Apparently, we could have done a better job connecting them during the assembly process. As a result, the cables of two UHKs got loose during shipping. We’ll try our best to more thoroughly assemble future batches.

This issue called for our first ever repair guide. We have already emphasized the importance of repair before, and this was the golden opportunity to follow our words up with action. Both affected backers were able to fix the issue using the guide and they even contributed to it. Thanks so much!

Just to get things straight, we don’t expect anybody to repair his/her UHK, but the opportunity is there, and we encourage repair in general. It’s certainly much faster than sending it back and forth to the other side of the world, and especially useful after the warranty period is over.

Feet Molding Issues

On two occasions, visible artifacts were noticeable on some feet.

This is clearly an injection molding issue. We’ll do heavier QA in this respect.

Software and Firmware Issues

A number of issues have been reported recently in the firmware and agent repos. The vast majority of these issues are not critical, but they affect usability in one way or another.

Understandably, we’ve been mostly busy with the critical issues. The most critical was a firmware issue that made the UHK freeze after a while. This was really annoying because it was super hard to find the root cause of it. Luckily, it looks like we’ve been able to resolve this, and it shouldn’t affect more people.

There was another critical issue in which the left keyboard half got bricked during the firmware update process. I’ve made the update process more robust, and improved the update script, which unbricked the unit. This script feature will be integrated into Agent soon. The UHK should very rarely get bricked, and when it happens it should always be unbrickable.

Going forward, we’ll be addressing all of the issues of the agent and firmware repos, but there’s a lot on our plate nowadays, so some may take a while. We’re doing our best.

All Hail Our Contributors

Mikko Lakomaa, an early contributor of ours, switched into high gear after receiving his UHK, and implemented two much-welcomed issues. Thanks to the fruits of his labor, now we can adjust mouse speed and LED brightness via Agent.

Thanks so much for your contributions, Mikko! It’s nice to see Agent improving so rapidly.

Price Increases

Effective immediately, we’re raising the price of the palm rest to $55, and we’ll raise the rest of the items by 10% soon. Let me explain why.

When we originally envisioned the UHK palm rest, its design wasn’t finalized, and we weren’t sure about the materials and technologies we’d ultimately use to craft it. We were also unfamiliar with the costs involved. As the design progressed, we were consistently moving toward an increasingly high-end, premium product which inevitably added to its cost, so much so that up until this point we haven’t had any profit on the palm rests when selling them for $30.

For what the palm rest is worth, $55 is still a bargain considering the market prices. If you search for “wooden wrist rest”, $40 is a usual price tag, but those palm rests are made of one wood piece, not two pieces, don’t feature powder coated black plates, and their geometry is less ergonomical (simpler, thus cheaper to machine) than the UHK palm rest.

Eventually, we’ll further raise the price of the current wooden UHK palm rest to about $80 which is a reasonable market price, but before doing so, we plan to offer a less premium, and more affordable palm rest in addition to the current wooden palm rest.

We’ll also soon raise the price of the other items by about 10%, including the UHK, extra keycap sets, extra cases, and the add-ons. This is justified by the heavy weakening of the US dollar during 2017. We pay our suppliers primarily in Hungarian forint, so this very much affects us. 10% is actually less than the weakening of the dollar which is about 15%, so we’re trying to not raise prices too heavily.

Nobody likes price increases, but we’d much rather take this route than sacrificing quality, or allocating less funding for R&D. We hope you understand and resonate with our mindset.

Expected Delivery and What’s Next

Going forward, our most immediate goal is to deliver the remaining 1,950 UHKs and accessories (everything but the add-ons) of the first batch. We expect to deliver these items from February to April, and then the second batch will closely follow.

Our assembly operation is admittedly micro-scale compared to the assembly lines of China. As we previously stated, instead of hiring a Chinese OEM for assembly, we opted to set up our own assembly line in Hungary and operate it in the long term. This has numerous benefits, like rigorous QA and direct control, but the downside is that the throughput of this line is rather low.

It wouldn’t make sense to massively scale up production because the accumulated preorders translate to a huge peak regarding assembly. It’ll considerably settle down after delivering the pre-orders, so hiring a bunch of people only to fire them soon afterwards doesn’t seem like a good idea.

We plan to keep assembly going continuously, and ship so-called mini batches on a weekly basis. We’ll remind you in a future update to change your shipping address before orders start going out, but please do check/change your current address by going to your Crowd Supply account.

As for the add-ons, fear not, we didn’t forget about them. We’ll be allocating more and more resources to finalize and manufacture them. András has been working on them recently, and this is the latest, and probably final design of the trackball module.

I think András did a great job designing this add-on. I cannot wait to see it work and give it a whirl (pun clearly intended).

Thank you for reading this update! We hope you enjoyed it, and we’re excited to talk to you on 2018-02-15.

2017 Dec 14

Delivering the pilot run units

By |2017-12-14T19:34:03+00:002017-12-14 19:15|manufacturing, news, tech talk|37 Comments

Hi there, and welcome to our monthly status update!

TL;DR: The 50 UHKs of the pilot run and their palm rests have been assembled and will be shipped on Monday. We’ll ramp up production afterwards, and continue the fulfillment of the rest of the crowdfunding starting in January.

Examining the First Samples

Before the pilot run assembly, our contractor assembled four UHK panels, so that we could examine and approve them. We’ve taken a thorough look at them, and I noticed that the 4P4C jacks didn’t seem right. An older version of the jacks was used which we replaced a while ago with another jack. The spiral cable could not be removed from the older jack because its plug was too deep in the jack when the UHK was fully assembled, which is why we changed it in the first place.

Our contractor originally ordered the correct part, but the component distributor quoted an alternative replacement part and didn’t explicitly tell our contractor of the change. It’s pretty hard to spot these replacements in a long component list, hence the wrong part was ordered.

This miscommunication error cost us a couple days to get replacement jacks, but luckily no other issues were found.

PCB Assembly

The next step was SMD assembly which went very smoothly. This is a short video of the process:

As you can imagine, there are a number of steps involved in this process:

  1. The boards go into a solder paste stencil printer machine which applies paste to the pads where the surface-mount components will connect.
  2. The applied solder paste gets inspected by a solder paste inspection (SPI) machine that creates a 3D model of the paste to make sure that it has been correctly applied where needed.
  3. Here come the pick and place machines, which place the tiny surface mount resistors, capacitors, diodes, ICs, and other devices onto the board. All three of our contractor’s pick and place machines were operating simultaneously, which is not really justified for the UHK, but it allows for larger throughput. The machines are usually so fast that their movements can barely be seen by the naked eye, but this time they were operating much slower than usual so that operational tweaks can be made as necessary.
  4. At this point, the boards go through a reflow oven. The oven has multiple zones, each featuring a different temperature according to the specified temperature profile. By the end of this step, the solder paste solidifies, and the components are affixed to the board.
  5. Normally, the boards are inspected by an automatic optical inspection (AOI) machine at this stage, but the process parameters are not fully finalized yet, so a human operator inspected the boards manually.
  6. Finally, the boards are sent to my station where I flashed them on my Raspberry Pi workstation, with a UHK, of course.

The boards not only look beautiful, but they all work perfectly. This is a pretty good start.

We left the boards at our contractor to get the through-hole parts soldered, and some days later they sent us the fully assembled panels.

Mechanical Assembly

Unlike the PCB assembly, the mechanical assembly is a fully manual operation. It involves breaking out the PCBs from the panels, placing the panels into the pre-assembled bottom cases, screwing the metal guides to the plates, assembling the top and bottom cases, and putting the keycaps on the key switches. The result is 50 beautiful pilot run UHKs, ready to be shipped.

Shipping Status

Right now, we’re working on assembling the palm rests, and on Monday the UHKs and palm rests of the pilot run will be shipped. Exciting times!

Being located in Hungary, the first UHKs of the pilot run are expected to arrive in Hungary, then to the rest of the EU, then to the US, then to the rest of the world. We deliver the EU units directly, and the non-EU units via Crowd Supply (based in the US). We can’t change this in any way, or ship directly to everyone due to accounting reasons. Please note that except for the above, we do ship on a first come, first served basis. You will receive a shipping confirmation email with a tracking number from Crowd Supply when you order ships. If you need to change your shipping address, do so now through your Crowd Supply account. For questions on shipping, see The Crowd Supply Guide.

We’re hoping that most, or all of the pilot run UHKs will arrive before the holidays, but being just before the holiday season, we’re not sure.

Starting in January, we’ll scale up production and plan to fulfill the first batch of orders in 1-2 months. Afterwards, the second batch will follow. We’ll be keeping you up-to-date.

Thank you for reading this update! We wish you a Merry Christmas and Happy New Year, and we’ll talk to you on 2018-01-18.