A 65% wireless hotswap keyboard with Rotary encoder, OLED display and RGB underglow.
FOR ADVANCED USER ONLY!!, THIS IS A DIY KEYBOARD AND NO ONE SELL IT, BUILDING THIS KEYBOARD REQUIRE YOU TO ORDER THE PCB FROM PCB MANU, SOLDER ALL THE COMPONENT YOURSELF, MAKING YOUR OWN PLATE AND CASE YOURSELF. IF YOU ONLY KNOW HOW TO ASSEMBLY A KEYBOARD, THIS IS NOT FOR YOU.
This keyboard is inspired by luantty2's Candy BLE (https://github.com/luantty2/nRF52840-instruction). When I first saw that I was like "Beautiful! Marvelous!" but that would be nice to make that in 65%. So With no basic knowledge of electronic I brave myself to learn Kicad with the guide of https://wiki.ai03.com/. Basically this is just an nrfmicro 1.4 by Joric embedded in PCB. I also learn some basic Fusion 360 to make a keyboard case and plate.
When I finish designing this, I realize I am not he first one to design this, there is someone in zfrontier forum already done it, it is called Rainbow65, check it out https://www.zfrontier.com/app/flow/e1rpMAd9Nz75. and there is someone planning an IC for similar layout and feature.
Before flashing the firmware, you have to flash the bootloader first. Follow the nrfmicro guide to flash the bootloader https://github.com/joric/nrfmicro/wiki/Bootloader
The firmware will use ZMK. Basic setup ZMK firmware https://zmkfirmware.dev/docs/development/setup.
copy the firmware file to app/boards/shields
. Edit the keymap or any other feature as you want and build the firmware using the following command
west build -p -b nrfmicro_13 -- -DSHIELD=marvelous65_rev2
west build -p -b nrfmicro_13 -- -DSHIELD=marvelous65_ergo
west build -p -b nrfmicro_13 -- -DSHIELD=marvelous65_split_right
west build -p -b nrfmicro_13 -- -DSHIELD=marvelous65_split_left
- Dual mode wireless and wired
- rotary encoder
- oled display
- rgb underglow
- hotswap (except split version)
- multilayout (except ergo version)
the marvelous65 standard and split version I route it manually. the ergo version I semi auto route it with freerouting. I know a little about electronic, if you have some suggestion or want to coorect the PCB/schematic feel free to make a PR or open an issue.
try it in KLE (Support ISO, stplit backspace, split spacebar, stepped caps)
try it in KLE (Support split backspace and stepped caps)
try in in KLE (Support ISO, stplit backspace, split spacebar, stepped caps)
All the case is all 3d printed, except the ergo version have acrylic version case. The case have 3 part, top, middle and bottom. the top and bottom using PLA with 20% infill, while the middle use transparent PLA with 100% infill(to diffuse the underglow RGB) I only know some basic 3d knowledge, so if my case is not to your liking you can design your own case and make a PR or keep it to yourself. Here some rendered Image from fusion 360. The case is top mount. Using M2x5/M2x6 threaded insert and M2 screw (I don't remember the exact size, just buy a set of m2 screw.) The plate for marvelous65 and marvelous65 ergo is sandwiched between top case and bottom case,
I am too lazy while designing this one, so I only design ANSI layout case. The plate is integrated to the case, so if you want different layout you want to make another case.
t0sfN7c.mp4
nWCBiLK.mp4
See BOM file for JLCPCB in release page. also I added IBOM for reference when you will solder it yourself
Marvelous65 IBOM https://karnadii.github.io/marvelous65/Marvelous65/Hardware/bom/ibom.html
Marvelous65-ergo IBOM https://karnadii.github.io/marvelous65/Marvelous65-ergo/Hardware/bom/ibom.html
Marvelous65-split IBOM https://karnadii.github.io/marvelous65/Marvelous65-split/Hardware/bom/ibom.html
any lipo battery will do, i use 2.4 JST XH connector. it is better to use 3mm thickness battery.
for the pcb JST XH2.54 Right Angle Pin Header Connector 2P for battery JST XH 2PIN male. All the battery that I purchase have no connector/socket, so I have to solder it myself. Be carefull when soldering, pay attention to the negative and positive of the battery.
I am using this battery. Ignore the label the actual size is 3300mAh.
- add acrylic case version
- add multi layout case for split version
- fix ergo version plate (misaligned one screw hole)
- marvelous65 ergo 3d printed case split version
- designing logo and silkscreen
- add assembly guide
Help me order prototype PCB for next revision
- nrfmicro 1.4 https://github.com/joric/nrfmicro/wiki
- nice60 pcb https://github.com/Nicell/nice60
- ZMK firmware https://github.com/zmkfirmware/zmk