Phendrana is a split Keyboard based on the nrf52840 and ZMK, inspired by icy themes. Designed to be modular and configurable, the keyboard has breakaway sections for easier configuration, as well as swappable switches, batteries, and microcontrollers.
This is the accumulation of knowledge from designing many Keyboards before. In my opinion, it is one of the best projects I've designed, and one of the proudest I've done. It is by far the project I use the most often, with my actually designing this website while typing on it. Due to this, I believe there is not much more I can add, and have little interest in designing another keyboard now.
Features
- Longer Battery Life
- Multiple Bluetooth Connections
- Single-colour Backlight
- Cherry MX and Kailh Choc compatible
- Swappable Switches, Battery, and MCU
- 3D Printed Case
Skills Learned:
- Embedded Systems
- PCB Design (KiCAD)
- C/C++
- Zephyr (and Zephyr Mechanical Keyboard)
- Lithium Batteries
- Power Management
- Power Regulator Design
- I2C
- LEDs
- 3D Printing
Firmware
Firmware can be found here on the Github Repo
To compile the firmware:
Before flashing, ensure the .UF2 bootloader is installed. It should be version 0.7.0, which can be downloaded here
The file should be named "nrf52840_m2_bootloader-0.7.0_s140_6.1.1.hex", if the M.2 is bought seperately, you will need the Makerdiary Developer Kit Dock to upload it
- Download the Phendrana Firmware repo
- Follow the ZMK Toolchain Local Build Setup Guide
- Place the Phendrana files in the zmk/app/boards/shields/phendrana folder (you will need to make the folder)
- It should look like below:
- Open the zmk/app folder in terminal
- Use the command "west build -b -p nrf52840_m2 -- -DSHIELD=phendrana_left" to build the left half firmware
- Use the command "west build -b -p nrf52840_m2 -- -DSHIELD=phendrana_right" to build the right firmware
- Upload both firmwares, to their respective halves, attempt to powerup at a similar time (The halves should automatically connect to each other)
Hardware
Currently the Hardware files are not released. The 3d case files are intended to be released at one point, however I wish to fix the files first, and provide more files for different versions of Phendrana.
KiCAD/Gerber files likely won't be released, and neither would the BOM. This is because it wasn't really designed to be built by others, and I'd want to do a complete overhaul if others were to build one. If you'd like Phendrana, contact me
Parts Needed
- Choc V1 Keyswitches
- Any Choc V1 Low Profile switch should fit
- 85 Switches needed, recommended to buy 90
- Choc Keycaps
- Other keycap sets work, but this keyboard is specifically designed for this set. Other sets or individual keys will create gaps between keys
- Choc Stabilizers
- 6x 2U Stabilizers needed, recommended to get the "8 sets"
- BL-5C Battery
- Ensure the size is over 1000mAh
- USB-C cables
- Any USB-C to USB-A cable should work. USB-C to USB-C cables will not work
Versions
Rev 1.0.0 - Initial Release - Small errors, requiring 1 wire for USB connection, as well as other small wires to fix small trace errors
Rev 1.0.1 - Unreleased - Fixes errors from Rev 1.0.0
Instructions
Partial instructions for Phendrana exist, however complete instructions to build from scratch are unavailable.
Assembly Instructions Here:
Can I buy this?
Currently a few Phendrana's have been given to friends, from extra parts I had when making my own. I do not really intend to sell them.
For various reasons, I won't sell them. I can only really sell a PCB and BOM. If you have SMD skills, and want one, get in contact. Please note that prices are subject to change, and lead times may be long (likely about a month).
Notes
Phendrana is a keyboard that attempts to follow the ZMK design language. This introduces a few unique features to the board, that may be odd the first time used. These are:
- Power, there is no outside power switch for Phendrana, it relies on sleep modes to save power
- Internally there is a power switch, however it was designed as more of a power switch for long transport
- Phendrana has two sleep modes:
- Idle - LEDs turn off, keyboard is still connected (~30s after you've stopped typing)
- Sleep - Keyboard disconnects from devices to save power from Bluetooth (~15m after you've stopped typing)
- These timings can be changed in the .conf files (for left and right), using these parameters: https://zmk.dev/docs/config/power#idlesleep
- Phendrana can be used either through USB, or Bluetooth, if connected to a PC using USB, it will always send keystrokes to the PC through USB
- You should still be able to charge while using Bluetooth, you just would need to use an AC adapter to do so
- It should be noted that Phendrana won't work with USB C-C cables
Default Key Combinations
- CAPS Lock (Labeled " Del" due to key sizes) and Function
- Modshifts, if tapped, CAPS acts as CAPS Lock, Fn acts as Right Windows
- Layer 1:
- F1-F6 change Bluetooth input (use this to connect multiple PCs)
- Windows removes ("forgets") Bluetooth pairing - remove from client side when you do this
- Volume Down changes to mute
- Left/Right arrow change to Previous/Skip music
- ESC turns off LEDs
- Tilde increases LED Brightness
- Tab decreases LED Brightness
- Other layers are not currently implemented, however could be added
LED Functionality
Power LED functionality is listed below:
- Green (Top): Power Good, if power is connected, this LED is on
- Red (middle):
- If battery is connected, LED is on for charging, off when charge is complete
- If battery is disconnected, this LED is high impedance (it will flicker at a lower brightness)
- Red (bottom):
- If battery is connected, LED is on when charge is complete (off when charging)
- If battery is disconnected, the LED is on
Troubleshooting
- Stabilizers Bind:
- Check that Stabilizers are installed evenly
- Check if there is a screw beside the stabilizer, if so, loosen screw
- Bluetooth not connecting:
- Reset Master (Left) PCB (Reset switch, ESC+CAPS+CTRL, or remove battery)
- Right side isn't connecting:
- Remove batteries from both sides, and install batteries close to the same time
- If problem persists, use "Settings_reset.uf2" on both sides, then upload "PhendranaL.uf2" and "PhendranaR.uf2" to the respective sides
- One side starts blinking lights
- Battery is on the edge of dying, and needs to be charged (happens due to the battery protection IC)
Default Phendrana bindings, and Settings_reset can be downloaded here
Images: