Skip to the content.

This guide suits both version V1 and V2 of the standard (non-RGB) Sofle Keyboard. Most of the photos are for v1 and the differences are explained in the text as needed.

The RGB version has dedicated build guide.

The Choc version has dedicated build guide.

If you don’t have all the necessary parts, please read about how to source the parts.

Bill of materials

The following is needed to build the keyboard. You can find links for the most of the components in the sourcing parts section.

SofleKeyboard parts

SofleKeyboard parts 2

That’s it. There are no RGB LEDs on the board. But if you really need underglow it is be possible to connect an RGB LED strip since there are 3 pads (VCC, GND and data) on the board. You would need to add support to the firmware on your own.

Tools and materials

Warnings and disclaimers



Step 1

Both sides of the keyboard ready. The front sides marked by pieces of tape in order to remember which side is which.

Components on the backside

Step 2

Starting with the diodes. They belong to the backside of the PCB. Make sure you have orientation right - they are all oriented to the same side. The end with the thin line is Cathode (-) and it should go in the direction of the “arrow” symbol on the PCB.

Step 3

Sockets for switches belong again on the back side, the same side as diodes. Make sure they are flush with PCB. Watch the markings on the silkscreen which show the correct orientation.

Components on the front side

Step 4

Button and TRRS sockets belong to the top. Use a piece of tape to fix them and apply solder from the bottom side.

Step 5

This is how the right half should look from the top.

Pro Micro and displays

Step 6

Bridge 4 jumper pads on the top side. They are necessary for OLED support and if you don’t socket you Pro Micro you will not be able to do it later.

Step 7

Prepare the Pro Micro. There are several ways how to do it. I have used rounded pin headers. A bit more information about socketing of Pro Micro is on the sourcing parts page.

Keep in mind the orientation:

Pro micro orienation

Version 1: the Pro Micro board should be mounted “bottom-up”. Its clean side should be at the top, visible. The side with chips and other electronics should be at the bottom facing the main PCB.

Version 2: The left side as for version 1. The right half has the pro micro mounted up-side up so it’s mounted differently on each half.

Step 8

And corresponding sockets (if used) on the front side of the board. Version 1: Make sure you insert them into the holes which are marked by the rectangles. Version 2: there’s only one option so it is straightforward.

Step 9

Add socket for OLED display. Keep in mind height of your Pro Micro which may be different based on if/which socket’s you have used for Pro Micro. Check everything before soldering.

Step 10

This is how the backside (bottom) should look at this stage.

First test

Step 11

Now it is already possible to connect the ProMicro and OLED display to the board, flash the firmware and check if all keys work using a piece of wire or tweezers.

Rotary encoders

Step 12

Both halves assembled, a rotary encoder can be added on both, one or none. I have also cleaned flux residue from the back side using some isopropyl alcohol, cotton buds and paper towels.

Keyboard switches and plates

Step 14

Snap first switches into corners.

Step 15

Mount the stand-offs to the top plate.

Step 16

Carefully snap the first switches to the sockets. Be careful so you don’t bend their contacts. Add more.

Step 17

Until they are all in place.

Step 18

Double-check the bottom. You should see all the contacts in sockets.

Step 19

And mount the bottom plate.

Step 20

Completed half of the keyboard waiting for keycaps.

Finishing touches

Step 21

Put at least 4 adhesive rubber feet in the corners so the keyboard is not moving when you type.

Warnings and disclaimers

Firmware and programming

Sofle keyboard uses QMK Firmware and support for the board is part of the main QMK repository. There’s also a basic support in QMK Configurator but there’s no default layout yet and encoders are not supported.

Suggested approach is to build the firmware yourself. You should be familiar with QMK and be able to make it work on your local environment. If not, please follow the instructions in the documentation.


Elite-C v3.0

Elite-C v3.0 had problems when used with split boards (on both halves). Those are fixed in version 3.1. For v3.0 add #define SPLIT_USB_DETECT to config.h file. I don’t have Elite-C so this is untested, but should work.

Typing lag when used without OLED

If you chose to not use OLED for both halves you should disable support for oled (set OLED_DRIVER_ENABLE to no in keymaps/defualt/

If you don’t use OLED only on one half you are need to do one of the following to fix the lag:


Inverted silkscreen

If you fancy an inverted silkscreen there’s a great guide available.


  1. Serial is the default behaviour. If serial is used, you don’t need TRRS cable (4 contacts, used for headphones with a microphone) but just TRS (stereo audio jack).  2

  2. This can be changed, look for setting handednesss in QMK documentation.