FancyBoard

Created by [Darsh Gupta] • Started on July 28, 2025

A custom, low-profile, hot-swappable mechanical keyboard.

time spent: 36 hours

july 28th

speedrunning a keyboard before the 31st, just because

i was inspired for making this keyboard by the KNOB keyboard, which ive seen and always thought looked like the perfect keyboard. unfortunately, its $439, bad, so i'll try to make something similar for $150

KNOB: KNOB

planned features: - nice mechanical switches - keycaps, i wont be using low profile because i personally dont like it - hotswappable - 2 dials - oled screen - both usb c and bluetooth connectivity - usb c charging - 3000mAh battery for big battery life

ill be using the nice!nano v2 because it consumes very little power, has battery charging built in, and has bluetooth HID + usb c HID already

parts list:

Component Part Notes
Microcontroller Nice!Nano V2 nRF52840 + integrated battery charger
Battery 3.7V Li-ion 3000mAh (flat, JST-PH) Rechargeable
USB Port JST to USB-C charging cable Board already has onboard USB
Rotary Encoder EC11 w/ push button For volume/menu
Screen ST7789 1.14" SPI, vertical https://www.aliexpress.com/item/1005009445748262.html
Component Part Notes
Switches 78x Tactile MX Switches
Diodes 1N4148W SMD
Hotswap Sockets 78x Kailh MX sockets
Keycaps SA / DSA / OEM profile PC or PBT preferred
Encoder Knob Aluminum / ABS cap

schematic

2

microcontroller symbol done!

+3 hours

3

done with ST7789_Module symbol

4 current progress of schematic

+2 hours

adding 2 MCP23017 because i need a lot more io

july 29th

5

added all the components, need to complete wiring

6

finished most of everything, need to add some pull up resistors and capacitors and stuff

+3 hours

7

done with schematic, pull ups and capacitors

need to make footprints and assignments

8

9

done with both footprints

+3 hours

keycaps: https://www.aliexpress.com/item/1005004840360158.html

deciding on Kailih Choc V2 Low Profile Switches

stabalizers: https://www.aliexpress.com/item/1005001781468636.html

spdt switch: SS12D00

10

fixed a few symbol and footprint issues, starting pcb

switching to choc v1 because its easier https://shop.beekeeb.com/product/kailh-choc-v1-hotswap-socket/

11

fixed the layout, need to route now

12 finshed layout fully, routing time

+5 hours

july 30th

13

almost finished routing, need to route rows/columns and other components

finished routing rows and columns 14

apparently the footprint library had the sockets flipped, so i had to edit the footprint library and then reroute all the keys unfortunately

cooked but oh well

15

+4 hours

16

completely finished pcb, working on models

+2 hours

changed switch, cleaned up some wiring, added 3d models for everything, changed some footprints

pcb fully done !!

+2 hours

july 31st

manually adding keys cause kicad doesnt export stretched components properly (its sooooo slow)

also made the bom

+3 hours

done with pcb cad

top plate cad done

bottom plate mostly done, need to add usb cutout still

working on case

cad mostly done need to add some design later

+4 hours

firmware:

based it on the bt75_v1 firmware, as its very similar

using https://nickcoutsos.github.io/keymap-editor/, i edited a zmk keymap for the keyboard

after some chatgpt consulting and perusing the docs, zmk is actually really complicated and lowkey a little gibberish, so im gonna switch over to bluemicron firmware, which also supports the nicenanov2 and has bluetooth, but uses arduino c instead of the mess zmk has

learning bluemicro: copied over repo and made my project, starting on config

finished code, mostly default but it should work

changed a bunch of BOM stuff to make pricing work

+2 hours

added cad designs

done !!

added render, filleted corners, assigned appearance to everything

added holes w fillet

+2 hours

changing design

finished editing plate

+1 hour

added mounting holes, m2 screws (hole is 18mm down)