FancyBoard
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:

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

microcontroller symbol done!
+3 hours

done with ST7789_Module symbol
current progress of schematic
+2 hours
adding 2 MCP23017 because i need a lot more io
july 29th

added all the components, need to complete wiring

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

done with schematic, pull ups and capacitors
need to make footprints and assignments


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

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/

fixed the layout, need to route now
finshed layout fully, routing time
+5 hours
july 30th

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

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

+4 hours

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)