summaryrefslogtreecommitdiff
path: root/keyboards/handwired/dqz11n1g/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired/dqz11n1g/readme.md')
-rw-r--r--keyboards/handwired/dqz11n1g/readme.md80
1 files changed, 80 insertions, 0 deletions
diff --git a/keyboards/handwired/dqz11n1g/readme.md b/keyboards/handwired/dqz11n1g/readme.md
new file mode 100644
index 0000000000..0e3a57873d
--- /dev/null
+++ b/keyboards/handwired/dqz11n1g/readme.md
@@ -0,0 +1,80 @@
+# DQz11N1G
+
+![DQz11N1G](https://u.cubeupload.com/ddklg/OPBN5q.jpg)
+
+Firmware for a DIY controller replacement for one of the ortholinear contoured
+keyboards manufactured by [PCD Maltron Ltd](https://www.maltron.com)
+
+This work here in no way officially associated with PCD Maltron Ltd and comes
+with NO WARRANTY. Modifying your Maltron keyboard as described below will
+certainly void your warranty and may cause damage to your keyboard. Proceed
+at your own risk!
+
+* maintainer: [David Kuehling](https://github.com/dvdkhlng/qmk_firmware_dqz11n1g)
+* Hardware Supported: Maltron DQz11N1G with a replacement controller board
+ assembled as described below. The work here is based on a german version
+ of the keyboard: DQz11N1G-DE. I assume, but don't know for sure, that
+ minor or no changes at all are required to make this work on different
+ language versions of the keyboard.
+* Hardware Availability:
+ * [PCD Maltron Ltd](https://www.maltron.com), for the original keyboard
+ * 1x [Arduino Pro Micro](https://www.sparkfun.com/products/12640)
+ * 3x [SN74HC165](https://www.ti.com/product/SN74HC165)
+ * 1x DIL connector 2 rows a 17 pins.
+ * 19x pull-down resistors (10k Ohm),
+ * 4 LED current limiting resistors (not sure about the correct resistance,
+ using 470 Ohm here)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/dqz11n1g:default
+
+## In Detail
+
+[PCD Maltron Ltd](https://www.maltron.com) manufacturs ergonomic keyboards
+that appear to be hand-wired internally. For the Maltron DQz11N1G-DE
+keyboard that I happen to own, the keyboard matrix is wired to a 34-pin DIL
+connector. This makes it rather easy to replace the proprietary
+controller-board with a self-made board based on the QMK firmware.
+
+I don't really like the default layout of my Maltron DQz11N1G-DE keyboard,
+and modding it to work with QMK allows me to adapt it to my needs. It
+especially allows for the two space keys to assume different roles, thereby
+creating an additional easily reachable thumb-key.
+
+### Internal Details of Keyboard Matrix and DIL Connector
+
+![DQz11N1G-DE keyboard matrix](https://u.cubeupload.com/ddklg/OJFue6.jpg)
+
+![DQz11N1G-DE keyboard matrix connector](https://u.cubeupload.com/ddklg/fjFXeL.png)
+
+### Replacement Keyboard Controller Board
+
+Due to supply chain problems, I decided to base this on an
+Arduino-compatible [Pro Micro](https://www.sparkfun.com/products/12640)
+board which is still easy to source.
+
+Unfortunately pin-count of the DQz11N1G-DE's keyboard matrix is way beyond
+the Pro Micro's available I/O pin count. I'm using three 8-bit
+shift-registers ([SN74HC165](https://www.ti.com/product/SN74HC165) ) to
+connect the 19 colums of the keyboard matrix for readout. Due to diode
+direction in DQz11N1G-DE we also need 19 pull-down resistors one for each of
+the utilized shift-register inputs.
+
+This is a design sketch of the replacement board this is based on. Note how
+we need a custom matrix.c source file to deal with the shift register based
+keyboard readout.
+
+![Sketch of Keyboard Controller Board](https://u.cubeupload.com/ddklg/GBZgSf.png)
+
+This is how the assembled controller board looks like, on the right side you
+see the original PIC-based controller the keyboard ships with.
+
+![The assembled controller next to the original controller the keyboard ships with](https://u.cubeupload.com/ddklg/KLYF2V.jpg)
+
+Inside of the keyboard after installing the new controller board:
+
+![Installed controller](https://u.cubeupload.com/ddklg/Br0aiF.jpg)
+
+(Not visible in the photo: I drilled hole into the keyboard above the USB
+connector for a reset switch to simplify flashing controller firmware)