marvelous65
marvelous65 copied to clipboard
65% wireless keyboard powered with nrfmicro
Marvelous65 Keyboard Series
A 65% wireless hotswap keyboard with Rotary encoder, OLED display and RGB underglow.
Marvelous65
Marvelous65 Ergo
Marvelous65 Split
WARNING!!!
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.
Bootloader
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
Firmware
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
Features
- Dual mode wireless and wired
- rotary encoder
- oled display
- rgb underglow
- hotswap (except split version)
- multilayout (except ergo version)
PCB
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.
Marvelous65
Marvelous65 Ergo
Marvelous65 Split
Layout
Marvelous65
try it in KLE (Support ISO, stplit backspace, split spacebar, stepped caps)
Marvelous65 Ergo
try it in KLE (Support split backspace and stepped caps)
Marvelous65 Split
try in in KLE (Support ISO, stplit backspace, split spacebar, stepped caps)
Case
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,
Marvelous65
Marvelous65 Ergo
Acrylic case
3d printed case
Marvelous65 Split
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.
GIF
https://user-images.githubusercontent.com/18657277/117118259-c4ab1200-adba-11eb-80a2-d7a4a54a5487.mp4
https://user-images.githubusercontent.com/18657277/117118099-8dd4fc00-adba-11eb-8657-396213f3611c.mp4
BOM
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
Battery
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.
TODO
- 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
Support Me
Help me order prototype PCB for next revision
Reference
- nrfmicro 1.4 https://github.com/joric/nrfmicro/wiki
- nice60 pcb https://github.com/Nicell/nice60
- ZMK firmware https://github.com/zmkfirmware/zmk