Welcome to the official build guide for the Flake keyboard! This guide is designed to be comprehensive and easy to follow, even if this is your first time building a keyboard.
I recommend reading through the entire guide once before you begin to familiarize yourself with the process.
Before you start soldering or assembling, make sure you have all the necessary components and tools.
- Soldering Iron: A quality soldering iron with adjustable temperature control is essential.
- Solder: Lead-free solder is strongly recommended for health and safety.
- Flux: A flux pen or paste will make soldering significantly easier.
- Tweezers: Essential for handling small components.
- Screwdriver: For the M2 screws used in the case.
- (Optional) Multimeter: Useful for troubleshooting.
You will need the manufacturing files for the PCB and the enclosure. You can find all the necessary files and instructions on where to order them here: ➡️ Essential Files and Ordering Guide
The required components vary based on the size of the keyboard you are building. The number of keys for each size is:
- Small: 40 keys
- Medium: 46 keys
- Large: 58 keys
| Component | Small (40) | Medium (46) | Large (58) | Notes |
|---|---|---|---|---|
| Soldering Components | ||||
| Anywhy Flake v2 PCB | 2 | 2 | 2 | One for each half |
| Seeed Xiao nRF52840 | 2 | 2 | 2 | The microcontroller |
| JST 1.25 SMD 2pin Horizontal Connector | 2 | 2 | 2 | For the battery |
| MX Hot-swap Sockets | 40 | 46 | 58 | See note below |
| Choc Hot-swap Sockets | 40 | 46 | 58 | See note below |
| 1N4148 Diodes | 40 | 46 | 58 | 1 per switch (SOD-123 or SOD-323) |
| Assembly Components | ||||
| Soldered PCB | 2 | 2 | 2 | From the step above |
| Switches (Choc v1/v2 or MX) | 40 | 46 | 58 | 1 per socket |
| Keycaps | 40 | 46 | 58 | Must be compatible with your switches |
| Enclosure | 1 set | 1 set | 1 set | Includes top and bottom parts for each half |
| 502030 LiPo Battery (up to 502050 for Flake L) | 2 | 2 | 2 | Or smaller, with a JST 1.25 plug |
| 6x2mm Rubber Feet | 8 | 8 | 8 | |
| M2x4mm Stand-offs | 6 | 8 | 8 | |
| M2x4mm Flat Countersunk Screws | 12 | 16 | 16 | e.g., DIN965 |
Note
Sockets: The Flake PCB supports both MX and Choc switches simultaneously. This guide shows you how to solder both socket types for maximum flexibility. If you are certain you will only ever use one type of switch, you can choose to solder only the corresponding sockets (MX or Choc) and omit the other set.
This is the most detailed part of the build. Take your time, work in a well-ventilated area, and double-check your work as you go. Always use flux, start with a small amount of solder and add more if needed.
The Flake uses a reversible PCB. This means you use the same PCB design for both the left and right halves - you just flip one over. The assembly process is identical for both halves. This guide will walk you through building one half. Simply repeat all steps on the second PCB, ensuring it is flipped to the opposite side.
Due to the manufacturing process, the controller pin holes may be partially obstructed. Before placing the controller, you must carefully clear these obstructions using a tip of your tweezers.
If you are building the 40-key Small version, as I do in this guide, you must snap off the outer pinky column from both PCBs. If you are building the Medium or Large version, skip this step and leave the PCBs intact.
Lay out the PCB and the components you will be soldering for one half.
Tip
If your battery doesn't have a JST plug, you can solder it directly to the RAW (+) and GND (-) pads next to the JST footprint. However, this is not recommended as it makes the battery difficult to replace later.
- Place the JST 1.25 connector onto its footprint at position
BT1. - Solder the two large mounting pads to secure connector.
- Solder the two small pins.
Important
Proper alignment is critical. A misaligned controller may prevent the keyboard from fitting into the enclosure.
- Place the Xiao controller onto its footprint inside the
U1outline. The USB-C port should face outwards. - Solder one corner pin to tack the controller in place.
- Check the alignment. If it's crooked, re-heat the pin and adjust.
- Once aligned, solder the diagonally opposite corner pin to lock it in place.
- Proceed to solder all remaining pins.
- Flip the PCB and solder the
RAWandGNDpads under the controller.
Warning
Diodes are directional! The line on the diode must match the line on the PCB silkscreen. An incorrectly oriented diode will cause that key to fail.
For each switch position:
- Add a small amount of solder to one of the two diode pads.
- Using tweezers, slide a diode into place, re-heating the solder blob to secure one side. Ensure the line on the diode aligns with the line on the PCB outline.
- Solder the other leg of the diode.
- Flash the left firmware as per Flashing Guide on both keyboard Controllers
- Connect one keyboard half via USB-C to your host
- Use Via either in browser or install the app
- Start Via, select your keyboard, go to the keyboard tester and use some solder wire or tweezers to bridge each socket's pad. You should hear a sound and see that the respective key was pressed in the keyboard tester UI. If both halfes work, you can continue with the next steps and should not run into any bigger issues, as you just tested that all Diodes work as well as all connection to the Controller
For each switch position:
- Place the MX socket in the top position and the Choc socket in the bottom position.
- Solder both metal legs on each socket.
Congratulations! You have a fully soldered PCB. Take a moment to inspect all your solder joints.
Now, repeat the entire soldering process for the second PCB. Remember to work on the opposite side of the PCB so it becomes a mirror image of the first half.
With both PCBs soldered, it's time to put everything into the enclosure.
- Gather the soldered PCB, case parts, battery, standoffs, and screws.
- Screw the M2x4mm standoffs into the bottom half of the case.
- Seat the soldered PCB into the top half of the case. Connect the battery's JST plug and place the battery into its dedicated cutout.
Warning
Battery Safety: Triple-check the polarity before connecting battery. Connecting the battery backwards (red wire to GND (-), black wire to RAW (+)) will destroy the microcontroller.
- Carefully place the bottom plate onto the top part, aligning the standoff holes. Stick the self-adhesive rubber feet onto the dedicated spots on the bottom of the case.
Tip
For the second half, place the feet on the opposite corners. This allows the two halves to sit flush against each other back-to-back for transport.
- Insert the M2x4mm screws from the top and tighten them. Do not overtighten.
Repeat this assembly process for the second half of the keyboard.
Important
If you are using MX switches, you must place the included MX plate onto the keyboard before inserting the switches.
- Insert Switches: Gently press your chosen switches (MX or Choc) into the corresponding hot-swap sockets. Ensure the switch pins are straight to avoid bending them.
- Install Keycaps: Press your keycaps firmly onto the switch stems.
Congratulations on building your Flake keyboard! Your keyboard is now physically complete.
The final step is to flash the firmware to make it fully functional. Please proceed to the next guide: ➡️ Flashing Guide
- Check all your solder joints again. Use flux, maybe a lot of flux. It will help creating nice solder joints.
- Measure all diodes using a multimeter, maybe one was destroyed by too much heat during the solder process. They should all face the same direction (check the PCB again) and pass the test using the multimeter.
- If you think one key is non-functional: Use a multimeter, press the faulty key or bridge it using a tweezer or a cable, measure respective Pins on the microcontroller for continuity. Use the kicad schema to know which row/col maps to which pins.
- If you are in doubt, that you killed your Controller, build the testing firmware, flash it to the Controller and test each pin + ground using e.g. some solder wire. In a text editor you should see pin after pin once you bridge them with ground. For more details check the documentation

















