
Achroma MX
XinyiC222/Achroma
Wireless split keyboard with 36 keys. Low profile/MX and hot swapable.

Wireless split keyboard with 36 keys. Low profile/MX and hot swapable.
Achroma Choc is an open-source printed circuit board by XinyiC222, from the XinyiC222/Achroma repository on GitHub, published under the MIT licence. It is a 2-layer board of 116.6 × 99.3 mm with 77 parts on 65 nets, routed with 1,828 tracks and 211 vias.
It is built around the SK6812MINI-E. Its parts include 36 diodes, 2 switches and 1 IC. It belongs with the keyboards and input boards and the nRF52 and nRF5x boards of this library.
Achroma is a wireless reversible split keyboard with 36 keys that is powered by ZMK. It uses a nine!nano v2 replica from aliexpress. There are two versions of Achroma, the Choc/Choc_v2 compatible one, and the MX compatible one! This is still a work in progress. Theres only a case for the MX version. But there are two different pcb designs based on which one you want to use. Here is the ZMK source files: https://github.com/XinyiC222/zmk-achroma-config I made this after seeing countless split keyboard builds that people where making online and I wanted to join in on the fun! To use it you just have to turn on the on/off button that is connected to the battery. The pcb is designed in kicad and the case is modeled in Fusion360.
https://github.com/piit79/42keebs-kicad
https://flatfootfox.com/ergogen-part6-reversible-split/
https://github.com/kata0510/Lily58 (this has a great footprint library!)
https://github.com/aroum/PNCATEHO (reversible Choc footprints that fits both versions!)
https://www.keyboard-layout-editor.com/
https://nickcoutsos.github.io/keymap-editor/
https://github.com/adamws/kicad-kbplacer
Fusion360
Kicad
Before starting, you should have already made some kind of electronic project prior to this. It would come off easier if you've designed a pcb before. Reading guides you find online can be super helpful. there are many resources that I didn't link but anything online is helpful.
I first researched and wrote down what I wanted this project to look like at the end. Do I want it to be low profile or MX? Do I want this to be reversible? How much money do I want to spend on this? Do I want to make a custom layout, or do I want to use an existing one? Wireless? etc.
I ended up choosing to making my own layout and use ZMK for wireless. So I went ahead and looked for reversible footprints to use. I also wanted to use a battery for it. I then went into keyboard layout editor and made my desired layout.( I only made the left side first)
Then I created the schematics in kicad. It included a jst pin, a reversible nice!nano, choc/mx switches, LED, slide switch, and a reset button.
then using the .json file from the layout I made in keyboard layout editor and the kbplacer, I organized the keys for the left split.
spent a lot of time between editing the schematics, the pcb, and testing new footprint libraries. After a ton of trial and error I made the general layout I wanted.
Exported the gerber files and imported them into jlc pcb.
I then added 3d models to each of the footprints and import it into fusion to make the case(MX only)
I looked for components in aliexpress
Then I started reading through how to set up ZMK and made the firmware using github actions.
After you assemble the pcb and have printed the case out, use a M2 heat insert on all the holes in the case(5 total). Then place the pcb on top and use a M2 screw to tighten it in place.
Once you've build the physical item, flash the firmware into the devices. You can learn more about it in the ZMK docs. If you'll like to use the firmware provided, please head to the Firmware folder to download what i have for both the left and the right side.
Here's the BOM! The Quantity listed below are the amount you need. The links included come in bulks and vary depending on how much you are buyinh. All listed items are required for the build.
| Item | Purpose | Price | Quantity | Source |
|---|---|---|---|---|
| Nice!Nano V2.0 | Micro controller | $1.95 | 1 | Aliexpress |
| Nice!Nano V2.0 | Micro controller | $2.81 | 1 | Aliexpress |
| M2 6mm screws | securing the pcb | $1.37 | x10 | Aliexpress |
| M2xL3xOD3.2 heat inserts | for the screws | $0.99 | x10 | Aliexpress |
| Gateron Milky Switches | switches | $6.91 | x36 | Aliexpress |
| SK6812 MINI-E RGB | RGB | $3.61 | x36 | Aliexpress |
| Hotswap Sockets | sockets for switches | $1.33 | x36 | Aliexpress |
| Horizontal Microswitch | reset button | $2.04 | x2 | Aliexpress |
| PH 2.0 Horizontal Header Socket | for the battery | $1.80 | x2 | Aliexpress |
| SS12D00G3 Toggle Switch | battery on/off | $0.92 | x2 | Aliexpress |
| IN4148 SOD-123 | diodes | $2.08 | x36 | Aliexpress |
| 401030 3.7V 110mAh Polymer Lithium Battery | Battery | $9.72 | x2 | Aliexpress |
| Case | cover | x2 | 3d Printed | |
| PCB | connect everything together | $9.60 | x2 | JLCPCB |
| Aliexpress Subtotal | $36.66 | |||
| JLC Subtotal | $9.60 | |||
| shipping+tax | +$12.24 | |||
| Total: | $58.50 |
| Qty | Value | Footprint | References |
|---|---|---|---|
| 18 | 1N4148 | Diode_SMD:D_SOD-123 Reversible | D1, D2, D3, D4, D5, D6, D7, D10, D11, D12, D13, D14, D15, D16, D17, D18 +2 |
| 18 | SK6812MINI-E | PCM_marbastlib-various:LED_6028R_Reversible | LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED10, LED11, LED12, LED13, LED14, LED15, LED16, LED17, LED18 +2 |
| 18 | choc_v1_SW_HS | PNCATEHO:Kailh_socket_PG1350_reversible | CH1, CH2, CH3, CH4, CH5, CH6, CH7, CH10, CH11, CH12, CH13, CH14, CH15, CH16, CH17, CH18 +2 |
| 15 | LOGO | LOGO | G***, G***, G***, G***, G***, G***, G***, G***, G***, G***, G***, G***, G***, G***, G*** |
| 4 | MountingHole | MountingHole:MountingHole_2.1mm | H1, H2, H3, H4 |
| 1 | Conn_01x02_Socket | Connector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_Horizontal | Battery1 |
| 1 | RESET | Lily58 Pro:TACT_SWITCH_TVBP06 | SW1 |
| 1 | SW_SPDT_312 | SS12D00:SS12D00 | SW2 |
| 1 | nice_nano | PCM_marbastlib-xp-promicroish:nice_nano_AH_Reversible | U2 |

XinyiC222/Achroma
Wireless split keyboard with 36 keys. Low profile/MX and hot swapable.

google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

Bastardkb/Dilemma
The Dilemma is a vertical stagger low-profile keyboard with mods.

Pwnsat/FlatSat
Flatsat v1.0 is a hardware based platform for aerospace cybersecurity research

adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing

imchipwood/dumbpad
Simple 4x4 numpad with rotary encoder. Powered by QMK via ATmega32u4 Pro Micro

makerforgetech/modular-biped
An open source framework for creating a bipedal modular companion robot.


It measures 116.6 × 99.3 mm and has 2 copper layers, 1.6 mm thick.
77 parts, built around the SK6812MINI-E. 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 XinyiC222/Achroma repository on GitHub, at the commit this page was made from: the board is Project Files/Kicad/Achroma_Choc/Achroma_Choc.kicad_pcb and its schematic Project Files/Kicad/Achroma_Choc/Achroma_Choc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).