
Apiaster
nmunnich/apiaster
Apiaster is a 50 key keyboard designed to be cheap, adjustable, and upgradeable.

Apiaster is a 50 key keyboard designed to be cheap, adjustable, and upgradeable.
Apiaster is an open-source printed circuit board by nmunnich, from the nmunnich/apiaster repository on GitHub. It is a 2-layer board of 146.1 × 118.8 mm with 105 parts on 62 nets, routed with 1,239 tracks and 187 vias.
Its parts include 30 diodes, 6 connectors and 1 IC. It belongs with the keyboards and input boards and the nRF52 and nRF5x boards of this library.
Apiaster is a 50-key split keyboard with both an MX and a Kailh choc (v1 & v2) version. It is designed with price and flexibility in mind. The Apiaster is named after the European bee-eater. Apiaster runs ZMK firmware, with the customisation of keymaps, layers, and behaviors allowing it to output every key present in a 108-key 100% keyboard and more. In its most basic form, Apiaster can be built for a total of $36.35 in parts, not including shipping/tariffs/customs or tooling. A version costing $39.11 can be "upgraded" with additional features such as Bluetooth over time.
There are a number of reasons why someone might be interested in a split, column-staggered1 keyboard such as the Apiaster. Most commonly, ergonomics and comfort. Ergonomics is something that tends to be specific to each individual though, making selecting such a keyboard difficult. Both individuals lost for choice and individuals who have amassed a collection of three or more keyboards in the search for their perfect ergonomic experience are not uncommon to see.
Apiaster was designed with flexibility in mind, in particular:
![]() |
|---|
| Render showing some of these adjustments |
This extra flexibility allows individuals to tune the Apiaster to their liking, either providing them with a suitable "endgame" or allowing them to narrow down what specific layout they want quicker.
Cost is one of the biggest barriers to entry for ergo-split keyboards. A set of keycaps and switches alone costs more than a cheap basic membrane keyboard. Commercial offerings tend to be either expensive or unreliable. To reduce this barrier to entry, Apiaster is flexible once more:
![]() |
|---|
| RP2040-Zero on the left, XIAO nRF52840 on the right |
![]() |
|---|
| MX (18mm), Choc v1 (10.6mm), Choc v2 (12mm) in that order. |
![]() |
|---|
| LiPo on the left, coin cell on the right. The ordering guide informs you of dimensional constraints for a LiPo battery. |
With a split-ergo keyboard, reduced mouse usage is common, and some go so far as to build a pointing device such as a trackball or a trackpad into their keyboard. In theory, Apiaster should also have this capability (on the right hand side only, when used via Bluetooth only). However, this is currently untested and lacks case adjustments as I do not have the hardware to implement and test such a pointing device.
Keyboard ergonomics is a complex topic. There is a lack of research in the particular topic of how beneficial a split keyboard actually is, despite plenty of individuals claiming their benefits - it is simply difficult to get the necessary participants and dedication to such a research study. Moreover, everything in the body is linked - some may find it more beneficial to get a more suitable chair, or a desk at a different height.
Without going into too much detail, I want to provide a brief overview of what is now commonly agreed upon, and how some of the design decisions of this keyboard were made as a consequence. A read of this page can be a good introduction to some good typing habits.
There are multiple benefits to a fully split keyboard, i.e. one that consists of two completely separated halves. The obvious intuitive reason is that you can dedicate one half to each hand, but let's explore the rabbit hole a bit, shall we?
For long-term comfortable typing, a neutral wrist position is preferred. Not a perfectly neutral position, at least not for most people, but a comfortably neutral position.
Your shoulders are on the side of your torso. If your keyboard is directly in front of you and you try to place your hands in line with your keyboard, then you cause ulnar deviation. Most people who learned to type naturally, i.e. were not taught bad typing habits in a classroom, will have their hands at an angle to their keyboard when at rest. It makes sense to angle the keys that each hand uses towards them, to bring the keyboard in line with your arm and hand movement, encouraging a neutral wrist.
While there exist many designs for unibody keyboards which have angles between halves dedicated to each hand (e.g. the ffkb), a true split allows for every individual to angle the halves at whichever angle and distance is most comfortable to them. The angle at which you want your keyboard and how close you want the halves to be is related to how far away you want it from your torso.
Fully split keyboards also allow for tenting. This prevents over rotation of the wrist, allowing for a more neutral position. The ideal tenting angle is again, dependant on the individual and the distance at which the keyboard is from the user.
Aside from the above ergonomic benefits, split keyboards are also just nice to have for some other, miscellaneous reasons. They free up space in the middle of your desk, perfect for a mug or a glass or especially for a cat that used to love lying on your keyboard. You can mount the halves to your armrests. While gaming, you can put away one half and free up a ton of room for your mouse.
Most keyboards commonly used today are "row staggered".

Row stagger originated with typewriters due to mechanical reasons, and it's just sort of....stayed. Row stagger forces your fingers to move from side to side as they move up and down rows. We can do better.
Column staggered keyboards stagger the keys in line with your fingers.
![]() |
|---|
| Menura Keyboard |
The amount of stagger that is ideal is generally related to the lengths of each finger. Apiaster's stagger is not as mild as the corne, nor is it as extreme as the ferris. The ring finger stagger is slightly less than that of the index, making it more suitable for those whose ring finger is longer than their index, at the cost of being less suitable towards those with the opposite.
Some keyboards also introduce what is known as "splay", where the columns are no longer parallel to one another, but splay outwards. This is because for most people, our fingers will naturally splay outwards to some degree as they are stretched.
![]() |
|---|
| Totem Keyboard |
Apiaster features column stagger, but it also features a row staggered number row. The inclusion of a number row was desirable primarily because:
The number row was row staggered in addition to being column staggered for two reasons:

The specific values chosen for the row stagger also allow the ring and index finger to hit the 2 and 3 without issues, and it happens to closely match the relative stagger of the number row when fingers are resting on WASD on a standard QWERTY keyboard. (Gaming on this keyboard would use the keys labeled DRTS in place of WASD, though the positions matter, not the keyboard layout).
Thumbs are underused massively with standard keyboards. Ergonomic keyboards will commonly take advantage of their split nature to offer a thumb cluster with more keys than just one.
The thumb cluster is the most difficult part of the keyboard to get right. Variations in hand size, thumb flexibility, etc. can cause wide variations in preferred hand positions. Compare the corne [blocked] to the cheapino for example. The ability of the Apiaster to move the thumb cluster is very advantageous in this respect. There are still some points I wish to touch upon, though.
Apiaster is capable of having both standard keycaps at an 11 degree angle between keys or it can use a thumb cluster I designed, which has its own advantages (read the README in the repo) but unfortunately needs to be 3D printed.
The ordering and build guide for this keyboard can be found here.
Firmware can be found here.
There are a number of people and projects which served as inspiration and motivation for this project. Thank you to Sadwitch and tompi (cheapino) for serving as initial inspiration for the concept, and again to Sadwitch for helping with various little bits. Thank you to carrefinho for letting me use some of their art. Thank you to petejohanson and bravekarma for all of their work on ZMK. Thank you to hookykb for writing the charlieplex driver, which this keyboard relies upon. Thank you to quappo for providing the inspiration for the inner key column alternative keys. Finally, thank you to sadekbaroudi and all of the lovely folks on the fingerpunch Discord. Keep being awesome.
Certain images in this README were taken from the websites of manufacturers or vendors and can be taken down on request.
This README and any images which I have the rights to are licensed under CC BY-NC-SA. Individual parts of this repo are licensed under different terms which can be found under their corresponding folders. In particular:
/pcb is licensed under CERN OHL-S./case, in particular the source code used to generate the case, is licensed under MIT.The number row is also row-staggered, this will be discussed in the next section. ↩
| Qty | Value | Footprint | References |
|---|---|---|---|
| 30 | 1N4148 | apiaster:D-SOD123-DO35-7mm-horizontal-combo_rev | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +14 |
| 30 | SW_Push | apiaster:SW_MX_HS_CPG151101S11_1u_rev | RC0-1|0-6, RC0-2|0-7, RC0-3|0-8, RC0-4|0-9, RC1-0|1-5, RC1-2|1-7, RC1-3|1-8, RC1-4|1-9, RC2-0|2-5, RC2-1|2-6, RC2-3|2-8, RC2-4|2-9, RC3-0|3-5, RC3-1|3-6, RC3-2|3-7, RC3-4|3-9 +14 |
| 20 | Jumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1, JP2, JP3, JP4, JP5, JP10, JP12, JP13, JP14, JP15, JP16, JP17, JP18, JP19, JP21, JP22 +4 |
| 10 | 1N4148 | apiaster:D-SOD123-DO35-7mm-horizontal-combo | DS1, DS2, DS3, DS4, DS5, DS6, DS7, DS8, DS9, DS10 |
| 6 | MountingHole | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad | H2, H3, H4, H5, H6, H7 |
| 2 | Thumb Reconnector | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J4, J5 |
| 1 | Battery_Cell | apiaster:BatteryHolder_CR2032_20mm | BT1 |
| 1 | Conn_01x04_Socket | apiaster:BMS 1S | J3 |
| 1 | JST PH 3 pin | Connector_JST:JST_PH_S3B-PH-K_1x03_P2.00mm_Horizontal | J2 |
| 1 | Seeeduino Xiao nRF52840 | apiaster:xiao+zero_combo | U1 |
| 1 | TentingPuck | apiaster:TentingPuck | H1 |
| 1 | USB3_A | apiaster:USB3_A_Aliexpress | J1 |
| 1 | ~ | apiaster:vik-keyboard-connector-vertical | J6 |
It measures 146.1 × 118.8 mm and has 2 copper layers, 1.6 mm thick.
105 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the nmunnich/apiaster repository on GitHub, at the commit this page was made from: the board is pcb/apiaster-mx/apiaster.kicad_pcb and its schematic pcb/apiaster-choc/apiaster.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask nmunnich before reusing the design.

nmunnich/apiaster
Apiaster is a 50 key keyboard designed to be cheap, adjustable, and upgradeable.

tominabox1/Le-Chiffre-Keyboard
Great thanks goes to Jake at P3D for really making the case amazing and open sourcing his work. Check him out at P3Dstore.com

mzuelch/CATs-Eurosynth
Analog Synth Eurorack Modules

BerkeleyHCI/PolymorphicBlocks
A Python-based hardware description language for PCBs for higher-level (block-diagram / system-architecture level) PCB design through libraries of directly reusable subcircuit generators.

PhysicsDptAngers/polyUAnalog
Open source, analog and polyphonic synthesizer

dezlidezlidezli/ahokore
Ahokore is a 36-key one-piece split keyboard, with full wireless functionality.

zaxour/TripleBypassV2Plus
Variant of Tian Feng's Triple Bypass V2 with fixes and functionality added

