diff --git a/50one_basePlate__V1.stl b/3D-case/50one_basePlate__V1.stl similarity index 100% rename from 50one_basePlate__V1.stl rename to 3D-case/50one_basePlate__V1.stl diff --git a/50one_body__V1__ALPS.stl b/3D-case/50one_body__V1__ALPS.stl similarity index 100% rename from 50one_body__V1__ALPS.stl rename to 3D-case/50one_body__V1__ALPS.stl diff --git a/3D-case/50one_body__V1__CHERRY.stl b/3D-case/50one_body__V1__CHERRY.stl new file mode 100644 index 0000000..5b44fbd Binary files /dev/null and b/3D-case/50one_body__V1__CHERRY.stl differ diff --git a/50one_keyboard__V1.fcstd b/3D-case/50one_keyboard__V1.fcstd similarity index 100% rename from 50one_keyboard__V1.fcstd rename to 3D-case/50one_keyboard__V1.fcstd diff --git a/50one_keyboard__V1.fcstd1 b/3D-case/50one_keyboard__V1.fcstd1 similarity index 100% rename from 50one_keyboard__V1.fcstd1 rename to 3D-case/50one_keyboard__V1.fcstd1 diff --git a/buildLog/buildLog.md b/buildLog/buildLog.md new file mode 100644 index 0000000..153a892 --- /dev/null +++ b/buildLog/buildLog.md @@ -0,0 +1,273 @@ +# Building a "50one" split keyboard + +## Building is fun and all... + +... and it definitely helps if you're a bit insane. Cause why would +you ever, ever want to build a keyboard by hand and from scratch, when +there are so many cool, cheap and easy boards out there? *(looks +over to [iris](https://keeb.io/))* Because we can - that's why. With +such awesome tools like QMK and all the keymaps they provide, the guides, +3D printing and such, it was never easier to build keebs than today. +So lets heat up that soldering iron and get our hands dirty to build +something cool, just for the heck of it. + +### So what is this? + +This is my pathetic attempt to show you how to build a split keyboard +called "50one". It got all the good stuff like +[columnar stagger](https://deskthority.net/wiki/Staggering), +a tiny bit of tenting, a couple of LEDs so you know which layer you are on, +a small size perfect for taking it everywhere you go +and two (hot swapable) Pro Micros running [QMK](https://qmk.fm/) firmware. + +![images/50one_keeb.jpg] + +This is still a completely handwired build, so... + +### Be aware! + +Handwiring this keyboard involves heavy use of soldering, wires, +electronic components and tons of hot glue. It *will* lead to at least +one burnt finger (otherwise you are doing it wrong). + +If you have never built a keyboard or some other electronics before, +this might be a challenging task. But don't leave jet: it **is** totally +doable and I will personally hand out some medals afterwards. + +*(I actually wont...)* + +### You might wanna have a look at this first... + +There is a ton of information out there on how to build electronics and +keyboards. I highly recommend reading up on the topics that are new to +you, cause I won't be able to explain everything in full detail, so +some background knowledge won't hurt. + +Here, have some recommendations: + + - [QMK's handwiring guide](https://docs.qmk.fm/#/hand_wire) + - [Troy Fletcher - Handwiring a keyboard (videos)](https://www.youtube.com/playlist?list=PLt4C9PYdzNo8_zScbA6Xg84Ncs9rdj50n) + - [Hand-wiring a keyboard](http://trauring.org/hand-wiring-a-keyboard/) + - [Brownfox build log](https://deskthority.net/workshop-f7/brownfox-step-by-step-t6050.html) + +If you still have some questions, just leave me a message: +max \[at\] mal-richtig.de + +or you might find me on reddit at [/u/maxmalrichtig](https://www.reddit.com/user/maxmalrichtig). + +### "Dude, WTF?!" + +Sorry for the poor quality of some of the images, the crappy 3D case and the +(probably) bad English. If something is totally unclear, please let me know. +If you have some better material, it would be nice if you could share it with +the rest of us. :) + + +## Shut up and build already! + +OK... You will need some stuff to build this. + +### First, print the case. + +![3D CASE](images/3d-case.png) + +You will find the files needed to print the case with a 3D printer in +[this](https://git.mal-richtig.de/maxmalrichtig/50one-keyboard-hardware) +repository. + +Download `50one_basePlate__V1.stl` and the `50one_body__V1__CHERRY.stl` +(if you are going to use Cherry-ish switches) or the `50one_body__V1__ALPS.stl` +(if you are going with ALPS/MATIAS switches). + +If you want to tinker with the 3D model or you want to build a better +one, you can also have a look at the FreeCad project included. + +Load the `.stl` files to your favorite slicer software (e.g. CURA) +and print the first half. In order to print the other half, you can +just mirror the 3D models directly in your slicer since the models are +completely symmetrical. + +I printed my case with some plain, old PLA filament and relative high +layer resolution of ~0.1 mm. You don't want your print to be too crude +or you'll have problems during further assembly. + +You should end up with a top & bottom part for the left and the right +side. + + +### Then, get some tools and components + +![SOME OF THE COMPONENTS](images/components.jpg) + +#### Components & parts: + + - 2x Pro Micro + - 50x switches (Cherry, Matias, Alps, ...) of your choice + - 50x general purpose diodes (e.g. 1N4148) + - 16x M3 screws (6-10mm length) + - 2x 4.7k (through-hole) resistor + - 2x LUM 1503-13V - 4 pole TRRS jack 3.5mm + - 2x short-stroke switch (6x6 mm, height: 4.3 mm, vertical) + - also: keycaps and some non-slip rubber pads as feet + +And yeah, don't forget the actual wire! I just used some generic, thin, stranded wire +with several colors so I don't get too confused. +The important thing is, that you have something flexible - so solid-core wires are +no fun here (unless they are realllly thin). +And better get some insulated wires, otherwise you will have to insulate the crosspoints +between the wire (columns) and the diodes (rows) with hot glue, or something alike. + + +##### MODS - optional, but recommended: + +***hot-swapable Pro Micro:*** so you can change the Pro Micros after +you have broken these delicate micro-USB sockets +- 4x female pin headers, single row, 0.1" (2.54mm), right-angle, + through-hole mount, (at least 11 pins long) + +***layer indication LEDs:*** +- 2x 5mm tricolor LEDs, 20 mA (L-154A4SURKQBDZG) - if you have clear switches like MATIAS +- 2x 200ohm resistors (for red) +- 4x 100ohm resistors (for green & blue) +- some heat-shrink (that fits over the resistors) + +OR: +- 6x 3mm LEDs, 20mA, colors of your choice - if you have opague switches like standard cherry +- 6x *some* resistor +- some heat-shrink (that fits over the resistors) + +(Since I can't know which LEDs you are using, I can't tell you which +resistor values you will need. Google for "LED resistor calculator" if you don't +know how to calculate the needed resistor or leave me a message! +Do NOT connect the LEDs directly to the Pro Micro without a resistor in the circuit!) + +#### Tools: + + - screw driver (one that fits your M3 screws) + - hot glue and glue gun + - soldering iron and solder + - a small file (if you are going to use my 3D printed case - + it needs some love for everything to fit) + - flush cutters + + +### Insert the reset switches + +![RESET SWITCH](images/reset_switch.jpg) + +Take the bottom plates and the short-stroke switches and shove them +into the little holder. If you have difficulties inserting the switch, +take your trusty file and file of some of the edges of the holder +until you can place the switch. + +After you have inserted the switch, it should be clickable +by inserting a thin object through the hole on the other +side of the bottom plate. (Please test!) + +### Insert your key switches + +![SWITCHES AND CASE](images/switches_and_case.jpg) + +Now, take your favorite key switches and push them into the top part +of the case. If you have problems inserting the switches, take your +file and sand down the sides of the switch holes a bit until the +switches fit nicely. + +Make sure that all the switches sit flush on top of the case +and there are no gaps or badly inserted switches. + +Please note: Your switches might not lock in the switch plate, so they +can be pulled out of the case pretty easy. This is "normal" - and one +of the downsides of this 3D printed case. You can fix that with "some" +drops of hot glue. (see the later images) + +### Insert the TRRS jacks + +![SWITCHES AND TRRS HOLDER](images/switches_and_trrs_holder.jpg) + +Take the TRRS jacks and insert them into the small holders on the +inside of the case. Again, your file might be of good use here since +the fit is quite snug. + +The prongs on the TRRS jacks need to point "upwards" (away from the +key switches) so you can easily solder some wires to them later. + +Push it in hard - push it in good. You want the jack in there as plain as +possible. If it still doesn't fit, go and use that file. + +### Wiring is the best part + +If we have all the switches in place, we can start building our rows and +columns. Be careful while soldering to the switches: you want all your +connections to be soldered as good as possible, so everything is connected well +but be careful and don't overheat the switches with your iron. After all they +are just plastic. + +*And for the record: The smoke from the rosin that is released during soldering +is harmful, so be careful not to breath too much of it or get it in your eyes.* + +#### Give me some rows + +![DIODE ROWS](images/row_diodes.jpg) + +We will build all the rows with the diodes. But since god is a funny man +and he wanted to mess with all the people interested in electronics, he made +diodes polar. That means, there **is** a "wrong way around" so pay attention that +the marked end of the diode (the black part) is facing *away* from the pin of the +switch you are soldering it to! + +An easy way to solder the diodes is to bend the one lead in an angle or loop, +put it over the pin of the switch and then apply some solder. Bend the lead on +the marked end of the diode in a more or less right angle. Do the same for the +switch next to that one an solder the diodes together where the two leads meet. + +It should look more or less like this (just without the wires in the picture - +sorry, I forgot to take a picture that is just showing the rows...): + +![DIODE ROWS FINISHED](images/rows_and_cols_diodes.jpg) + +After you have finished a row with the diodes, take one of your wires and solder +it to last diode. We will use these wires later to connect them to the Pro +Micros, so make sure they are long enough to reach the Pro Micro. Better make +the wires a little bit too long than too short! + +Do this for every row of switches on either side. + +#### Columns for the win + +This part can be extra fun - or you might wanna kill yourself afterwards. Maybe +a little bit of both. + +The idea behind this step is to connect all the unused pins of your switches in +a column to each other. There are several ways to do this and it doesn't matter +which one you choose. But here is the way I did it: + +Take one of your wires and solder it to a switch on the bottom. Pull the wire up +to the next switch, put some solder on the tip of your iron and hold it against +the wire at the position where you want to connect it to the next switch. Don't +touch the pin of the switch yet - just melt away the insulation of the wire at +that point. Now put some more solder on your iron and solder that point of the +wire to the pin of the switch. Incrementally apply more solder to the joint until +point of total satisfaction is reached. + +Pull the wire up to the next switch and redo this procedure until you have soldered +every switch in this column. Do NOT cut the excess wire - we will use that to +solder the columns to the Pro Micro later on. + +Do this for every column of switches on either side. + +After you are finished with the rows and columns, you should end up with something +similar like this: + +![COLUMNS FINISHED](images/rows_and_cols.jpg) + + + + + + + + + + + diff --git a/buildLog/images/3d-case.png b/buildLog/images/3d-case.png new file mode 100644 index 0000000..e45c3d4 Binary files /dev/null and b/buildLog/images/3d-case.png differ diff --git a/buildLog/images/50one_keeb.jpg b/buildLog/images/50one_keeb.jpg new file mode 100644 index 0000000..23d3a46 Binary files /dev/null and b/buildLog/images/50one_keeb.jpg differ diff --git a/buildLog/images/RowsAndCols.jpg b/buildLog/images/RowsAndCols.jpg new file mode 100644 index 0000000..65fc12e Binary files /dev/null and b/buildLog/images/RowsAndCols.jpg differ diff --git a/buildLog/images/components.jpg b/buildLog/images/components.jpg new file mode 100644 index 0000000..eac384d Binary files /dev/null and b/buildLog/images/components.jpg differ diff --git a/buildLog/images/finished_build_complete.jpg b/buildLog/images/finished_build_complete.jpg new file mode 100644 index 0000000..01834bd Binary files /dev/null and b/buildLog/images/finished_build_complete.jpg differ diff --git a/buildLog/images/finished_build_usb.jpg b/buildLog/images/finished_build_usb.jpg new file mode 100644 index 0000000..d875cf5 Binary files /dev/null and b/buildLog/images/finished_build_usb.jpg differ diff --git a/buildLog/images/finished_build_wireing.jpg b/buildLog/images/finished_build_wireing.jpg new file mode 100644 index 0000000..0bf8009 Binary files /dev/null and b/buildLog/images/finished_build_wireing.jpg differ diff --git a/buildLog/images/pro_micro_and_reset.jpg b/buildLog/images/pro_micro_and_reset.jpg new file mode 100644 index 0000000..f3ef170 Binary files /dev/null and b/buildLog/images/pro_micro_and_reset.jpg differ diff --git a/buildLog/images/reset_switch.jpg b/buildLog/images/reset_switch.jpg new file mode 100644 index 0000000..ecf9fdb Binary files /dev/null and b/buildLog/images/reset_switch.jpg differ diff --git a/buildLog/images/row_diodes.jpg b/buildLog/images/row_diodes.jpg new file mode 100644 index 0000000..6017964 Binary files /dev/null and b/buildLog/images/row_diodes.jpg differ diff --git a/buildLog/images/rows_and_cols.jpg b/buildLog/images/rows_and_cols.jpg new file mode 100644 index 0000000..1375c5e Binary files /dev/null and b/buildLog/images/rows_and_cols.jpg differ diff --git a/buildLog/images/rows_and_cols_diodes.jpg b/buildLog/images/rows_and_cols_diodes.jpg new file mode 100644 index 0000000..f0d2e35 Binary files /dev/null and b/buildLog/images/rows_and_cols_diodes.jpg differ diff --git a/buildLog/images/switches_and_case.jpg b/buildLog/images/switches_and_case.jpg new file mode 100644 index 0000000..39cda02 Binary files /dev/null and b/buildLog/images/switches_and_case.jpg differ diff --git a/buildLog/images/switches_and_trrs_holder.jpg b/buildLog/images/switches_and_trrs_holder.jpg new file mode 100644 index 0000000..5359333 Binary files /dev/null and b/buildLog/images/switches_and_trrs_holder.jpg differ diff --git a/buildLog/images/trrs_jack_soldered.jpg b/buildLog/images/trrs_jack_soldered.jpg new file mode 100644 index 0000000..be409d8 Binary files /dev/null and b/buildLog/images/trrs_jack_soldered.jpg differ diff --git a/buildLog/images/trrs_jack_unsoldered.jpg b/buildLog/images/trrs_jack_unsoldered.jpg new file mode 100644 index 0000000..63ea826 Binary files /dev/null and b/buildLog/images/trrs_jack_unsoldered.jpg differ diff --git a/buildLog/images/wired_mess.jpg b/buildLog/images/wired_mess.jpg new file mode 100644 index 0000000..dd5cc01 Binary files /dev/null and b/buildLog/images/wired_mess.jpg differ diff --git a/buildLog/neededTools.txt b/buildLog/neededTools.txt new file mode 100644 index 0000000..a7d40f3 --- /dev/null +++ b/buildLog/neededTools.txt @@ -0,0 +1,7 @@ +* screw driver (one that fits your M3 screws) +* hot glue and glue gun +* soldering iron +* a small file (if you are going to use my 3D printed case - it needs some love +for everything to fit) +* flush cutters +* some heatshrink (if you want to use the indication LED mod) diff --git a/buildLog/partsList.txt b/buildLog/partsList.txt new file mode 100644 index 0000000..8f3a386 --- /dev/null +++ b/buildLog/partsList.txt @@ -0,0 +1,35 @@ +3D printed case (left + right with housing and bottom plate) +2x Pro Micro +50x switches (Cherry, Matias, Alps, ...) of your choice +50x general purpose diodes (e.g. 1N4148) +16x M3 screws (6-10mm length) +2x 4.7k (through-hole) resistor +2x LUM 1503-13V - 4 pole TRRS jack 3.5mm +2x short-stroke switch (6x6 mm, height: 4.3 mm, vertical) +also: keycaps and some non-slip rubber pads as feet + +And yeah, don't forget the actual wire! I just used some generic, thin, stranded wire +with several colors so I don't get too confused. +The important thing is, that you have something flexible - so solid-core wires are +no fun here (unless they are realllly thin). +and maybe get some insulated wires, otherwise you will have to insulate the crosspoints +between the wire and the diodes with hot glue, or something alike. + + +optional, but recomended: + +for hot-swappable Pro Micro: +4x female pin headers, single row, 0.1" (2.54mm), right-angle, through-hole mount, (at least 11 pins long) + +for layer indication LEDs: +2x 5mm tricolor LEDs, 20 mA (e.g. L-154A4SURKQBDZG) - if you have clear switches like MATIAS +2x 200ohm resistors (for red) +2x 100ohm resistors (for green) +2x 100ohm resistors (for blue) + +OR: +6x 3mm LEDs, 20mA, colors of your choice - if you have opague switches like standard cherry +6x resistor (Since I don't know which LEDs you are using, I can't tell you which +resistor value you will need. Google for "LED resistor calculator" if you don't +know how to calculate the needed resistor or leave me a message!. +Do NOT connect the LEDs directly to the Pro Micro without a resistor in the circuit!) diff --git a/images/basePlate.png b/images/basePlate.png deleted file mode 100644 index 157d43c..0000000 Binary files a/images/basePlate.png and /dev/null differ diff --git a/images/body_forAlps.png b/images/body_forAlps.png deleted file mode 100644 index 02b611e..0000000 Binary files a/images/body_forAlps.png and /dev/null differ diff --git a/images/keyboard-50one_V1.jpg b/keyboard-50one_V1.jpg similarity index 100% rename from images/keyboard-50one_V1.jpg rename to keyboard-50one_V1.jpg diff --git a/images/keyboard-layout_V1.png b/keyboard-layout_V1.png similarity index 100% rename from images/keyboard-layout_V1.png rename to keyboard-layout_V1.png diff --git a/readme.md b/readme.md index 397b63f..c57e4a1 100644 --- a/readme.md +++ b/readme.md @@ -1,14 +1,19 @@ # Keyboard 50one This is a 50-key (48%) ergonomic split keyboard. -It is basically a hybrid between the famous [Ergodox](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergodox_ez) and the awesome [Let's Split](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lets_split). +It is basically a hybrid between the famous +[Ergodox](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergodox_ez) +and the awesome [Let's Split](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lets_split). -This case is ment to be used with an handwired build of this keyboard. There are no PCBs yet for V1. +The 3D printed case is ment to be used with an handwired build of this keyboard. +**There are no PCBs yet for V1.** + +----- Build-log and other information needed will be up soon. -![KEYBOARD_LAYOUT](https://git.mal-richtig.de/maxmalrichtig/50one-keyboard-hardware/raw/branch/master/keyboard-layout_V1.png) +----- -![BASE_PLATE](https://git.mal-richtig.de/maxmalrichtig/50one-keyboard-hardware/raw/branch/master/basePlate.png) +![KEYBOARD_LAYOUT](https://git.mal-richtig.de/maxmalrichtig/50one-keyboard-hardware/raw/branch/master/keyboard-layout_V1.png) -![KEYBOARD_BODY](https://git.mal-richtig.de/maxmalrichtig/50one-keyboard-hardware/raw/branch/master/body_forAlps.png) \ No newline at end of file +![3D CASE](https://git.mal-richtig.de/maxmalrichtig/50one-keyboard-hardware/raw/branch/master/buildLog/images/3d-case.png)