Agent is coming together, looking for a firmware developer!

Agent is coming together, looking for a firmware developer!

A month ago in our previous newsletter we promised to send you an update on the post-campaign happenings on January 14th, so here it is! There is a lot of ground to cover, so fasten your seatbelts and we’ll get right to it!

Extra keyboard cases & keycap sets are for sale

Some of you contacted us to purchase extra keycap sets and cases, and we’ve been very much willing to serve your needs, so why not offer them as extra perks? You’re welcome to purchase them on our campaign page.

Meet Agent, the configuration application for the UHK

We’re proud to show you the first screenshot of Agent, our cross-platform configuration application. It’s being developed by Árpi, a new developer of ours. Please keep reading for more.

The mechanical design is being finalized

András is hard at work finalizing the mechanical design of the keyboard case. Mold making is by far the most time consuming task of the manufacturing process, so it’s supremely important we start as quickly as possible in order to deliver on time.

We’ve already struck a deal with the manufacturing firm for the injection molding tool for the plastic case and the cutting tool for the steel plates, and we’re in the process of discussing relevant design issues with them. Sourcing of the raw material for the steel guides is also in progress – from a well-esteemed Austrian company.

From the very beginning, we’ve been mindful to design the UHK for manufacturing, but there are some details yet to be finalized. One such detail is the connection between the two halves and the modules.

Originally, we used a battery connector because it was easier to use an off-the-shelf part – but later we figured out a much better way: dedicated pogo pins. This is a more robust and better looking solution than the battery connector. The 6P4C connector was also replaced by a 4P4C connector and its wiring has been reversed. This way a standard telephone cable can be used to interconnect the two keyboard halves.

There are a couple of details like the above, and András is rapidly moving forward to address them, so that we can submit the CAD files to manufacturing as soon as possible.

Two developers have joined to our ranks

Back in August we were contacted by Árpád Csányi, who expressed interest in the UHK. Fast-forward to November, and we managed to meet in person over a couple of beers after I gave a talk on the UHK in Szeged, Hungary. It was apparent that he was interested in the project, but I wouldn’t have thought in my wildest dreams that he’d end up being the front-end developer of Agent, our configuration application! Árpi is not only a powerhouse of UI/UX ideas, but he’s very much willing and able to implement them.

Please note that these mockups are a work in progress but you’re welcome to add your suggestions to the docs. Don’t forget to uncheck the View -> Print layout option in Google Docs or else some pictures will be cropped.

Right after open-sourcing our design a, mysterious GitHub user started contributing to our electronics repo. Say hi to Mr. Spencer Owen, who is very much into devops and using his rad skills, he set up a visual diff mechanism in our electronics repo, so that now we can actually see the changes of the circuit boards that get modified by contributors. This is very much needed because unlike plaintext files, circuit boards can’t be diffed in the traditional way.

Right now Spencer is working on making the PCB compatible with Matias switches. Due to the lack of compatible keycaps, this doesn’t mean that we’ll be able to provide Matias switches from the get go, but we’re trying to future-proof the PCB so that the opportunity will be there, and eventually we can make it happen.

Moving to ARM, and looking for a firmware developer

It’s been a pleasure and privilege to work with Árpi and Spencer and I’m very much looking forward to further expand our team. It may surprise you, but we’re not actually primarily looking for an AVR developer. We’re looking for an ARM Cortex-M4 developer! Why’s that? Let’s consider the following table:

Processor name

ATmega32U4

MK20DX256VLH7

Units

Processor core

AVR8

ARM Cortex-M4

Rated speed

16

72

Mhz

Flash memory

32

256

kbytes

RAM

2.5

64

kbytes

Price

3.6

4.55

US Dollars

The above numbers are pretty telling. The ARM processor costs only a buck more than the AVR but it’s about 10 times more powerful! The plan is to replace the AVR on the right keyboard half with ARM, and keep using AVRs in the left keyboard half and in the modules – which don’t need as many resources as the right half.

We could possibly stick to the ATmega32U4 and implement the planned feature set, but the available 2.5 RAM is very tight. It’d require us to always think about how to not exceed memory and vastly optimize the firmware for memory consumption. This would slow down development and wouldn’t give us room to implement more sophisticated features later on. Bulkier AVRs are moderately more powerful and considerably more expensive, so I truly believe that ARM is the way forward.

It’s also very important to note that the MK20DX256VLH7 is not just another ARM microcontroller, but the brain of the Teensy 3.1 and 3.2 development boards. This is great news because there’s a huge amount of support available out there!

Are you familiar with the Teensy 3 platform, or do you know somebody who is? Do you enjoy the thrill of Open Source? Would you love to work on a one-of-a-kind mechanical keyboard, and help push innovation further? If so, we’d love to have you on our team! Please read for more and get in touch with us!

What’s next?

We’re making rapid progress on multiple fronts, but there’s still a lot to do! We plan to finalize the UI/UX specification of Agent by the end of January. I’m sure that we’ll have a lot to talk about in our upcoming updates.

Increase your productivity by never leaving the home row.
Improve your posture by typing on two, separate keyboard halves.
Remap keys in any way you want. Experience how a keyboard can be different, yet familiar.