[Newbie and DONE] Building an Ortholinear mechanical keyboard

Le Barde

07 Jan 2018, 14:19

Hello here,

As I cannot find my ideal keyboard (see below), I am currently considering making my own.

I have seen that there are some enterprises that sell keyboards not-so-far from what I want. But what would someone need to create a keyboard from scratch? I have not seen a typical way of DIY.

Thanks by advance!

My Ideal Keyboard (AFAIK) :
— Ortholinear ;
— Mechanical (Cherry blue?) ;
— Reasonably little (without numpad) ;
— BÉPO layout ;
— USB / Bluetooth ;
— If Bluetooth, could connect to several devices ;
— If Bluetooth, AA (or AAA) Batteries only.
Last edited by Le Barde on 07 Feb 2019, 21:10, edited 1 time in total.

User avatar
Daniel Beardsmore

07 Jan 2018, 14:34

Considering the amount of people here who have already made their own keyboards, I think the wiki needs a whole section on doing this.

Le Barde

07 Jan 2018, 14:51

Absolutely, also a general procedure would be great!

User avatar

07 Jan 2018, 22:52

Le Barde wrote: — Reasonably little (without numpad) ;
— USB / Bluetooth ;
— If Bluetooth, could connect to several devices ;
— If Bluetooth, AA (or AAA) Batteries only.
Hi Le Barde,

Many people here built much more challenging keyboards on their own, so you can definitely learn from their logs.
A few things about the above points:
- "Reasonably little" has to be well defined, even just with a sketch. Otherwise, you cannot 3D print or CNC or handcut your case and plate, on which the switches will dwell.
- IIRC, the only (more or less) community based Bluetooth build is only Hasu's bluetooth controller for the Happy Hacking Keyboard, which is capable of switching between USB and bluetooth, and connecting to several devices, and charge a Lithium battery, but its battery performance is not good because the controller is based on previous generation bluetooth technology. In previous years, a few other projects made use of Adafruit's product Bluefruit EZ-Key which made building DIY bluetooth keyboards quite manageable for newcomers; however, Adafruit has been redesigning and renewing this product for almost 2 years now and there is no release date yet for the next revision. Some other projects also made use of Adafruit Feather 32u4 Bluefruit - which obviously has similar features but just lacks the tailor-made built-in DIY keyboard features. There are tricky aspect of the bluetooth frequency has to be capable of catching up with the sampling rate of key presses, otherwise, like the very early version of NIZ/PLUM bluetooth keyboards, the key presses not be sampled right.


09 Jan 2018, 01:38

I have a neat dongle by Trond that receives/transmits bluetooth audio by simple audio jack. Someone more capable than I should figure out a simple plug and play all-purpose BT transmitter that sockets into USB. CAVEAT: I have no idea how BT actually works and what you need to do to tell your OS about what you're trying to connect.

Le Barde

14 Jan 2018, 16:39

Thank you for all your answers.

So here is what I imagine to be a decent method for creating a keyboard from scratch.

Do you think my process and needs are OK? Do I miss something important before actually starting?

Supplies needed
  • Switches (eventually of different types depending on keys, e.g. space bar and arrow keys). Can be get on an existing keyboard or bought on massdrop.com.
  • Keycaps. Bought is better, because the keycaps you find on an ordinary keyboard are shaped differently depending on the position on the keyboard.
  • 2 plates: Top and bottom. The top one has to be cut to insert the switches. I have to get the switch dimensions and to order the cutting. It seems to be difficult to do it by myself.
  • PCB board. Seems to be optional if I solder wires right onto the switches. But I can buy a soldering test plate I guess.
  • Diodes.
  • A PIC/microcrontroller or an Arduino board.
  • An USB controller (maybe not necessary if Arduino).
I do not intend to produce a perfect keyboard for my first start. I think I'll need to experiment.

I've already ordered Kaihua Kailh Speed switches on massdrop.com. At home I also have an Arduino and a test plate. Now I think I need the plates, especially the cut one. I will buy diodes soon. For test purposes I hope that an Arduino Uno will do the trick. I have seen that there could be a lib for keyboards.

The big unknown is about software on the microcontroller. But I think I can turn my Arduino into a PIC programmer. So I assume I don't need another tool, but I will have to look into it.

Thank you by advance!


18 Jan 2018, 12:28

Few advices:
- switches go on aliexpress/taobao. It will be cheaper than massdrop and often less shipment delay. I did my first build exclusively from Massdrop, had to wait 3 months to get all the parts. My second build was from aliexpress and recycling part of my first build, it took me 15days and 30% prices drop on new part.
- plates: by little i guess you talk about 60% form factor. you can find ready plate with this form factor.
- sticking to arduino/teensy help you with community ressource. you can find plenty of github repo of code for building custom firmware. GMK for exemple.

With such a nickname and writing about bepo as requirement : are you french ? If so welcome on board.

User avatar

19 Jan 2018, 19:03

ambitious project ;)
Not finding the perfect keyboard is something i know all to well..
i'm currently typing on a FC660C with Hasu controller ..best dam controller ever if you ask me.. i absolutely love it

Yest yesterday i was talking to a mate about the Preonic OLKB and the fact that a high profile case is to be expected soon.
Have you looked at the Preonic ?
Personally i rather like the Tada68 but would rather have SMD leds don't know if that would matter with switch options SMD vs regular LED compatible..

btw if your looking for cheap keycaps for your Ortho Aliexpress is a good starting point or kbdfans site they have a aliexpress storefront..

if you don't mind spending a bit more but need a nice looking set .. take a look at pimp my keyboard.com
i like the G20 sublimated sets Ortho base set $40 and mod set for $20 not bad considering the quality.. seems ok.

btw also a nice post by Matteo a while back i read..

personally i would be happy if i can solder and assemble the perfect Tada with Zeal switches hahaha
Hope to do that later on this year if i have the time.. need to learn how to mod this Topre board first .. lube and silence...

good luck.. seems like your of to a good start..

Le Barde

23 Jan 2018, 12:20

Wow thank you for your answers!

@netmonk: Merci pour le message !

@TuxKey @netmonk: Thank you for your advice. I understand that I should be in a good start. This project in not to be finished so soon, but I shall post here when I get things done on building my keyboard. As it does not seem to be so difficult, I intend to write a howto in french to explain all this, because french howtos are lacking.

For now my biggest issues are:
1. to design and order an aluminium or iron plate to cut. For that I need:
- to know the switches AND keycaps dimensions
- to learn a design tool
- to find an enterprise in Paris or Versailles
2. to see how the Arduino or Teensy libs work.

But I can do it by myself! I just need to do it :-)

Thank you for your answers!

Le Barde

23 Jan 2018, 13:26

I just got a bunch of switches from Massdrop. I ordered Kaihua copper switches. They are tactile. I shall see if that's good for a typist keyboard!

I got 120 switches for 32 €. To be continued!


31 Jan 2018, 18:57

You could have a look at page http://bepo.fr/wiki/Atelier_presentation


01 Mar 2018, 22:44


I have the same wish, and I will follow this thread with great interest.
Getting a bépo keycap set will be the hard/expensive part I guess. There are not so many É È À Ê Ç keycaps out there ^^.

Le Barde

02 Mar 2018, 09:02

Thank you both for your messages. Actually I have received the keycaps, microcontroller card and blank keycaps. So now I could start and build it. I will have to get into the case dimensions and make decisions on design! I will write back here my experience.


02 Mar 2018, 14:36


Also looking for my perfect bépo keyboard, going to follow this post for inspiration :)

Le Barde

19 May 2018, 00:07

I purchased copies of Arduino-nano boards on aliexpress. As they were around 1-2€ each, I purchased 3 of them, should I burn one into flames. :evilgeek:

The cards went with separate pins I had to solder. Here is in the bottom what I got.

Now, I would like to use the QMK firmware, but I don't know how to use it with an arduino board.

I looked at the QMK documentation, but I don't know how to program the qmk firmware onto the arduino-nano microcontroller. What I understand is, the microcontroller is compatible with QMK firmware. But as it is written in C, I have to compile it and burn the board in a low-level state, just as any other microcontroller.

Looking at Arduino as ISP, I understand that I can flash my board using another one.

Am I right? Thanks for your advice, because I am a little bit confused :oops:
chinese_nano_low.jpg (206.46 KiB) Viewed 3161 times
Last edited by Le Barde on 19 May 2018, 08:25, edited 1 time in total.


19 May 2018, 03:14

someone with more familiarity with QMK will know better, but I don't think atmega328 is a supported micro. I think it is only atmega32u4 and atmega32u2.

User avatar

19 May 2018, 20:03

relevant info https://github.com/qmk/qmk_firmware/blo ... rollers.md but I never tried myself. Honestly I don't think the nano makes for a good keyboard controller.

@Le Barde you need to compile and flash your bios. QMK docs are pretty good actually https://docs.qmk.fm/install-build-tools

Le Barde

20 May 2018, 08:10

Thank you. I will dive into that, ship some boards and tell you here.

Le Barde

15 Jun 2018, 11:07

Hello my friends. I received the plate and pro micro board, so I assume I am ready now to flash the firmware. I work under Linux, so I will have to dive into the flashing process for an arduino board, or find how I can fully flash the arduino firmware (in that case the board would not be recognized as an Arduino one).

User avatar
emacs -nw

15 Jun 2018, 16:22

You can follow the instructions from this thread (Step 2: Flash the firmware).

Le Barde

02 Feb 2019, 12:15

OK, now I am ready to go on this project, but I am stuck with one problem that prevents me from going on.

My new keyboard has 15 columns and 5 rows. If I understand well, my controller needs to have 15 outs and 5 ins (or reverse). But if I am using a Pro Micro, it has only 18 pins if I except three pins GND, one RAW, a RST and a TVCC.

I have got three of them, and I also have three Nano V3, wich have more pins but are atmega328 (and don't have native USB/HID support).

What do you think of it?

User avatar

02 Feb 2019, 12:32

remove one column and connect each switch in that column as last switch of the other columns. this way you'd have 5 rows and 14 columns. Of course it becomes pretty messy with the connections and the firmware. The last row will likely have few switches, you can probably save "space" by using those empty slots.

Le Barde

02 Feb 2019, 12:40

Thank you matt3o for your answer. Actually the wiring is done (I could undo it if really needed) and the last row is used a lot...

User avatar

02 Feb 2019, 12:46

oh it's ortho. sorry I didn't get that.

if the matrix is done and you don't want to change it, you probably need a new controller.

technically you could remix your matrix to use less I/O but it would be a real headache

User avatar
emacs -nw

02 Feb 2019, 12:55

Maybe an "Arduino Micro" (not Pro) could do the job, you'd be at the limit (it has 20 digital i/o pins) if all those pins can be used:


Le Barde

02 Feb 2019, 12:59

I am currently redesigning a shape I want to submit to you :-)

EDIT: Thank you @laser, if I cannot get out of this I will likely go to that...
Last edited by Le Barde on 02 Feb 2019, 13:04, edited 1 time in total.

Le Barde

02 Feb 2019, 13:02

What do you think of this wiring?


User avatar

02 Feb 2019, 13:09

yes, that's what you'd need to do. good luck :D

Le Barde

02 Feb 2019, 13:15

Yeah, cool! Actually I only have to add 10 wires, this should not be too coarse... And then I will have to dive into the controller response and testing...

Thank you matt3o, I think you saved my day :-)

User avatar

02 Feb 2019, 13:19

Remember to also change the diodes position. The switches you are moving are not in the standard rows anymore.

Post Reply

Return to “Keyboards”