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)