marvelous65 icon indicating copy to clipboard operation
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

ko-fi

Reference

  • nrfmicro 1.4 https://github.com/joric/nrfmicro/wiki
  • nice60 pcb https://github.com/Nicell/nice60
  • ZMK firmware https://github.com/zmkfirmware/zmk