Howdy all! It's time for our regular monthly progress report. Let's get right to it!
Feet and palm rest design
András has been busy designing the feet and palm rest of the UHK. The current design is close to final, so we're excited to show it off.
But first, please fasten your seatbelts. The UHK is highly modular and configurable in nature and the feet and palm rest are no exceptions. There are a lot of combinations of feet configuration so let's dive in!
There are 4 feet mounting positions per keyboard half located in the corners of the halves:
When using the palm rest, the number of feet mounting positions (4) is unchanged, but their location spreads across a larger area because the bottom 2 feet per keyboard half are mounted to the palm rest:
A foot can be mounted with 3 screws and can be rotated in 90 degree increments:
In any of the 8 positions, a feet can be unmounted (no elevation), mounted and closed (slight elevation), or mounted and opened (large elevation):
The bottom of the feet are rubberized, even sideways, and the UHK has its own small rubber feet so the keyboard won't slide in any configuration:
The palm rest is fixed to the keyboard with 2 screws per keyboard half, screwed into the stainless steel inserts of the UHK:
Given the number of combinations, we can't go over every possibility, but we'd like to highlight the most popular ones.
4 closed feet are used in the top positions of this configuration. The palm rest is not featured on these pictures but you can use it if you want to.
In this configuration, 4 closed feet are used in the top positions and another 4 opened at the bottom positions mounted to the palm rest.
4 opened feet are used in the inner positions and oriented towards the center of the keyboard.
There are so many possibilities that we'll surely end up writing a manual just on this topic. Stay tuned!
Mold and cutting tool progress
It is apparent that our Serbian contractor is hard at work. This is the sheet metal contour cutting and bending tool. It's already functional, but we have to wait for the assembly of the rest of the tooling so that the holes of the MX switches will be cut, too.
And this is the injection molding tool of the case buttons which is also functional:
We're happy about the progress of our Serbian contractor and can't wait to see even more hunks of steel.
The 6th generation PCBs are being fabricated
Lately, I've been working on redesigning the schematic and PCBs of our latest prototype. These are the fruits of my labor:
The improvements are plentiful, featuring:
- the super powerful MK22FN512VLH12 and MKL03Z8VFK4 MCUs
- IS31FL3731-SALS2 LED driver ICs per keyboard half allowing for per LED backlighting (we can't provide LEDs and translucent keycaps yet but the ICs will be on board)
- 2×5 0.05" ARM programming header + Tag-Connect TC2030-NL header + TC2030 header per board for extra developer goodness
- optionally solderable reed switch per board to reset the MCU without disassembling the case to make it easy to hack the firmware even if jump to bootloader feature gets screwed
- optionally solderable I2C breakout header for developing modules in a breadboard friendly fashion
- optionally solderable test LED per board for debugging purposes
- pogo pins and I2C (versus the previous UART protocol) between the keyboard halves enabling the use of modules mechanically and electronically
A small batch of these boards are being fabricated right now at Eurocircuits and can arrive in any moment. I'm also about to order loads of components real soon which will be soldered onto the boards. These PCBs are supposed to resemble the final production boards very closely, so we'll make sure to give them a fair amount of testing.
If you are one of those people who grok electronics please don't hesitate to check out our electronics GitHub repo and give us feedback about the schematic and boards. We consider every single suggestion as we really want to get the design right.
Progress on Agent
Agent has been heavily refactored lately as we port the legacy jQuery codebase to Angular 2 step by step. This is one of those things that's hard to notice by looking the application but it's very significant regarding the long-term development of Agent.
This brings me to the star of the month. Give it up for Mr Nejc Zdovc from the beautiful town of Celje, Slovenia!
My name is Nejc Zdovc and I have been programming for the last seven years. I have a Master's degree in Computer Science and Information Technologies. I was drawn to Angular 2 community last year and ever since, I've enjoyed pushing its boundaries. At the beginning of this year, I was having wrist problems and that's why I was looking for a new ergonomic keyboard. I stumbled on the UHK and, with a little research, I found out that this is an awesome project, so I decided to start contributing. For the last few months I have been helping József with Agent.
Nejc has been helping out a ton with the Angular 2 port. Previously, only keymaps were managed by Angular 2, but he made the whole application governed by Angular 2 by componentizing it. He ported the side menu to Angular 2 and wrapped select2 into a component. This is serious progress and requires a lot of dedication. The work is not over yet but his help has been a quantum leap forward.
You know what's crazy? Nejc and Sam don't have a UHK at their hands yet and still, their contribution has been above and beyond expectations. I wouldn't have expected developers contributing substantially before we deliver the hardware, but apparently it's already happening. This is Free and Open Source at its best, folks! I can't even imagine what will happen after delivery. I'd love to see our GitHub repos blown away by contributors!
As a token of our appreciation, Nejc and Sam will get a well-deserved developer unit soon, then eventually a final UHK with all the bells and whistles. It's really the least we can do for them.
We've just arrived to the end of this update. I hope you enjoyed it, and talk to you on 2016-08-18.