summary refs log tree commit diff
path: root/How-to
diff options
context:
space:
mode:
authoruser <user@node5.net>2024-03-11 11:31:58 +0100
committeruser <user@node5.net>2024-03-11 11:31:58 +0100
commit1ede08d1790d1046c06343f273711fe68ab62f83 (patch)
tree5270392ffa4cbed5598f5aeca1b6f86171db8626 /How-to
initial commit with 18 articles
Diffstat (limited to 'How-to')
-rw-r--r--How-to/Custom handwired keyboard.md114
-rw-r--r--How-to/Selfhost blog.md29
2 files changed, 143 insertions, 0 deletions
diff --git a/How-to/Custom handwired keyboard.md b/How-to/Custom handwired keyboard.md
new file mode 100644
index 0000000..b43ddcc
--- /dev/null
+++ b/How-to/Custom handwired keyboard.md
@@ -0,0 +1,114 @@
+---
+description: Process of how to create a custom designed hardwired keyboard
+created: 2024-03-01
+---
+
+TODO ROUGH PRICE
+
+## Plan
+Start out by getting a rough plan of what you want to make, so you can order parts, as takes a while, if you wish to do 
+it cheaply.
+
+First of all you need to decide how big your keyboard needs to be, do you wish to make an 100%, macropad, ultra-compact, 
+split, do you want dedicated buttons for all 24 function keys? none of the above?
+
+You can play around with [keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/) to find a layout you like,
+see different layout under "Preset"
+
+Massive repo of inspiration: [keebfolio.netlify.app](https://keebfolio.netlify.app/)
+
+### Switches
+#### Design (Will affect keyboard design)
+- Cherry MX design (classic, old, bulky, readily available, cloned into oblivion)
+- Low profile?
+  - Kalih Choc (Expensive, different keycaps)
+  - Others
+    - [gateron.co - Gateron Low Profile 2.0 Mechanical Switch](https://www.gateron.co/products/gateron-low-profile-mechanical-switch-set)
+    - [keychron.com - Keychron Low Profile Mechanical Switch](https://www.keychron.com/products/keychron-low-profile-mechanical-switch)
+Unsure, order a Switch tester or ask a friend to try their switches, to see what you like
+#### Type
+Generally there 3 types, originally made by cherry, I'd recommend none of them
+- Clicky - Typically blue (obnoxious)
+- Linear - Typically red (Did I press that button?)
+- Tactile - Typically brown (Mushy)
+
+But do limit your scope enough, so you don't lose interest before completing the core project.
+Be ready to test ideas feasibility and scrap them if infeasible.
+
+### Switch matrix
+So what parts do you need?
+You need to decide which method you wish to use, to wire up your switches
+- Matrix with diodes (recommended method)
+  - Requires 1 diodes per switch, diodes are cheap
+  - Cable routing is more manageable
+- Straight (1 wire per switch to microcontroller)
+  - Requires enough pins
+
+An I/O expander can be used to add additional pins to a microcontroller, it's also useful for split keyboards, 
+as it can require only 4 pins (I²C + power and ground) from the microcontroller
+
+## Order parts (Consumables)
+### Checklist
+#### Keyboard specific
+- Switches
+- Microcontroller, look at [QMK Compatible microcontrollers](https://docs.qmk.fm/#/compatible_microcontrollers),
+i recommend a RP2040 based microcontroller
+- Keycaps? Do you want to order these or [3D print them](#3d-printed-keycaps)
+- Diodes [aliexpress.com - 1N4148](https://www.aliexpress.com/item/1005005435418695.html)
+- Split keyboard parts
+  - I/O expander route
+    - I/O expander MCP23017
+  - Connector [aliexpress.com - TRRS headphone jack](https://www.aliexpress.com/item/1005003146932723.html)
+  - Cable [aliexpress.com - TRRS headphone cable](https://www.aliexpress.com/item/1005001781279058.html)
+
+#### General maker
+- 3D printed filament
+- Solder tin
+- Extra features?
+Get wild, add an old [ThinkPad trackpoint](https://docs.qmk.fm/#/feature_ps2_mouse), 
+a [rollerball mouse](https://shop.pimoroni.com/products/trackball-breakout?variant=27672765038675), 
+rotary encoder, maybe LEDs.
+- Heat shrink tube
+- Magnet wire (can come in handy)
+
+### Tools - non consumables
+- 3D printer
+- Soldering iron
+- Continuity tester (for debugging connections)
+- 
+
+## Waiting for parts
+### Layout design finalisation
+Staggered?
+Ortholinear?
+Something else entirely?
+
+[keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/)
+
+[keyboard-layout-editor.com - My layout](http://www.keyboard-layout-editor.com/##@_backcolor=%23000000%3B&@_c=%230096a7&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Esc%0A%0A%0AFnLock&_c=%236d6d6d%3B&=F1%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-off'%3E%3C%2F%2Fi%3E&=F2%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-down'%3E%3C%2F%2Fi%3E&=F3%0A%0A%0A%3Ci%20class%2F='fa%20fa-volume-up'%3E%3C%2F%2Fi%3E&=F4%0A%0A%0A%3Ci%20class%2F='fa%20fa-microphone-slash'%3E%3C%2F%2Fi%3E&=F5%0A%0A%0A%3Ci%20class%2F='fa%20fa-sun-o'%3E%3C%2F%2Fi%3E-&_x:3%3B&=F6%0A%0A%0A%3Ci%20class%2F='fa%20fa-sun-o'%3E%3C%2F%2Fi%3E+&=F7%0A%0A%0A%3Ci%20class%2F='fa%20fa-caret-left'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-caret-left'%3E%3C%2F%2Fi%3E&=F8%0A%0A%0A%3Ci%20class%2F='fa%20fa-play'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-pause'%3E%3C%2F%2Fi%3E&=F9%0A%0A%0A%3Ci%20class%2F='fa%20fa-caret-right'%3E%3C%2F%2Fi%3E%3Ci%20class%2F='fa%20fa-caret-right'%3E%3C%2F%2Fi%3E&_t=%23ffffff%3B&=F10&=F11&=F12&=Delete%3B&@_c=%23262626%3B&=%60%0A~&=1%0A!&=2%0A%2F@&=3%0A%23&=4%0A$&=5%0A%25&_x:3%3B&=6%0A%5E&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=7%0A%2F&%0A%0A7&=8%0A*%0A%0A8&=9%0A%28%0A%0A9&=0%0A%29%0A%0A+&_t=%23ffffff%3B&=-%0A%2F_&=%2F=%0A+&_c=%236d6d6d%3B&=BckSp%3B&@=Tab&_c=%23262626%3B&=Q&=W&=E&=R&=T&_x:3%3B&=Y&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=U%0A%0A%0A4&=I%0A%0A%0A5&=O%0A%0A%0A6&=P%0A%0A%0A%C3%97&_t=%23ffffff%3B&=%7B%0A%5B&=%7D%0A%5D&=%7C%0A%5C%3B&@_c=%236d6d6d&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Comp%0A%0A%0ACapsL&_c=%23262626&t=%23ffffff%3B&=A&=S&=D&_n:true%3B&=F&=G&_x:3%3B&=H&_t=%23ffffff%0A%0A%0A%23ff8616&n:true%3B&=J%0A%0A%0A1&=K%0A%0A%0A2&=L%0A%0A%0A3&=%2F:%0A%2F%3B%0A%0A-&_t=%23ffffff%3B&=%22%0A'&_c=%230096a7&w:2%3B&=Enter%3B&@_c=%236d6d6d%3B&=Shift&_c=%23262626%3B&=Z&=X&=C&=V&=B&_x:3%3B&=N&_t=%23ffffff%0A%0A%0A%23ff8616%3B&=M%0A%0A%0A0&=%3C%0A,%0A%0A,&=%3E%0A.%0A%0A.&=%3F%0A%2F%2F%0A%0A%2F%2F&_c=%236d6d6d&t=%23ffffff%3B&=PgUp&_c=%23c1c1c1&t=%23000000%3B&=%E2%86%91&_c=%236d6d6d&t=%23ffffff%3B&=PgDn%3B&@=Ctrl&=Super&=Alt&_t=%23ff8616%3B&=Fn&_c=%23262626&t=%23ffffff&a:7&w:2%3B&=&_x:2&c=%23c1c1c1&t=%23000000&a:4%3B&=mous1&=mous2&=mous3&_c=%236d6d6d&t=%23ffffff%0A%0A%0A%23ff8616%3B&=Menu%0A%0A%0AInsert&=Home%0A%0A%0APrtSc&_t=%23ffffff%3B&=End&_c=%23c1c1c1&t=%23000000%3B&=%E2%86%90&_n:true%3B&=%E2%86%93&=%E2%86%92)
+
+## Other great guides
+
+
+## Switch plate generation
+### Testing fit
+
+### 3D printing
+#### 3D printed keycaps
+
+
+### Wiring test 3x3
+The best way to eliminate unknowns and avoid wasting work, is by wiring up a small part, and testing this
+
+### Firmware setup
+
+
+### No unknowns, home run, final stretch, grind
+
+### Extra firmware features
+Inspire, show opportunities
+grep QMK repo
+
+### Show off
+
+### Get ideas for your next version
\ No newline at end of file
diff --git a/How-to/Selfhost blog.md b/How-to/Selfhost blog.md
new file mode 100644
index 0000000..1314774
--- /dev/null
+++ b/How-to/Selfhost blog.md
@@ -0,0 +1,29 @@
+---
+description: How to create, and self host a blog like this
+created: 2024-03-01
+---
+
+## Chose a static site generator
+This is the tool that takes your [markdown](https://www.markdownguide.org/basic-syntax/) or other markup language, 
+and generates HTML files, these can then uploaded to a server to host.
+
+- [Hugo](https://gohugo.io/)
+- [Pelican](https://getpelican.com/)
+- [My custom one](https://git.node5.net/blog-generator/about/)
+
+## Buy a domain
+### Chose a TLD (Top Level Domain)
+.net is pretty cool IMO
+
+## Hosting
+
+- Selfhost
+  - At home
+    - Requires static IP
+    - Router port forward
+    - Always having a machine online
+    - Exposes your home IP (This isn't super bad)
+- VPS (cloud monthly payment)
+  - Not independent
+
+For the rest of this I refer to the awesome guides at [landchad.net](https://landchad.net/)