diff options
Diffstat (limited to 'keyboards/handwired/unicomp_mini_m/readme.md')
| -rw-r--r-- | keyboards/handwired/unicomp_mini_m/readme.md | 127 |
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 | |||
| 7 | The goal of this project was to replace the stock control board of the Unicomp Mini M with a programmable one. The Mini | ||
| 8 | M was released by [Unicomp](https://www.pckeyboard.com) in Q1 of 2021 and is a re-release of The IBM Model M Space | ||
| 9 | Saving Keyboard (SSK) with some enhancements. | ||
| 10 | |||
| 11 | This 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 | |||
| 20 | My 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 | |||
| 27 | The 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 | |||
| 37 | For 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 | |||
| 46 | To get the Mini M working with LEDs, you will need: | ||
| 47 | |||
| 48 | * 3 1kOhm through-hole resistors | ||
| 49 | |||
| 50 | ##### Tools | ||
| 51 | |||
| 52 | The 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 | |||
| 59 | Optional, 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 | |||
| 69 | 1. Solder headers to Teensy | ||
| 70 | 2. 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 | |||
| 87 | There are a few ways to mount the Teensy to the Perma-Proto board. I chose to connect my 16 pin ribbon connector to the | ||
| 88 | Teensy pins starting at C7 and ending at D2. If you do this, beware that pin D6 will not work for the purposes of this | ||
| 89 | project. It is possible to modify it to make it so, but that is beyond the scope of this guide. | ||
| 90 | |||
| 91 | Bypassing D6 is necessary if you mount your ribbon connector as I have just described. Luckily, it is a simple process! | ||
| 92 | First, with a sharp knife, sever the connection between your ribbon connector pin that is connected to Teensy D6 pin. I | ||
| 93 | would recommend doing this at the closest possible point to the Teensy on the underside of the Perma-Proto board. Once | ||
| 94 | that is done, use a remaining point on the Perma-Proto bus for that ribbon connection (that was previously connected to | ||
| 95 | D6) to add a jumper wire connected to pin B7. If you are using the firmware files provided in this repository, | ||
| 96 | everything is already set for this configuration. | ||
| 97 | |||
| 98 | ### Testing | ||
| 99 | |||
| 100 | ### Software | ||
| 101 | |||
| 102 | #### Build firmware | ||
| 103 | |||
| 104 | See qmk documentation on getting your build environment working. | ||
| 105 | |||
| 106 | Compile the Mini M firmware files with the default keymap. It allows for the Mini M to be used with the same | ||
| 107 | functionality as shipped from the manufacturer. | ||
| 108 | |||
| 109 | ```bash | ||
| 110 | $ qmk compile -kb unicomp/mini_m -km default | ||
| 111 | ``` | ||
| 112 | |||
| 113 | While 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 | |||
| 119 | If everything works to this point, congratulations! You now have a programmable Mini M. If you are using the default | ||
| 120 | keymap, you can reset your Teensy by pressing Shift+Pause together, eliminating the need to take apart the case in order | ||
| 121 | to do so. | ||
| 122 | |||
| 123 | #### Keymaps | ||
| 124 | |||
| 125 | To 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 | ||
| 127 | new keymap to the Mini M, the command will be `qmk flash -kb unicomp/mini_m -kb <your name>`. | ||
