aboutsummaryrefslogtreecommitdiff
path: root/keyboards/handwired/unicomp_mini_m/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired/unicomp_mini_m/readme.md')
-rw-r--r--keyboards/handwired/unicomp_mini_m/readme.md127
1 files changed, 127 insertions, 0 deletions
diff --git a/keyboards/handwired/unicomp_mini_m/readme.md b/keyboards/handwired/unicomp_mini_m/readme.md
new file mode 100644
index 000000000..0640fbb25
--- /dev/null
+++ b/keyboards/handwired/unicomp_mini_m/readme.md
@@ -0,0 +1,127 @@
1## Unicomp Mini M with Teensy2.0++ controller & QMK Firmware
2
3### Overview
4
5#### Goals
6
7The goal of this project was to replace the stock control board of the Unicomp Mini M with a programmable one. The Mini
8M was released by [Unicomp](https://www.pckeyboard.com) in Q1 of 2021 and is a re-release of The IBM Model M Space
9Saving Keyboard (SSK) with some enhancements.
10
11This guide strives to achieve the following:
12
13* Make completely reversable changes, or in other words, no permanent modifications to the Mini M
14* Allow full programmability of the Mini M via QMK
15* Be able to flash firmware without having to take the board apart to hit the reset button
16* Create a default keymap that works just like the stock keymap shipped from Unicomp, including the toggle-able number
17 pad
18* Support all LEDs as normal
19
20My guide will go a few steps further:
21
22* Convert the wired connection from USB-A to USB-C
23* Install a potentiometer to dim the LEDs if desired
24
25#### Credits
26
27The following resources were instrumental to the success of this project:
28
29* Model M 101/102 write-up located in `qmk_firmware/keyboards/converter/modelm`
30* [Model M Subreddit](https://modelm.reddit.com)
31* Model M Discord
32
33### Hardware
34
35##### Parts
36
37For a working Mini M with QMK *without* LEDs working, the following parts are necessary:
38
39* 1 Adafruit Perma-Proto Full Sized Breadboard. Luckily, this board is a perfect fit for the Mini M case!
40* 1 Teensy2.0++, with headers soldered on if you can find it
41 * 2 20-row x 1 column headers, if you can't find a Teensy with headers already soldered on
42* 2 16-pin Ribbon connectors, PCB mount
43* Hookup wire. I used 30AWG wire and while it worked, I should have used 1 gauge (or more) thicker
44* A panel mount male USB-B to female USB-C extender
45
46To get the Mini M working with LEDs, you will need:
47
48* 3 1kOhm through-hole resistors
49
50##### Tools
51
52The following were absolutely critical for the project:
53
54* Soldering iron, preferably one with a narrow tip for small connections
55* Drill, preferably a hand-held rotary tool (such as a Dremel)
56* Wire strippers/cutters
57* A sharp knife
58
59Optional, but worth having around:
60
61* Helping-hands, PCB holder, preferably both
62* Multi-meter for testing continuity of your connections
63* Hot-glue gun for mounting the USB extender to the Perma-Proto
64
65### Assembly
66
67#### Solder Teensy to the Perma-Proto
68
691. Solder headers to Teensy
702. Solder headers to Perma-Proto
71
72#### Solder ribbon connectors
73
74* Rows on the Perma-Proto that line up with membrane ribbons
75* Trim excess under board
76* Test continuity
77
78#### Solder in hookup wires
79
80* Ribbon connector used for the right ribbon will need hookup wire to establish connections to the Teensy
81* 12 required, 16 if you want full functionality
82
83#### Optional: Solder in resistors
84
85#### Caveat: D6 pin on the Teensy
86
87There are a few ways to mount the Teensy to the Perma-Proto board. I chose to connect my 16 pin ribbon connector to the
88Teensy pins starting at C7 and ending at D2. If you do this, beware that pin D6 will not work for the purposes of this
89project. It is possible to modify it to make it so, but that is beyond the scope of this guide.
90
91Bypassing D6 is necessary if you mount your ribbon connector as I have just described. Luckily, it is a simple process!
92First, with a sharp knife, sever the connection between your ribbon connector pin that is connected to Teensy D6 pin. I
93would recommend doing this at the closest possible point to the Teensy on the underside of the Perma-Proto board. Once
94that is done, use a remaining point on the Perma-Proto bus for that ribbon connection (that was previously connected to
95D6) to add a jumper wire connected to pin B7. If you are using the firmware files provided in this repository,
96everything is already set for this configuration.
97
98### Testing
99
100### Software
101
102#### Build firmware
103
104See qmk documentation on getting your build environment working.
105
106Compile the Mini M firmware files with the default keymap. It allows for the Mini M to be used with the same
107functionality as shipped from the manufacturer.
108
109```bash
110$ qmk compile -kb unicomp/mini_m -km default
111```
112
113While plugged in, press the reset button on your Teensy and then:
114
115```bash
116$ qmk flash -kb unicomp/mini_m -km default
117```
118
119If everything works to this point, congratulations! You now have a programmable Mini M. If you are using the default
120keymap, you can reset your Teensy by pressing Shift+Pause together, eliminating the need to take apart the case in order
121to do so.
122
123#### Keymaps
124
125To build your own keymap, create a new directory in `keyboards/unicomp/mini_m/keymaps/<your name>`, copy the files from
126`keyboards/unicomp/mini_m/default` into your new directory, and edit them as you wish. When you are ready to flash your
127new keymap to the Mini M, the command will be `qmk flash -kb unicomp/mini_m -kb <your name>`.