summaryrefslogtreecommitdiffstats
path: root/0xC.pad/text$markdown.md
blob: 1a4dac91c5e3a8e70ff43b419cffb54e7a8cb770 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
`0xC.pad` - 12 key macropad
===========================

contents:

1. [features](#features)
1. [availability](#availability)
1. [assembly](#assembly)
1. [configuration](#configuration)
1. [flashing](#flashing)
1. [appendix - schematic & drawings](#appendix)

<mmm-embed facet="preview"></mmm-embed>

<div>
  <a class="action-btn" href="https://lectronz.com/products/-0xc-pad-fully-assembled">buy now</a>
  or
  <a class="action-btn secondary" href="https://fkcaps.com/products/0xC.pad">get a kit</a>
</div>

<span id="features" />
## features

* 12x Kailh Choc switches
* per-key RGB backlighting
* integrated ATMega32U2 MCU
* pre-soldered LEDs, MCU and diodes
* onboard, through-hole USB-C connector with ESD protection
* electrically shielded case machined from aluminum
* supports [QMK][qmk] firmware and [Vial][vial] GUI configuration

<span id="availability" />
## availability

Fully assembled units can be bought directly from me:

- [hw.s-ol.nu][lectronz] via Lectronz (IT)

DIY kits with SMT components pre-soldered on the PCB are available from a number of
different vendors internationally (both EU and US).
As the production and distribution partner,
FKcaps keeps track of the [up-to-date vendor list][vendors].

<span id="assembly" />
## assembly

### what you will need

<mmm-embed path="contents"></mmm-embed>

- the `0xC.pad` kit:
  - 1x `0xC.pad` PCB (pre-soldered)
  - 1x top plate
  - 1x bottom plate
  - 1x allen key
  - 4x rubber feet
  - 4x M2x8 flathead screw
  - 4x M2x1 spacer
  - 12x M2 washer
- 12x Kailh Choc keyswitches
- 1x USB-C cable
- soldering iron and solder
- some tape or adhesive putty
- optional: a small file

### instructions

Start by taking the top plate and identifying its top and bottom side.
The bottom has recessed cutouts for the switch snaps.

<mmm-embed path="assembly" facet="01"></mmm-embed>

Insert the switches into the top plate. Make sure to insert them in the right orientation:
when the plate's short side with two holes is turned towards the top,
the switch stems should have an upright "T" shape as in this picture:

<mmm-embed path="assembly" facet="02"></mmm-embed>

Once all switches are inserted, add the four M2x8 screws in the four mounting holes.

<mmm-embed path="assembly" facet="03"></mmm-embed>

Now carefully flip the top plate over and lay it down on a flat surface without the screws falling out.
Use some tape or adhesive putty to secure the heads of the screws as you flip it.

<mmm-embed path="assembly" facet="04"></mmm-embed>

On the other side of the top plate, add one washer on each of the screw threads.

<mmm-embed path="assembly" facet="05"></mmm-embed>

Next, remove the PCB from the gray antistatic bag. The PCB may have some burrs in four places,
where it was attached to a bigger panel during manufacturing.
If you want to file these down, it's best to do that now to avoid scratching the metal parts later.
If you decide to file the PCB, do so outside and wear a mask as the fiberglass dust is harmful when breathed.

Now carefully place the PCB on top of the top plate, guiding the screws through the corresponding mounting holes.
Make sure to align the board correctly, the USB port should be on the side facing you.
Be careful when pushing the PCB down against the top plate and make sure that
all switch pins end up in one of the solder pads.
If you push down the PCB too quickly, you might bend misaligned switch pins.

<mmm-embed path="assembly" facet="06"></mmm-embed>

Once the PCB is firmly in place, start soldering the switch pins.
It's best to start with switches close to the mounting screws and check
that the plate and PCB are flush with the washer by applying light pressure while soldering the first switches.
Once all the corners have been soldered, it's not necessary to pay particular attention to the spacing anymore.

Now add a washer, a nylon spacer, and then another washer on each of the four mounting screws.

<mmm-embed path="assembly" facet="07"></mmm-embed>

Take the bottom plate and find it's bottom side - it has a four pockets for rubber feet and text on it.
Find the rubber feet and attach one in each of the pockets.

<mmm-embed path="assembly" facet="08"></mmm-embed>

With the bottom facing you, roughly align the plate with the mounting screws and then flip everything over again.
Use the bottom plate to prevent any of the washers or spacers to fall off the screws.

<mmm-embed path="assembly" facet="09"></mmm-embed>

You can now screw the four mounting screws into the corresponding holes using the included allen key.
Tighten them until they feel snug, but not overly tight.

Finally, take the keycaps and press one into each of the switches.

<mmm-embed path="assembly" facet="10"></mmm-embed>

That's it!

<span id="configuration" />
## configuration

The `0xC.pad` supports [QMK](https://qmk.fm) firmware out of the box.
The [online configurator](https://config.qmk.fm/#/s_ol/0xc_pad/LAYOUT) can be used to quickly create custom keymaps.
Please refer to the [Configurator Help](https://docs.qmk.fm/#/newbs_building_firmware_configurator)
for more information on how to use the online configurator.

Alternatively, [Vial][vial] can be used to quickly reconfigure the 0xC.pad without flashing new firmware each time.
To enable Vial support, download and flash the 'vial-enabled' firmware found in the [appendix](#appendix).
Once this firmware is installed, the Vial GUI can be used to update the configuration.

### advanced configuration - building with the CLI

If you want to customize your macropad further,
you can build your own firmware by cloning the official `qmk_firmware` repository.
With all dependencies set up correctly, you can build the default keymap using:

    $ qmk build -kb s_ol/0xc_pad -km default

and flash using:

    $ qmk flash -kb s_ol/0xc_pad -km default

<span id="flashing" />
## flashing

Once you have created your keymap, compile it and download the firmware (.hex) file.
To flash the firmware onto your macropad, follow these steps:

1. Unplug the `0xC.pad`
2. Hold the top-left key while plugging it in
3. Release the top-left key
  - the LEDs should remain off
4. Download and run [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases)
5. Select your firmware file (.hex file from QMK Configurator)
6. Select `atmega32u2` for the "MCU" field
7. Click "Flash"!

<span id="appendix" />
## appendix

- default firmware:      <mmm-link path="firmware" download="0xC.pad_default.hex"  facet=":application/octet-stream">0xC.pad_default.hex</mmm-link>
- vial-enabled firmware: <mmm-link path="firmware" download="0xC.pad_vial.hex" facet="vial:application/octet-stream">0xC.pad_vial.hex</mmm-link>

<mmm-embed path="schematic"></mmm-embed>

<mmm-embed path="top_plate"></mmm-embed>

[qmk]: https://qmk.fm
[vial]: https://get.vial.today/
[lectronz]: https://lectronz.com/products/-0xc-pad-fully-assembled
[vendors]: https://fkcaps.com/products/0xC.pad