demo

2020 Jan 10

The trackball module is fully functional

By |2020-01-10T21:58:03+00:002020-01-10 21:49|demo, firmware, modules, news, prototype, tech talk|4 Comments

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.

2019 Dec 11

Trackball and touchpad module progress

By |2019-12-11T21:06:21+00:002019-12-11 21:06|demo, electronics, firmware, modules, news, prototype, tech talk|0 Comments

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 2×20 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.

2019 Nov 11

Key cluster and trackball module progress

By |2019-11-11T21:30:08+00:002019-11-11 20:11|demo, modules, news, prototype, tech talk|6 Comments

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.

2019 Oct 11

New Agent release and module progress

By |2019-10-11T19:50:10+00:002019-10-11 19:10|agent, demo, electronics, features, modules, news, prototype, tech talk|6 Comments

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.

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.

2016 Oct 13

Monthly progress

By |2018-09-17T19:08:26+00:002016-10-13 14:10|agent, demo, electronics, manufacturing, news, prototype, tech talk|14 Comments

You know the drill: a new month always brings a new status update. Let's delve into what's happened lately!

Tooling status

Our mold making contractor has been working on the top molds of the UHK case and are on schedule. Here are the molds of the top case parts:

The mold of the top left case part

Molds of the top case parts

At this pace, the end is near. We should be able to test the final plastic parts within weeks!

LED display

In our previous update, we showed you the mold for the LED display. Since then, our supplier baked a complete unit featuring the PCB, the LEDs, and the epoxy inside. The result is a blindingly bright LED display!

LED display shining bright

The display is so bright that it's rather overkill at night. Luckily, the LED driver ICs that we use allow us to precisely set the brightness level – which we will expose as a user option eventually.

And this is how it looks when scrolling the alphabet on it:

Actually, it looks better in real life, but not when recorded with a mobile phone under suboptimal lighting conditions.

Some problems still have to be resolved, though. The forward voltage of the white LEDs are considerably higher than of the red/yellow LEDs which results in an unbalanced charlieplexed LED matrix that has a tendency of ghosting which is noticeable, especially when only the white LEDs are on:

LED display ghosting

There are several ways of fixing this issue, so if everything goes well we'll simply throw a couple of diodes at the LED matrix and make our supplier redesign the PCB of the display. We really try to keep the white LEDs, but in the worst case scenario, we'll use LEDs of a different color instead, whose forward voltage matches that of the red/yellow LEDs.

Another issue to be resolved is acoustic noise. The LED driver ICs generate a high frequency noise that is slightly disturbing. This is due to the capacitors and inductors, which shrink and expand according to the PWM signal that drives the LEDs. There are about a half dozen ways to deal with this issue. Some of them increase costs, others increase complexity. We may end up combining multiple approaches to get the best result.

Firmware

Lots of things have been happening in firmware land lately. The FRDM dev boards that feature the processors we use have already been working for a while, but the firmware wasn't tailored to our PCBs.

First up, I tried to set up the multipurpose clock generator of the K22 MCU which made me realize how much of a hideous beast it is. It would have likely taken me weeks to make it work, so instead, I summoned Santiago who set it up like it was a walk in a park.

Then I went on to implement the key matrix scanner, made the left keyboard half send key states to the right keyboard half, implemented a rudimentary USB communication protocol, exposed the EEPROM and LEDs via USB, and made all the peripherals work.

Not being a battle-hardened firmware developer, it's always the low-level MCU programming that gives me the biggest headache. Now that these parts are in place, we can finally focus on implementing the high level architecture, protocols, features, and cleaning up the codebase.

The only major low level feature left is the bootloader, on which Santiago is working, and he should finish in November. In the meantime, we can simply use hardware USB programmers to program the firmware via the ARM SWD ports of the UHK.

Currently, the firmware is able to exercise the full breadth of hardware features, proving that our current generation PCBs work as expected. Next up, I'll send a couple of assembled PCBs to our developers and contributors, so that they can make Agent communicate with the UHK via USB, and develop the firmware further.

Agent

Jozsi and Nejc have been working hard on Agent.

Nejc implemented a data layer that persists the state of Agent into local storage. That's right folks, from this point on, all of your keymaps and macros will be automatically saved. Mad props to Nejc for his hard work!

Jozsi implemented the rendering of mouse actions, updated to the latest (and now stable) Angular and TypeScript, and removed loads of legacy code.

I've written a couple of scripts in the usb branch of the Agent repo to demonstrate USB communication by reading and writing the EEPROM and LED driver ICs of the UHK. My half-baked code will eventually be refactored and integrated into Agent.

Graz meetup

Usually, Santiago is located in Madrid, but nowadays he lives in Graz, helping a major customer of NXP. Living near us, he recommended that we should meet, and we have gladly taken the opportunity. I also asked Nejc whether he wants to join – to which he said yes. And so, the four of us could finally meet in person.

Graz meetup

There was no shortage of interesting conversation and fun times. Apart from a fair amount of geek talk, we ended up showing our apparent lack of pool skills.

And that wraps up this update! Looking forward to talking to you again on 2016-11-18.

2016 Aug 18

Updated delivery schedule and a bonus

By |2018-10-21T19:24:00+00:002016-08-18 15:57|demo, design, electronics, features, manufacturing, modules, prototype, tech talk|22 Comments

Another month has passed, and so it's time for our monthly status update! This one will contain a bad bit of news, a good bit of news, and lots of news bites on our progress.

Updated delivery schedule

Over the last few months, a lot of you have been giving positive feedback on our progress and appreciated the detailed updates. According to our Crowd Supply campaign page, the goods are expected to ship at the end of September.

We're trying our best to deliver on time, busting our ass day by day, usually even on weekends, and still, it's quite apparent that we can't meet this deadline even if we bend over backwards. So the delivery schedule needs to be revised:

  • The keyboard and palm rest are expected to deliver by the end of December
  • The modules are expected to deliver in April 2017

Please let us explain the reasons.

Our April delay that was caused by our previous bank (which we abandoned forever) has definitely contributed to this one, as it caused a lot of overhead, and we could only pay to our mold making contractor in a delayed manner.

Another reason is design delays. We have just finished the design of the feet and the palm rest. Getting the design right has definitely taken longer than expected and now the molds of the feet are about to be made. As a rule of thumb, we rather take the time to get the design right than to rush things and end up with a mediocre product.

We have to focus on the core keyboard first and implement the modules afterwards. So the mold of the modules will be created right after the mold of the keyboard. We will pay the extra shipping fees because of the separate shipment of the modules. That's the least we can do.

We're running things in parallel as aggressively as we can to hit our updated schedule. For example, a mold of our special keycaps just got ready in Taiwan, the mold of the case and the cutting tool is being created in Serbia, and our contractor for the LED display has just started to work on their mold.

We're very sorry for this delay. We understand that you can't wait to put the UHK under your hands and waiting sucks. We're asking for your patience and to remedy the situation a bit we'd like to offer something, which is an…

Anodized aluminium palm rest

There are plenty of ways to make a palm rest and we have considered various designs over time. One of the candidates involved a beautiful anodized base plate milled from solid aluminium.

Of course they come in pairs. This is the left one.

Of course they come in pairs. This is the left one.

It was clear from the get go that it won't be cheap and we were thinking about making it available as a premium product later. But now, it's our golden opportunity to make up for the delay of the project schedule. So I'm here to announce that we will provide this anodized aluminium palm rest to those who purchase the palm rest pledge before keyboard shipment! The price for the aluminum palm rest will go up afterwards.

Now that we wrapped up the bad and the good news let's move on to the rest.

Tented UHK prototyped

Since our latest update we got the feet 3D printed, screwed it onto the back of a prototype and shoot a picture of it.

Tented UHK prototype

Everything feels right about the feet and we're satisfied with the overall design. The palm rest is yet to be fabricated. We'll make sure to show it to you as soon as it gets ready.

The state of the mold

The molds of the bottom cases are complete. This is the left one.

The molds of the bottom cases

The remaining molds are also in the works, and in our true style, we'll be posting more pictures as they get made.

Injection molded UHK keycaps

The UHK features two keycap types that are non-standard. One is a concave-shaped, 1.75U, row 4 keycap used by the Mod and Space keys, and the other is convex-shaped, 1.5U, row 1 keycap used by the backspace key.

I'm happy to let you know that recently, our keycap supplier got the molds ready for these keycaps and sent us a couple of samples:

Injection molded Mod and Backspace keycaps, take 1

Injection molded Mod and Backspace keycaps, take 2

These custom keycaps are impeccable and totally consistent with the rest, just as expected. They put a smile on our faces because custom parts like these are major milestones for the project.

The state of the modules

Not much has been said about the modules recently, so it's time to share some information on them. We've actually made a couple of videos of them in action, so that you can get an idea how the modules feel and behave.

Please note that the plastic case and electronics of the modules are not ready yet. So far, the key components have been chosen so we show you the guts of the modules directly connected to the PC.

If you are curious about the exact ICs that we use inside of the UHK, or in the modules then you're welcome to delve into our datasheets repository.

As for the number of buttons of the right-handed modules we're not exactly sure yet but we're aiming for two buttons per module.

Let's see what we have!

Trackball module

The trackball module features an ADNS-3530 optical sensor which is remarkably tiny and communicates over SPI. This demo board translates SPI to USB but we'll use a KL03P24M48SF0 microcontroller to translate SPI to I2C which is spoken by the UHK.

Trackpoint module

The trackpoint module features a sensor of an unknown part number (our supplier signed an NDA with the manufacturer so we don't know) but it's remarkably similar to the now defunct SK8702 trackpoint module which features the SK7102 controller. Our supplier only provided an incomplete datasheet to us, which is not a major problem because the module speaks PS/2.

We'll use the FlexIO capability of the KL03P24M48SF0 microcontroller to implement a protocol translator which will translate from PS/2 to the I2C protocol of the UHK.

Touchpad module

This is an Azoteq ProxSense TPS43 touchpad driven by the Azoteq IQS572 capacitive controller. The touchpad is connected via the Azoteq CT 210 configuration tool to the PC.

Being an I2C device, the controller will directly connect to the UHK. We'll have to design a custom-sized touchpad, however, featuring the IQS572. Luckily, Azoteq provided a design guide for that.

It's not a coincidence that I mentioned the name of Azoteq a fair number of times above. Back in the day I blogged that we're looking for a suitable part, then they contacted to us and provided the most awesome support ever!

Key cluster module

The key cluster module features a couple of keys and buttons which are simple to scan by the microcontroller. The tiny trackball is a Blackberry trackball which uses hall effect sensor along the 4 axis. We haven't yet hooked up the Blackberry trackball to control the mouse pointer but you can find plenty of videos on YouTube of its various applications. I recommend watching Sparkfun's video of their trackballer breakout board which explains it in detail.

Introducing our firmware developer

A while ago, we reached out to you looking for a firmware developer. We've gotten quite a few excellent applications and please let me take the opportunity to thank every one of the applicants for contacting us.

Without further ado, let me introduce you our firmware developer, Santiago González Fabián from the sunny city of Madrid.

Santiago González Fabián

My name is Santiago González and I've been playing with electronics and computers since I can remember, but I discovered the amazing world of embedded systems in the Electronics Engineering Bachelor where I felt in love with 8051 and ASM code.
I've programmed 8 bit and 32 bit MCUs in C and Assembly mainly, and my focus the last 4 years has been the Cortex M world, working at Freescale and NXP as Field Application Engineer trying to solve all kind of issues with Embedded Systems all over Spain, from Automotive to Industrial equipments, from 8 Kb Flash devices toggling LEDs to 2 MB Cortex M7 doing Ethernet, Motor Control and RTOS scheduling at the same time.

Embedded systems are my job and my hobby (Although I also climb mountains in the weekend) so in my free time I look for new challenges in several places (Stack Exchange, HackADay, Electronic Forums…) and that's how I met László and UHK, in my weekly check of NXP Community. After having a look into the project and the open source philosophy behind it, I decided I would love to help if possible. Now the UHK PCBs have arrived to Spain, so I can begin the Bootloaders development :). I cannot wait to start coding!

The new prototype sitting on Santiago's desk

The new prototype sitting on Santiago's desk

Since first getting in touch with Santiago, I've exchanged almost a hundred emails with him about deep technical stuff. It's apparent to me that he's highly knowledgeable, a truly excellent communicator, and his enthusiasm clearly shows. We couldn't ever wish for more than that.

The bootloaders of the UHK are a lot more complex than those of regular keyboards (not that most keyboards have a single bootloader to begin with). This is because our design is highly modular, composed of separate keyboard halves and modules, each running separate firmware images. So naturally, we want to enable you to upgrade the firmware of every module over USB with a click of a button.

The idea is that the right keyboard half will run the master bootloader that will directly upgrade the application firmware from the PC. The left keyboard half and the modules will run the slave bootloader which will connect over I2C to the master bootloader, which will in turn relay the firmware image from the host computer over USB.

KBOOT 2 already supports the above scenario, but a fair amount of customization has to be done by somebody who really knows what he's doing.

Apart from implementing the bootloaders, Santiago will be working on parts of the firmware that require deep knowledge of the Kinetis platform, like the FlexIO based PS2 to I2C protocol translator of the trackball, and such.

Still reading? Then pat yourself on the back because you deserve it! Talk to you on 2016-09-15.

2016 Mar 17

3rd UHK post-campaign update: The new firmware is in great shape!

By |2018-09-17T19:06:07+00:002016-03-17 13:27|agent, demo, prototype, tech talk|7 Comments

Two months ago we announced that we'll be moving to a much more powerful ARM processor instead of the AVR – and one month ago we said that we'll be using an even powerful one. Moving to a new processor architecture is a big deal, especially with a short amount of time – but we were able to make it happen without hurting the project schedule.

We've been working heavily on the new firmware lately, and we're happy to let you know that it's paid off big time! This is how the left side of my desk looks:

FRDM dev boards and Logic Sniffer

The rightmost FRDM-K22F board contains the insanely powerful MK22FN512VLH12 processor and runs the firmware of the right keyboard half. It shows up as a fully-fledged USB device, implementing a keyboard interface, a mouse interface, and a generic HID interface. This means that it can act as a keyboard, as a mouse and it's also able to communicate with the host computer (to transfer configuration data, etc). As proof of this, a button on this board makes it send the scancode of the letter "a" to the host computer, another button scrolls with the mouse downwards, and a script that I've written makes the RGB LED display any color.

The middle FRDM-KL03Z board acts as the left keyboard half, and it communicates via the right half via the I2C protocol. A button on this board moves the mouse pointer leftwards, and another button moves it rightwards.

The leftmost board is an Open Bench Logic Sniffer which sniffs the communication of the aforementioned boards, so that the firmware can be debugged more easily.

Want to watch a half minute video of how it works? Pop that corn, then enjoy the view!

Working on the new firmware is a labor of love. Being an advocate and practitioner of clean code, I've made sure that it's not merely working, but supremely readable. There's a lot of code to be added, but it should be easily hackable by the UHK owner.

Progress on Agent

Agent macro view

Arpi has been giving Agent some love. Now you can switch between keymaps in the side menu and change to the macro view interface. This is still considered to be a mockup, but more and more things are working, so you're welcome to click around!

The UHK in the Wild

Our most beautiful master prototype is truly a word traveller. It's been in San Francisco and New York to be seen by the media and you at getgeeked, then travelled to Moscow, only to arrive to Singapore to be featured at Hackware v1.2, then went back to Hungary, had a trip to Spain for a testing session, and recently landed in DevConf in Johannesburg!

DevConf

A UHK was given away by DevConf to a speaker and an attendee, and they liked our prototype so much that they're in the process of purchasing a 10-pack.

Our sincerest thanks go to Mark Pearl, organizer of DevConf, who got in touch with us, and helped to make this happen!

What's Next?

The firmware has progressed so far, it's now time to redesign the PCBs to feature the new processors instead of the old AVRs. There's also a lot in the works on the mechanical design front, so stay tuned.

Talk to you on 2016-04-14!

2015 Oct 23

Tilt, tent, and screw with the UHK

By |2016-11-07T20:51:57+00:002015-10-23 19:10|demo, design, features, news, prototype|0 Comments

The Ultimate Hacking Keyboard gives you options!

Most keyboards don't have a lot to offer in terms of ergonomics. But with the UHK and our new stretch goal, a super-high-quality palm rest, you've got tons of them.

Take a look at the palm rest set up in various arrangements, starting with the flat setup:

flat-stand

Tilted setup:

tilted-stand

Tented setup:

tented-stand

András is quite serious when it comes to durable mechanical design. So much so that the base of the palm rest is a solid stainless steel sheet. We surely don't expect people to wreck this anytime soon. As you can see, the palm rest also comes with a set of legs which can be set in various configurations. It's up to you which set-up is most comfortable.

You can even screw in your UHK.

We've heard from a few people who love the UHK because it will help them handle their disabilities. One creative backer even suggested that they would be attaching each keyboard half to an armchair. In situations like this, we've got you covered!

Mountable case

The keyboard features four threaded stainless steel inserts per keyboard half

As far as we know, the UHK is the first keyboard to use stainless steel mounting inserts. These are perfect for screwing your keyboard into almost any situation.

If you're mounting your beloved keyboard (like to an arm-chair) and need a little more room than the provided cable can allow, not to worry! We've got you covered here, too. You can use any standard telephone cable. A while back, I even tried a 20 meter (66ft) long cable. Check it out: