KB75
A 75% mechanical hotswap keyboard with cool stuff
Total Time Spent On Entire Project: 53hrs
June 12th: The beginning of a new project......
Today I took the first steps of this project, I made the layout in KLE (Haven't tried Ergogen yet) and started with the schematic, most of the time was spent in making the layout so I didn't do much in the schematic, like I was only able to make a few sheets and add in a Pi Pico. I also decided the features and hardware to use. I decided: - Hardware: - Raspberry Pi Pico or Orpheus Pico. - MX-Style Hotswap Sockets. - SK6812MINI-E RGB LEDs and all the stuff for that like decoupling capacitors and logic level shifter. - EC11 Rotary Encoder with switch. - If GPIO isn't enough, I'll need to add in an MCP23017. - Maybe Type-C PD will be added so all the ICs and port for that. - The rest will be decided as we go on - Features: - Hotswappable MX Switches - A rotary encoder - Per-key RGB - Customizable firmware - Compact board (hopefully)
And that's all that I did today; KLE, Planning, A little bit of the schematic.
Total time spent: 3hrs
June 15th: The Matrix
This is my 2nd Day of working on this project. I made the matrix and decided to mae everything in one sheet with boxes and not seperate sheets, this is bc like I will need to go through different sheets just to see what nets go to what and it'll be a little more time taking. Anyways, I worked on the schematic and added all the keys, I still need to wire it all up but I decided to log rn so I dont forget, I will still work rn tho, btw I started at 1AM lol so yeah I haven't slept :(.
Total time spent: 4.5ish hours
June 15th - Log 2: Next Step - The PCB
I was finally able to finish my entire schematic, I added the RGB LEDs, Capacitors, and I thought of adding Type-C but the Pi Pico dosen't have any USB pins proken out, not that I know of. So I finished the wiring of the matrix, capacitors, and LEDs. So now I'll start the PCB and update then. Oh and I also added a rotary encoder w/ switch.
Total time spent: 2.5hrs
June 15th - Log 3: The PCB Layout
Now that I was done with my schematic, I finally decided to make the PCB, so I used kbplacer - a KiCad plugin that converts ur KLE JSON or Ergogen layout and places all the diodes, switches, and LEDs automatically according to ur layout. Once I did that, I decided where the Pi Pico should go, there was no space in the middle or anywhere so I added it on the right side, but this forced me to make the board larger, leaving some extra space on the bottom. So I added in a 0.91" OLED vertically, this minimized the empty sapce. I still haven't routed the board yet but it took me a long time to come up with multiple itterations, deciding where the Pico should go, doing multiple attempts on the board outline, and other stuff. I also rearranged the schematic a bit, I also made use of the ADC pins for i2c of the OLED and for the rotary encoders switch pin 1.
Total time spent: 2-3hrs
June 15th - Log 4: The end of the PCB
Another update: I'm finally done with my PCB!!! I dont even know how long it took me to route everything, but its finally done!!!!!! Now I need to make the plate and bottom which I'm thinking of doing using another 2 PCBs, bc like moddeling will take too long. But, if I have time and all then I might just make a 3D Printed case for it too so if anyone wants to make it they won't need to pay for 3 PCBs, I don't have a printer which is another reason why im thinking of making a PCB and I can maybe do some silkscreen art on the PCB too. Next update will hopefully be for when I'm done with the other 2 PCBs. PS: I dont know how muc time I worked for but I think it's well over 5-5.5hrs in total from since the last updates so 5.25hrs is the avg ig.
Also I didn't run DRC yet so I gotta do that too.
Total time spent: 5.25hrs
June 16th: Completion of the plate!
Hi! I'm finally done with my PCB-Plate, I was thinking of making a 3D Printable one but I'm too burned out from making this pcb based plate. Anyways, I'm finally done with it but I still need to make cutouts for the stabs and need to add stabilizers in the PCB too, otherwise Im done. Took me a long time to make this.
I'm gonna add some silkscreen later, like imma add in multi color silkscreen so for that I'll have to take this to EasyEDA once I'm done. The next update will be me done with the stabs and stuff hopefully.
Total time spent: 4-5hrs
June 16th - Log 2: Square one
AGHHHHHHH. I had to make my entire PCB again, because I had too many errors in that one, and I had to addin stabs but the wires were underneath the holes bc I added them AFTER routing everything, so I deleted the PCB and used this tool to make a new PCB, I then took my previous designed plate and placed it over the new PCB so I can make the same board outline again, I also added my OLED, Pi Pico, and encoder from the plate alignment. I also added in my LEDs one by one, now I need to add in the decoupling capacitors one by one aghhhhhh. This is gonna be hard........
Total time spent: 4.5hrs
June 17th (Midnight of June 16th): Routing, again
New update! I was finally able to precisely align all the decoupling caps, now I need to route all of this sadly. I def deserve at least 8 points for all my work lol.
PS: I'm not using blue switches, and uhhh I'm running out of ways to start a log, so I think there are gonna be bad intros bc this is getting awkward.
Total time spent: 3hrs
June 17th - Log 2: Rows
Hi! I have finally routed all the rows and the rotary encoder on my PCB, and most of the diodes are routed to the switch too. Now I need to route the columns, capacitors, and LEDs. Should't be hard right.......... right?
Total time spent: 1.75hrs
June 17th - Log 3: Colums
Hi, I finally routed all the columns and got them all connected to the Pi Pico, now I need to route the capacitors, LEDs and the OLED, which is........ 423 unrouted traces :((
Total time spent: 2hrs
June 18th: Recovery
New log! So as the title suggests my KiCad PCB corrupted :((, luckily KiCad makes backups, but...... the last 2 of those backups were also corrupted. But the 3rd one worked!! Some things weren't there so I added those again and routed all the +5V and GND connections, like I added a copper fill but some sections had to get connected with lots of vias and traces, but I got through it and now there are only 81 unrouted connections, considering that I have 82 Switches which means 82 LEDs, and I connected DIN of LED1, leaving us with 81 unrouted which means all thats left is DIN and DOUT connections. I also forgot connecting the RGB Data Pin and adding a logic level shifter so I added the BSS138 MOSFET and noticed I was out of pins on my pi, so I took my Encoders SW1 and SW2 and connected tjose to my matrix with a diode. Then I connected my RGB Pin to ADC0 with SDA and SCL on ADC1 and 2. So I used up all the Pi Pico's pins, luckily we didn't need to add a I/O Expander.
Total time spent: 5.5hrs
June 18th - Log 2: PCB Completon!!
FINALLYYYYYY!!!!!! I'm done with the PCB!! I decided to make a proper enclosure and plate in F360 and not a PCB (FR4) Based one, this is bc if I made one using a PCB it would only give me the plate and back but nothing for the sides, so I'm now gonna be making one in fusion. Rlly excited for this to be done and for making it irl! I rlly need a keyboard bc I'm designing everything on a HP Elitebook 840 G4 w/o a keyboard or mouse.
EDIT: I forgot to refill the zone, so once I did that there were 2 small GND-GND traces that I had to route, just did that and will be adding gerber and kicad project files.
Total time spent: 4hrs
June 19th: Almost done!
I'm backk! I worked all night in Fusion 360 and I'm almost done with the entire case, the bottom is done, the top is done, just making some finishing touches. And I need to add some cutouts for the stabilizer's bar to go under the plate, but idk how to do that.
Total time spent: 6.5-7hrs
June 19th - Log 2: The End............ or is it?
So now I am FINALLY DONE!!!!!!!! I added cutouts for the stabilizer's wire (the metal rod that connects the two) to go under the plate, I engraved the keyboards name, and O added some fillets in the inner edges, I'm pretty happy with what I've done and I luv this design, I'll add all the files rn and I'll submit this! I'll log my assembly but it's gonna take a long time for the PCBs to arrive unless if I use faster shipping. Bye!
Update: Ahh I forgot I need to write the firmware b4 submitting, ig I'll do that and log.
Update 2: In my first log I said i might use a orpheus pico, but I just remembered that isn't allowed so I'll just use a raspberry pi pico or a clone with type-c
Total Time Spent: 1 - 1.5hrs
June 19th - Log 3: Done with the firmware!
Finally! I'm done with the firmware!!!!!!! I used QMK bc once I get my keyboard I'll setup KMK via POG, a open-source app made for easy setup for KMK based keyboards, especially RP2040 based ones, it automatically installs KMK, makes the keymaps, allows you to config layers, and more! So I'm done with everything I just need to format the README and add in a BOM. Btw it's my first time using QMK and the docs were too long and over my understanding so I took a little help from copilot, and this time I dont mean help
, I mean just help bc it only wrote the template code and I modified it all like my keymaps, rules.mk, config, etc.
(I don't know what to upload in images so no images this time sry)
Total time spent: 2hrs