summary refs log tree commit diff
path: root/Custom keyboard V2
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 /Custom keyboard V2
initial commit with 18 articles
Diffstat (limited to 'Custom keyboard V2')
-rw-r--r--Custom keyboard V2/2 column modules.jpgbin0 -> 755402 bytes
-rwxr-xr-xCustom keyboard V2/3D printed "PCB" feasability test.jpgbin0 -> 869510 bytes
-rwxr-xr-xCustom keyboard V2/3D printed keycaps with legends.jpgbin0 -> 1692219 bytes
-rwxr-xr-xCustom keyboard V2/3D printed trace groves.jpgbin0 -> 1029385 bytes
-rw-r--r--Custom keyboard V2/3d printing keycaps sideways.jpgbin0 -> 1406343 bytes
-rw-r--r--Custom keyboard V2/Circuit board painted.jpgbin0 -> 1227179 bytes
-rw-r--r--Custom keyboard V2/Circuit initial test.jpgbin0 -> 2755596 bytes
-rw-r--r--Custom keyboard V2/Column module nail indent.jpgbin0 -> 2152047 bytes
-rw-r--r--Custom keyboard V2/Column module slider foot.jpgbin0 -> 1591127 bytes
-rw-r--r--Custom keyboard V2/Coulumns modules for left side WIP.jpgbin0 -> 2907952 bytes
-rw-r--r--Custom keyboard V2/End stop back.jpgbin0 -> 847347 bytes
-rwxr-xr-xCustom keyboard V2/Key switch height compared to v1.jpgbin0 -> 445584 bytes
-rw-r--r--Custom keyboard V2/Keyboard layout.jpgbin0 -> 69136 bytes
-rw-r--r--Custom keyboard V2/Keycaps itterations.jpgbin0 -> 480341 bytes
-rw-r--r--Custom keyboard V2/Left side modules in base bottom.jpgbin0 -> 623913 bytes
-rw-r--r--Custom keyboard V2/Left side modules in base top.jpgbin0 -> 1750575 bytes
-rw-r--r--Custom keyboard V2/Left side wiring diagram.jpgbin0 -> 3912588 bytes
-rw-r--r--Custom keyboard V2/Left side wiring diagram.xcfbin0 -> 35446009 bytes
-rw-r--r--Custom keyboard V2/Left side working prototype.jpgbin0 -> 1136217 bytes
-rw-r--r--Custom keyboard V2/Module wired bottom.jpgbin0 -> 647108 bytes
-rw-r--r--Custom keyboard V2/Module wired top.jpgbin0 -> 314761 bytes
-rwxr-xr-xCustom keyboard V2/Notes column module idea generation.jpgbin0 -> 2073572 bytes
-rwxr-xr-xCustom keyboard V2/Notes idea.jpgbin0 -> 1821375 bytes
-rw-r--r--Custom keyboard V2/Prototype pile.jpgbin0 -> 1482185 bytes
-rw-r--r--Custom keyboard V2/Screws side view.jpgbin0 -> 1724194 bytes
-rw-r--r--Custom keyboard V2/Screws.jpgbin0 -> 2705028 bytes
-rwxr-xr-xCustom keyboard V2/Slide test 1 slicer 2 lines.pngbin0 -> 33676 bytes
-rwxr-xr-xCustom keyboard V2/Slide test 1.pngbin0 -> 101512 bytes
-rwxr-xr-xCustom keyboard V2/Switch holder itterations.jpgbin0 -> 1430829 bytes
-rwxr-xr-xCustom keyboard V2/Switches.jpgbin0 -> 1274937 bytes
-rw-r--r--Custom keyboard V2/Thumbnail.jpgbin0 -> 16988 bytes
-rwxr-xr-xCustom keyboard V2/Trackpoint modules.jpgbin0 -> 1157203 bytes
-rwxr-xr-xCustom keyboard V2/index.md174
33 files changed, 174 insertions, 0 deletions
diff --git a/Custom keyboard V2/2 column modules.jpg b/Custom keyboard V2/2 column modules.jpg
new file mode 100644
index 0000000..b3f15ce
--- /dev/null
+++ b/Custom keyboard V2/2 column modules.jpg
Binary files differdiff --git a/Custom keyboard V2/3D printed "PCB" feasability test.jpg b/Custom keyboard V2/3D printed "PCB" feasability test.jpg
new file mode 100755
index 0000000..152ec27
--- /dev/null
+++ b/Custom keyboard V2/3D printed "PCB" feasability test.jpg
Binary files differdiff --git a/Custom keyboard V2/3D printed keycaps with legends.jpg b/Custom keyboard V2/3D printed keycaps with legends.jpg
new file mode 100755
index 0000000..435c311
--- /dev/null
+++ b/Custom keyboard V2/3D printed keycaps with legends.jpg
Binary files differdiff --git a/Custom keyboard V2/3D printed trace groves.jpg b/Custom keyboard V2/3D printed trace groves.jpg
new file mode 100755
index 0000000..d1b4bc3
--- /dev/null
+++ b/Custom keyboard V2/3D printed trace groves.jpg
Binary files differdiff --git a/Custom keyboard V2/3d printing keycaps sideways.jpg b/Custom keyboard V2/3d printing keycaps sideways.jpg
new file mode 100644
index 0000000..c34ff2d
--- /dev/null
+++ b/Custom keyboard V2/3d printing keycaps sideways.jpg
Binary files differdiff --git a/Custom keyboard V2/Circuit board painted.jpg b/Custom keyboard V2/Circuit board painted.jpg
new file mode 100644
index 0000000..025899f
--- /dev/null
+++ b/Custom keyboard V2/Circuit board painted.jpg
Binary files differdiff --git a/Custom keyboard V2/Circuit initial test.jpg b/Custom keyboard V2/Circuit initial test.jpg
new file mode 100644
index 0000000..f4c09b9
--- /dev/null
+++ b/Custom keyboard V2/Circuit initial test.jpg
Binary files differdiff --git a/Custom keyboard V2/Column module nail indent.jpg b/Custom keyboard V2/Column module nail indent.jpg
new file mode 100644
index 0000000..3448d55
--- /dev/null
+++ b/Custom keyboard V2/Column module nail indent.jpg
Binary files differdiff --git a/Custom keyboard V2/Column module slider foot.jpg b/Custom keyboard V2/Column module slider foot.jpg
new file mode 100644
index 0000000..aff2dda
--- /dev/null
+++ b/Custom keyboard V2/Column module slider foot.jpg
Binary files differdiff --git a/Custom keyboard V2/Coulumns modules for left side WIP.jpg b/Custom keyboard V2/Coulumns modules for left side WIP.jpg
new file mode 100644
index 0000000..3c9e9af
--- /dev/null
+++ b/Custom keyboard V2/Coulumns modules for left side WIP.jpg
Binary files differdiff --git a/Custom keyboard V2/End stop back.jpg b/Custom keyboard V2/End stop back.jpg
new file mode 100644
index 0000000..0f7af7c
--- /dev/null
+++ b/Custom keyboard V2/End stop back.jpg
Binary files differdiff --git a/Custom keyboard V2/Key switch height compared to v1.jpg b/Custom keyboard V2/Key switch height compared to v1.jpg
new file mode 100755
index 0000000..13655cb
--- /dev/null
+++ b/Custom keyboard V2/Key switch height compared to v1.jpg
Binary files differdiff --git a/Custom keyboard V2/Keyboard layout.jpg b/Custom keyboard V2/Keyboard layout.jpg
new file mode 100644
index 0000000..7e3da3b
--- /dev/null
+++ b/Custom keyboard V2/Keyboard layout.jpg
Binary files differdiff --git a/Custom keyboard V2/Keycaps itterations.jpg b/Custom keyboard V2/Keycaps itterations.jpg
new file mode 100644
index 0000000..c70ce4f
--- /dev/null
+++ b/Custom keyboard V2/Keycaps itterations.jpg
Binary files differdiff --git a/Custom keyboard V2/Left side modules in base bottom.jpg b/Custom keyboard V2/Left side modules in base bottom.jpg
new file mode 100644
index 0000000..19ff270
--- /dev/null
+++ b/Custom keyboard V2/Left side modules in base bottom.jpg
Binary files differdiff --git a/Custom keyboard V2/Left side modules in base top.jpg b/Custom keyboard V2/Left side modules in base top.jpg
new file mode 100644
index 0000000..d4ba3aa
--- /dev/null
+++ b/Custom keyboard V2/Left side modules in base top.jpg
Binary files differdiff --git a/Custom keyboard V2/Left side wiring diagram.jpg b/Custom keyboard V2/Left side wiring diagram.jpg
new file mode 100644
index 0000000..6f34056
--- /dev/null
+++ b/Custom keyboard V2/Left side wiring diagram.jpg
Binary files differdiff --git a/Custom keyboard V2/Left side wiring diagram.xcf b/Custom keyboard V2/Left side wiring diagram.xcf
new file mode 100644
index 0000000..2b792c9
--- /dev/null
+++ b/Custom keyboard V2/Left side wiring diagram.xcf
Binary files differdiff --git a/Custom keyboard V2/Left side working prototype.jpg b/Custom keyboard V2/Left side working prototype.jpg
new file mode 100644
index 0000000..ef4780a
--- /dev/null
+++ b/Custom keyboard V2/Left side working prototype.jpg
Binary files differdiff --git a/Custom keyboard V2/Module wired bottom.jpg b/Custom keyboard V2/Module wired bottom.jpg
new file mode 100644
index 0000000..1b31c01
--- /dev/null
+++ b/Custom keyboard V2/Module wired bottom.jpg
Binary files differdiff --git a/Custom keyboard V2/Module wired top.jpg b/Custom keyboard V2/Module wired top.jpg
new file mode 100644
index 0000000..15a1ba0
--- /dev/null
+++ b/Custom keyboard V2/Module wired top.jpg
Binary files differdiff --git a/Custom keyboard V2/Notes column module idea generation.jpg b/Custom keyboard V2/Notes column module idea generation.jpg
new file mode 100755
index 0000000..57aa3e2
--- /dev/null
+++ b/Custom keyboard V2/Notes column module idea generation.jpg
Binary files differdiff --git a/Custom keyboard V2/Notes idea.jpg b/Custom keyboard V2/Notes idea.jpg
new file mode 100755
index 0000000..1290cf1
--- /dev/null
+++ b/Custom keyboard V2/Notes idea.jpg
Binary files differdiff --git a/Custom keyboard V2/Prototype pile.jpg b/Custom keyboard V2/Prototype pile.jpg
new file mode 100644
index 0000000..1c6a165
--- /dev/null
+++ b/Custom keyboard V2/Prototype pile.jpg
Binary files differdiff --git a/Custom keyboard V2/Screws side view.jpg b/Custom keyboard V2/Screws side view.jpg
new file mode 100644
index 0000000..beb1ed9
--- /dev/null
+++ b/Custom keyboard V2/Screws side view.jpg
Binary files differdiff --git a/Custom keyboard V2/Screws.jpg b/Custom keyboard V2/Screws.jpg
new file mode 100644
index 0000000..7e135d8
--- /dev/null
+++ b/Custom keyboard V2/Screws.jpg
Binary files differdiff --git a/Custom keyboard V2/Slide test 1 slicer 2 lines.png b/Custom keyboard V2/Slide test 1 slicer 2 lines.png
new file mode 100755
index 0000000..b414f62
--- /dev/null
+++ b/Custom keyboard V2/Slide test 1 slicer 2 lines.png
Binary files differdiff --git a/Custom keyboard V2/Slide test 1.png b/Custom keyboard V2/Slide test 1.png
new file mode 100755
index 0000000..e5cb59c
--- /dev/null
+++ b/Custom keyboard V2/Slide test 1.png
Binary files differdiff --git a/Custom keyboard V2/Switch holder itterations.jpg b/Custom keyboard V2/Switch holder itterations.jpg
new file mode 100755
index 0000000..2541201
--- /dev/null
+++ b/Custom keyboard V2/Switch holder itterations.jpg
Binary files differdiff --git a/Custom keyboard V2/Switches.jpg b/Custom keyboard V2/Switches.jpg
new file mode 100755
index 0000000..de68d1d
--- /dev/null
+++ b/Custom keyboard V2/Switches.jpg
Binary files differdiff --git a/Custom keyboard V2/Thumbnail.jpg b/Custom keyboard V2/Thumbnail.jpg
new file mode 100644
index 0000000..ff63da0
--- /dev/null
+++ b/Custom keyboard V2/Thumbnail.jpg
Binary files differdiff --git a/Custom keyboard V2/Trackpoint modules.jpg b/Custom keyboard V2/Trackpoint modules.jpg
new file mode 100755
index 0000000..fdf5548
--- /dev/null
+++ b/Custom keyboard V2/Trackpoint modules.jpg
Binary files differdiff --git a/Custom keyboard V2/index.md b/Custom keyboard V2/index.md
new file mode 100755
index 0000000..eb5c182
--- /dev/null
+++ b/Custom keyboard V2/index.md
@@ -0,0 +1,174 @@
+---
+description: Adjustable column position, thumb clusters
+created: 2024-01-24
+---
+
+Checkout [V1 of this keyboard](https://blog.node5.net/Custom%20keyboard/).
+
+![Left side working prototype](Left side working prototype.jpg)
+
+### Parts list
+- [aliexpress.com/ - Horizontal scrollers EVQWGD001](https://www.aliexpress.com/item/32990950196.html)
+- [keychron.com - Gateron Low Profile 2.0 Mechanical Switch](https://www.keychron.com/products/low-profile-gateron-mechanical-switch-set?variant=40587643355225)
+- [keychron.com - Keychron Low Profile Mechanical Switch](https://www.keychron.com/products/keychron-low-profile-mechanical-switch?variant=40561882595417)
+
+With the first edition i validated that i like ortholinear layout, this enables me to offset the columns relative to 
+each other, but i cannot settle on how much to offset it, therefore i got the idea to make it adjustable, 
+I've not seen this done before.
+
+![Notes idea](Notes idea.jpg)
+![Notes column module idea generation](Notes column module idea generation.jpg)
+
+The keyboard base will have GPIO + I²C pulled out on a connector, allowing any kind of expansion
+I'll make the following modules: trackpoint, mouse buttons, thumb clusters, rollers for vertical scrolling and volume.
+
+### Desiging a switch holder
+![Switch holder itterations](Switch holder itterations.jpg)
+
+### Trackpoint
+![Trackpoint modules](Trackpoint modules.jpg)
+
+The trackpoint module is a PS/2 device, see [QMK documentation](https://docs.qmk.fm/#/feature_ps2_mouse) and 
+[Trackpoint pinout](https://deskthority.net/wiki/TrackPoint_Hardware)
+
+### Height
+![Key switch height compared to v1](Key switch height compared to v1.jpg)
+
+### Keycaps
+![3D printed keycaps with legends](3D printed keycaps with legends.jpg)
+
+To print legends, multi color on the same layer see this cool blog:
+[Creating a Keyboard - docs.juliaebert.com](https://docs.juliaebert.com/projects/keyboard#making-them-prettier)
+
+### Switches
+![Switches](Switches.jpg)
+
+[product page](https://www.gateron.co/products/gateron-low-profile-mechanical-switch-set)
+
+![3D printed trace groves](3D printed trace groves.jpg)
+
+I ought to use a PCB for this, but that doesn't play nice with my rapid proto typing.
+
+![Slide test 1](Slide test 1.png)
+![Slide test 1 slicer 2 lines](Slide test 1 slicer 2 lines.png)
+
+Testing if this method can be manufactured on my 3D printer, it's only 2 lines wide.
+
+### 3D printed "PCB" feasability
+![3D printed "PCB" feasability test](3D printed "PCB" feasability test.jpg)
+
+### Other keyboards with adjustable columns
+Apparently I'm not the first to think of adjustable columns, bummer see this
+[ReSummit/Seismos GitHub repo](https://github.com/ReSummit/Seismos)
+And this [nezumee/zebra GitHub repo](https://github.com/nezumee/zebra)
+
+### Design goals
+- Low profile
+- Modular additions
+- Indents for anti slip feet, to keep it low profile 
+- Joinable halves perhaps
+- Tactile difference for different types of keys
+    - Smaller function key row
+    - Concave and convex keys, to indicate type
+    - Lots of homing indicators
+
+### Meta
+This article is more of a timeline of how it actually happened, 
+by meerly appending, instead of going back, and changing stuff
+
+### Column module prototype
+![2 column modules](2 column modules.jpg)
+![Column module nail indent](Column module nail indent.jpg)
+![Column module slider foot](Column module slider foot.jpg)
+![End stop back](End stop back.jpg)
+![Screws](Screws.jpg)
+![Screws side view](Screws side view.jpg)
+
+### Printing Keycaps
+![3d printing keycaps sideways](3d printing keycaps sideways.jpg)
+![Keycaps itterations](Keycaps itterations.jpg)
+Again, printed on its side for greater dimensional accuracy 
+
+### Thumb cluster design vision
+Came across this really cool keyboard called Dygma Defy
+[youtube.com - video](https://www.youtube.com/watch?v=9-h5RVu_HBA)
+[dygma.com - Blog post](https://dygma.com/blogs/product-development/how-we-developed-the-defys-16-thumbkeys)
+they show their design iterations on thumb clusters they seem to align with what i envisioned,
+namely ergonomically shaped buttons, which is possible due to the 3D printing manufacturing. They've done lots 
+
+
+### GPIO expander chip ordered
+Ordered an [MCP23017](https://ww1.microchip.com/downloads/en/devicedoc/20001952c.pdf)
+I²C GPIO expander in [DIP28](https://en.wikipedia.org/wiki/Dual_in-line_package)
+package format. To use on the left side of the keyboard.
+
+
+### Layout designed
+![Keyboard layout](Keyboard layout.jpg)
+
+This layout avoids having 2 unit wide buttons, which would interfere with the column sliding mechanism.
+Instead these buttons are moved to 2 thumb clusters. Which i I'm eager to try out.
+
+
+### Prototype pile
+![Prototype pile](Prototype pile.jpg)
+
+Here's the pile of prototypes it took to get a satisfying and functional mechanism and keycaps.
+
+
+### Module wired
+
+![Module wired top](Module wired top.jpg)
+![Module wired bottom](Module wired bottom.jpg)
+
+Soldered up the first module. I used stranded wire due to metal fatigue. This methodology seems to be feasible.
+I'm going to add pin header connectors to connect it to the board, so it can be disconnected and the module removed.
+Spanning the top is gonna be a prototype board PCB with all the diodes, connectors for modules, DIP28 GPIO expander and 
+the TRRS headphone jack.
+
+
+### Modules for left side printed
+![Coulumns modules for left side WIP](Coulumns modules for left side WIP.jpg)
+
+Done printing and cleaning up all the modules for the left side.
+
+![Left side modules in base top](Left side modules in base top.jpg)
+![Left side modules in base bottom](Left side modules in base bottom.jpg)
+
+Printed the bottom for the left side it unfortunately bent slightly when the modules were put in place, 
+even tho i was patient letting it cool down after printing. I held it over the stove, and counter bend it. 
+Then placed it on a flat surface. Which fixed the curve.
+
+![Left side wiring diagram](Left side wiring diagram.jpg)
+
+Planned out the circuit diagram for the left side of the keyboard, everything fit really nicely.
+I'm excited to make it a reality. The top features pin headers for each sliding module. Which has 6 pins, 1 for the 
+column, and 5 for the rows. The rows are connected to the diodes, which bridge the gap to their respective colored bus 
+bars on the bottom side. Which forms a natural ╲ ╲ ╲ ╲ ╲ pattern. The columns have busbars on the bottom left side. 
+Both bus bar clusters are terminated in 2 flex cable connections, one for the GPIO expander chip, and one for a male pin 
+header for testing and debugging, it's also pin compatible with my old keyboard, allowing me to do an agile partial 
+goal, and get success feeling of trying it out, motivating me to keep working, and getting to test it
+before i add to many variables and unknowns, which could lead to multiple failure points, 
+making me have to debug multiple possible error sources at the same time. There's 2 rows of connection points next to 
+the debug connector, which is a fine place to extend the connection on to thumb cluster module, which differs because it
+has the diodes on the module as opposed to on the circuit board. It has 1 pin for the row, and the rest for the columns.
+Because it's wired up like it was a row at the bottom of the keyboard. Finally the headphone jack fits in the top 
+right corner, pointing upwards, since there's already going to be the cables from the sliding modules looping that way.
+
+
+### Circuit board initial test
+
+![Circuit board painted](Circuit board painted.jpg)
+![Circuit initial test](Circuit initial test.jpg)
+
+Painted the circuit board, to indicate where the busbars on the bottom are routed.
+Wired up a test setup to test the first 4x4 buttons, and it works, yay ^-^
+
+![Left side working prototype](Left side working prototype.jpg)
+
+## Full stop
+So up to this point, i had the intention of making this into a full hand wired keyboard.
+But I don't like how the wires at the top ended up looking, 
+so I've chosen to cut my losses and use my prototype to decide how I want the offsets to be, 
+and as a test bed to remove my last few unknowns, namely, thumb cluster and I/O expander chip.
+I should have cut more corners, to test the core concept, before spending time, on the niceties.
\ No newline at end of file