• Keyboard Not Found & Troubles with finding it

    10/23/2022 at 04:08 0 comments

    Long time ago it all started with me trying to find new keyboard. After couple of weeks browsing through every possible manufacturer I got an idea:

    "How hard it can be to build my own keyboard! It's just few buttons connected to microcontroller, I'll have it done in a month or two ..."

    ... 2.5 years later - it wasn't that easy 😛 Lets start from beggining.

    Feel free to skip quotations as those are providing in depth view but are not critical in overal story.
    Each chapter contains estimate of time I spent on it marked with ⏱ symbol. Be aware it's calendar time as I don't remember how it was in a real time. Typically I was working on it through Saturday's nights or on few evenings during the week.

    Target audience

    Article is covering my story of building my first hardware device - keyboard. Hoping it will give people better insight into what they are going into when starting with new project and avoid underestimating of certain things like me 😃.

    So who should read this?

    • People interested in a story of building first piece of hardware by software developer.
    • People who has little or no experience with hardware building and they'd like to start.
    • People interested in keyboards 😃

    What you should NOT expect?

    • In depth details
    • Documentation like article.
    • How to guides.

    That said, feel free to contact me in case you'd like to know more or just in case you'd would interested in in-depth articles/videos going into technical details (if I'll find enough of people, I'll be happy to spend some time on it).

    Background

    I started a project as a software developer basically with just very little knowledge of electronics, no mechanical engeneering, no iron melting skills, etc. Mostly working in languages very far from actual hardware (like C#). What I had is some background on hardware from my university times.

    That said, I started with a research to find out where to even start!

    Article is mentioning some commercial services or products. I don't have any financial affiliation with them except of Saleae's Logic Analyzer.
    Saleae was keen to me and provided me:
    • Discount on their analyzer because I am hobyist.
    • Sponsored writting of this article without any requirements on outcome of my recommendation on their product. Check their requirements here.
    This article was written as a source of information on struggles you might find on this type of project, not to promote or sell any product.

    What is inside a keyboard?

    After a quick Google search you find pictures of keyboards and typically you quickly realise, that you need these components: case, PCB, switches, keycaps.

    Not only that, you can buy those things separately and there is huge variaty of them! So why the hell would I build everything from scratch, when there is an easier way ...

    Well, it wasn't. I knew few things:

    • I want compatibility with Cherry MX switches. Don't want to go into that river as I was happy with them and I had already plenty of things to solve.
    • I can pick beautiful and functional keycaps from those on the market and knowledge building around the keycaps would be on a whole book ...
    • I wanted TKL1 PCB with USB-C, Bluetooth 5 and RGB leds configurable and triggerable from computer. As far as my knowledge goes, nothing like that existed on a market at a time I started with this project. Not only it didn't exist in a combination of these features, but even each feature separately was problem - Small amount of USB-C PCBs, no Bluetooth 5 PCBs, no PCBs with configurable & trigerrable RGB LEDs and very limited amount of TKL PCBs (60% were very popular & available for some reason at that time...).
    • On a case aspect, I love traditional designs Filco like designs in aluminium. I was originally fine with any aluminium design, but eventually I realised that it would be too restricting (like pre-drilled holes for LEDs which I don't support) for my PCB development about which I already knew I will need to build....
    Read more »