Dot Board
DotâBoard Build Journal
Title: Dot Board
Author: Sarah
Description: Custom keeeb
created_at:
2025-07-25"
Total time spent: 22.5
July 22 â First Schematic (7.5 hours)
It was one of those nights when the rain had just stopped, my playlist was stuck on Lo-fi beats, and I was just sitting on my bed, staring at my half dead old keyboard. The thing looked like it had survived a zombie apocalypse. And the typing feel? Ugh, donât even ask. Every keystroke felt like I was arguing with a soggy biscuit. Thatâs when something clicked. Not on the keyboard, though. In my brain. I thought, âWhy not just make my own keyboard?â Not just assemble parts, but actually design everythingâthe PCB, the schematic, and the whole look. And thus, the dotâBoard idea was born, right there under my cheap fairy lights.
I opened up EasyEDA Pro and started a new project called âdot-Board v0.â No fancy names, just straight to the point. First, I decided I wanted something clean and minimal, like the Apple aesthetic but with actual soul. The layout in my mind was around 60%, no extra fluff, just pure keys and function. I dropped in a Pro Micro clone in the schematic view yeah, the classic one. I know itâs old, but it works.
Then came the diodes. I started building out the switch matrix, row by row. Seven rows, five columns nothing too crazy, but enough to feel custom. I carefully placed each 1N4148 diode in series with the switches, making sure the cathode was facing away from the MCU. Iâve messed that up before, trust me, itâs not fun to desolder thirty mistakes. I labelled every net properly this time: ROW0 to ROW6, COL0 to COL4. No shortcuts.
By the time I ran the ERC, the clock had struck 3:30âŻAM. Zero errors. That moment felt like my brain gave me a high five. I exported the netlist and called it a night, but I already knew tomorrow was going to be all about PCB layout and chai.
July 24 â PCB Layout and Routing Grind (9 hours)
The next morningâor should I say afternoonâI woke up at 1 PM. Still slightly groggy, but as soon as I saw my notebook filled with layout sketches, I snapped out of it. I booted up EasyEDAâs PCB view and imported the schematic. All the footprints were floating around like pieces of a puzzle. The default board outline was a random square, so I quickly changed it to a custom 280âŻĂâŻ95âŻmm shape. That size gave me enough breathing room for key spacing while keeping it compact on my desk.
The first thing I anchored down was the Pro Micro. I placed it bottom center, with enough clearance on the USB side for a front facing cutout. Then I lined up the switch footprints. This was the most satisfying part. Dragging and dropping each MX switch pad onto the grid, making sure the spacing was exactly 19.05âŻmm apart, and aligning everything to perfection. I kept imagining the keycaps Iâd put on later. I left space on the top-right corner for an OLED too even though I hadnât added it to the schematic yet. I might revise it later.
Next, I routed the power rails. Thick 32mil traces for GND and VCC, branching out from the USB-C breakout area. I used via stitching to link the top and bottom GND planes, then filled the rest of the space with ground copper pour. For the switch matrix, I went with 10mil traces for both rows and columns. I routed the rows on the top layer and the columns on the bottom, jumping between layers using vias whenever traces got tight.
Around hour four, things started to get messy. A couple of nets refused to cooperateâthey kept autoâsnapping to weird corners. I switched off the autorouter and did everything manually, nudging each trace pixel by pixel. For the optional buzzer, I made a small zone in the bottom left corner. I added an M3 mounting hole near each board corner, placed evenly from the edges, and added a silkscreen logo right above the Pro Micro area.
I enabled 3D preview and took a deep breath. Seeing the board in black solder mask with sharp white silkscreen lines made me smile like a madman. It felt like the digital version of holding your own invention. I tweaked the mounting hole alignment once again, ran the DRC, and fixed the last few overlapping traces.
July 25 â Bill of Materials and Case Design (5 hours)
I started the day with a mug of hot coffee and an Excel sheet open in front of me. The dreaded BOM. Everyone skips it till the end, but I wanted to get it done early. I listed out every component I used and where Iâd get it from.
Sixtyâone Outemu Red switches, âš1,850 from cosmicbyte.in. A solid set of PBT keycaps, âš2,450 from neomacro.in. Hotâswap sockets from Shaarvi Electronics, âš1,150 for a pack of seventy. The Pro Micro clone, âš800 on Amazon. Diodes, âš90. A pack of resistors and caps, âš130. USB-C breakout, âš200. Screws, standoffs, and plastic feet, âš180 total. After some rounding, the grand total stood close to âš8,900, or around $107. Not bad for a full custom board thatâs all mine.
Then I moved on to Fusion 360. The PCB outline was already clear in my head. I sketched the base plate, made it 3mm thick, then extruded the sidewalls to 11mm. I added slots for every key switch, rectangular holes for the stabilizers, and a front cutout for the USB-C port. On the top side, I gave each key a perfect 15Ă15mm hole, spaced just right. The mounting holes were easy to align using the PCB measurements.
I made a second body for the bottom case, this time with screw posts that matched the standoff placements on the PCB. I used the Combine tool to cut matching holes and tested everything using joints. No interference, no overlaps. Then I added a subtle side logo that says âdot-Boardâ in lowercase, using the Text tool and extruding it just 0.5mm out.
Finally, I exported both STL files and dropped them into Cura. At 0.2mm layer height, each half would take about 4.5 hours to print. I configured the bed layout for my Ender 3 and saved the G-code. It was around 7 PM by the time I shut down Fusion. I hadnât even printed anything yet, but seeing the rendered preview made me whisper: âYouâre real now, buddy.â
July 26 â QMK Firmware Setup (1 hour) With the design all set and the STL files ready to print, I decided to dive into the firmware partâat least the initial setupâbecause I wanted to lock in the layout while it was still fresh in my head. I opened up the QMK Configurator and began mapping the layout exactly as I imagined it during design. All the main keys were straightforward, and I kept things clean: a compact typing layout on layer 0, and a secondary layer for arrow keys, volume control, and maybe media playback later on. I added a function key to toggle layers, set up MO(1) on the bottom row, and assigned RESET to one of the top-right keysâjust in case I needed it during flashing. Even though I hadn't hooked up the board yet, it felt cool seeing the visual layout evolve into something that was truly mine. Once everything looked solid, I downloaded the .hex and .json files and saved them in my firmware folder labeled âdotâBoard_v0â.