Curve0 is a stainless steel keyboard that angles the switches instead of the keycaps for a better typing experience. It can be purchased here.
For maximum customizability, Curve0 comes as a kit containing only the essentials:
Stainless steel case, screws, and standoffs
PCB, daughterboard, and their connecting cable
4x small and 4x large adhesive rubber feet (for adjusting the angle to your liking)
You will need to acquire your own:
MX switches
PCB-mount stabilizers
Uniprofile keycaps
USB-C cable
And you will need some tools to assemble everything:
Phillips head screwdriver
Soldering equipment
Let's get started!
This step can be done at any point but if you do it first you can test everything before soldering.
First, download the firmware from the GeekHack post. You can choose the QMK, Via, or Vial version. See the bottom of this page for more details and how to remap on each.
Next, connect the daughterboard to the main PCB via the included JST cable. Then, plug your USB-C cable into the daughterboard.
PCB and daughterboard connected by JST cable, USB-C cable connected to daughterboard
The next step is to flash a firmware. To do so, you first need to get the PCB into the bootloader state.
For Curve0, if you haven't flashed a firmware yet, the PCB will enter the bootloader by default when you plug it in to your computer. Otherwise, you can force it to enter the bootloader by holding down the small physical button on the PCB while you plug it in. Once you have QMK/Vial flashed, you can also enter the bootloader by holding down the Escape key while you plug in the keyboard. You can also set a custom key combination to enter the bootloader.
You can tell it is in the bootloader if it is visible as a storage device on your computer.
To flash the firmware, simply copy the .uf2 firmware file onto the device.
Using a continuous piece of metal like a bent paperclip or a pair of tweezers, carefully bridge the two holes of a switch to emulate a key press. Be careful not to short anything else!
Using tweezers to emulate a key press without the switch installed
If the firmware was successfully flashed and the electronics are working, you will of course see the key pressed on your computer. You can find a free online keyboard tester for this.
If you are satisfied that the keyboard is working, unplug the JST cable from the main PCB so that it doesn't get in the way of soldering/assembly.
Install your PCB-mount stabilizers according to the layout you desire.
At most, for the standard layout, you will need stabilizers for backspace, enter, left shift, right shift, and spacebar (4x 2u, 1x 6.25u). Curve0 also supports split backspace, split left shift (typical like in ISO layout), and split right shift (both ways); if you are splitting a key it does not need a stabilizer.
Stabilizers installed. This particular build will have a split right shift so no stabiliizer was installed for right shift
Read this section before soldering!
First, open the keyboard assembly, remove the two daughterboard screws and the two screws from the spacebar standoffs and save them for later. Do not remove the spacebar standoffs themselves, as they are critical for spacebar stabilization.
Removing the Phillips screws from the daughterboard mounting tab
Make sure the spacebar standoffs are still tightly screwed in!
Next, insert your switches in the top plate (keep in mind the switches on the top row and spacebar are upside down).
Switches installed in top plate
Carefully put in your PCB, making sure all the switch legs go into their intended holes.
Tip: Take it slow! The PCB is covered in tiny traces and could get damaged by the switch legs or the case. If the PCB is not getting in position, there may be a switch with bent legs or that hasn't fully clipped into the plate.
The next step is to start soldering a column of switches in the middle from top to bottom. However, soldering in the switches is not as simple as in a typical keyboard. Since each row of switches is at a different angle, the PCB needs to be curved to match. To keep the PCB flush with the switch as you are soldering it, follow this process:
Warning: This process involves putting your finger in close proximity to the soldering iron. Be extra careful and proceed at your own risk.
First, solder one leg of the switch.
Push the PCB to be flat with the switch as you remelt the solder, allowing the PCB to move into place. Keep holding the PCB there until the solder cools, after which the solder joint will hold it in place.
Repeat with the other leg of the switch.
Pushing the PCB flush with the switch as the solder is remelted to allow it to move into place
It is not necessary to do this for every single switch in the keyboard but do it for a column in the middle and on the edges first as this will hold the PCB in roughly the desired shape. Most importantly, do it on every switch with a stabilizer before soldering in the switches near it on the same row; if the PCB under a stabilized key is not flush with the switch/stabilizer, the stabilizer may not function properly.
Columns of switches in the middle and edges soldered in, curving the PCB
At this point you can screw the PCB to the spacebar standoffs.
Screwing PCB into spacebar standoffs
Finally, solder in the rest of the switches!
First, carefully reconnect the daughterboard to the main PCB and screw it into the daughterboard mounting tab. The screws should hold the daughterboard securely in place but do not overtighten them as this may damage the daughterboard.
Daughterboard connected and screwed in
Finally, put the bottom plate on and screw it in!
Tip: When putting on the bottom plate, screw in each of the screws only a little bit so that the bottom plate can still wiggle around. Once all the screws are in the threads, tighten them the rest of the way.
Curve0 comes with two sets of rubber feet, four small and four large.
Putting a small foot in each corner of course results in the keyboard laying flat. In this case, the middle row would be parallel to the table. Since the keyboard is curved, there is no "keyboard angle" like in other keyboards but the closest measure is probably the tangent of the curve between the home row and the row above it. Using this measure, in the flat configuration, Curve0 has a keyboard angle of approximately 5°.
Adding two large feet to either the front or the back corners changes the angle by about 4°. Therefore, adding two large feet to the back results in a keyboard angle of about 9° and adding them to the front results in an angle of about 1°.
Large feet installed on the front corners
Again, the above measures are only approximations and don't even make much sense since each row has a different angle. Instead, your best bet is to ditch any preconceptions about keyboard angle and just see what feels right. Don't rush to commit to an angle as it may take a bit of time for your hands to get used to the curve and start working with it.
Have fun typing on your new keyboard! I'd love to hear your feedback; if you have any comments or questions you can join the Discord server or contact me directly at support@kbd0.com
Curve0 supports three firmware options: QMK, Via, and Vial. The compiled firmwares and keymap files are provided on the GeekHack post.
Unsure which to choose?
QMK is more barebones; in fact, Via and Vial are extensions of QMK that allow remapping on the fly.
Initial flashing is the same process for any of the firmwares but remapping keys is different.
Remapping with QMK requires creating and flashing a new firmware each time. The easiest way is to use QMK Configurator to customize the keymap and download the firmware. If you want to save your keymap in case you want to change something later, you need to download the keymap.json file and hold onto it (in fact, as of writing, the default keymap still hasn't been merged to the QMK Configurator repo. To start from the default layout instead of blank keys, download the keymap.json from the GeekHack post and upload that to QMK Configurator).
Regardless of which keys you split, if any, you can always use LAYOUT_all and just ignore the extra keys.
Remapping with Via is done on the Via website. If your keyboard is running the Via firmware, the site will detect that you have a Via keyboard and allow you to edit your keymap instantly. Note that at the moment, the files have not been merged into the Via repositories. Until then, in order to edit your keymap on the site, you need to turn on the Design Tab in Settings and upload the provided 60_ansi.json file.
Remapping with Vial is done on the Vial desktop application. If your keyboard is running the Vial firmware, the Vial application will detect that you have a Vial keyboard and allow you to edit your keymap instantly.