Ronnie Bathoorn, the king of the keyboards
by Nande Konst, on Jan 3, 2022 12:57:56 PM
Have you ever thought about making your own hardware? A keyboard for instance? Our colleague Ronnie Bathoorn did. Next to his work as Software Engineer at Crystalloids, Ronnie creates his own keyboards. He wasn’t satisfied with regular keyboards so he decided to build his own. Are you curious how he did it? You are about to find out.
Why did you decide to make your own keyboard?
Well, a keyboard is something we use on a daily basis. I wasn’t very satisfied with regular keyboards because I cannot feel when a letter is printed on the screen, I have to read it. So I bought a mechanical keyboard. This is an old-fashioned keyboard that gives me feedback on when a letter is transferred to the screen. Then I read an article from somebody that made his own keyboard and I thought, that’s an interesting idea. Let’s try! I found an open-source project called QMK Firmware. This is a C++ project to make firmware for an Arduino. An Arduino is a microprocessor with input and output ports and can talk to a USB port. You can program your layout and the Arduino processes what should be printed on the screen. QMK Firmware enables you to create your own PCB and solder the keys.
What do you need to make a keyboard?
Let’s first have a look at how a keyboard works. All keys on a keyboard are attached in a grid with columns and rows. As soon as you press a key the coordinate of the key is sent to the Arduino where the signal is processed. It’s important that the electricity only flows one way so multiple key combinations can be used. This is controlled by a diode. What I do to make a keyboard is created my PCB, program the firmware, and have a 3D printer to print my own keys. This process takes about 12 hours to complete. The firmware that I programmed decides which signal has to be sent when you use a key combination. There are a limited number of options. Basically, everything that is supported by the operating system of the computer can be used. Most of the keyboards I make don’t have a lot of keys. This makes them more ergonomic. This means though, that you need more key combinations to do everything you want. When I have all the components and programmed the firmware, I have to solder the switches, the diodes, and the Arduino on the PCB.
How does the keyboard communicate with the computer?
Basically, you tell the QMK Firmware on which ports the Arduino is running and how it's connected to the keys. Then, I define a keymap that decides what each key does. This is how you let the Arduino know what it should do. The next step is to connect the keyboard to a USB. I make different keyboards. For example, I made a keyboard that consists of two parts, so you can place your hands the way you want.
As you can see, creating your own keyboard is possible. It’s something you can try at home. However, you need some skills and the right gear to do it.
Crystalloids helps companies improve their customer experiences and build marketing technology. Founded in 2006 in the Netherlands, Crystalloids builds crystal-clear solutions that turn customer data into information and knowledge into wisdom. As a leading Google Cloud Partner, Crystalloids combines experience in software development, data science, and marketing, making them one of a kind IT company. Using the Agile approach Crystalloids ensures that use cases show immediate value to their clients and frees their time to focus on decision making and less on programming