Updated the documentation
@@ -1,4 +1,195 @@
|
||||
# ESBtnBox
|
||||
Simple button box for simracing and other activities.
|
||||
Simple button box for simracing and other activities. This works but its still
|
||||
an early phase and I hope to subject it to a great list of improvements from
|
||||
polishing the 3D models to making the whole thing more compact.
|
||||
|
||||
This follows the simple principle of the keyboard matrix. Will update soon xoxo.
|
||||

|
||||
|
||||
|
||||
# Components
|
||||
## Electronics
|
||||
| Part | Quantity |
|
||||
| ----------------------------------------- | -------- |
|
||||
| Arduino Pro Micro (ATmega32u4) | 1 |
|
||||
| Female Headers for pro micro | 24 |
|
||||
| JST-PH Connectors (6 pin) male and female | 1 | [^1]
|
||||
| JST-PH Connectors (5 pin) male and female | 1 |
|
||||
| JST-PH Connectors (3 pin) male and female | 1 |
|
||||
| JST-PH Connectors (2 pin) male and female | 3 |
|
||||
| Perf boards 70mm x 500mm | 2 |
|
||||
| 100nF Capacitors | 10 |
|
||||
| 74HC595N Shift Register | 1 |
|
||||
| 74HC165N Shift Register | 1 |
|
||||
| 10k Ohm Resistors | 20 |
|
||||
| 1N4148 diodes | 26 |
|
||||
| Toggle Switches | 6 | [^2]
|
||||
| Rotary Encoders | 4 |
|
||||
| 2P LW26-25 series changeover switch | 1 |
|
||||
| MX switches (and keycaps I recon) | 12 |
|
||||
| Wiring and consumables | Lots |
|
||||
|
||||
[^1]: I used 2mm pitch for these connectors, but they didn't really match the
|
||||
pitch of the perf board I was using. Choosing other pitches wouldn't be a bad
|
||||
idea.
|
||||
|
||||
|
||||
[^2]: I used 4 On-Off-On switches and 2 MOM-Off-MOM switches. Permutate it
|
||||
however you desire.
|
||||
|
||||
## Hardware
|
||||
| Part | Quantity |
|
||||
| --------------- | -------- |
|
||||
| M3 nuts | 20 | [^3]
|
||||
| M5 nuts | 2 |
|
||||
| M3x40mm | 4 | [^4]
|
||||
| M3x12mm | 2 |
|
||||
| M3x50mm | 4 |
|
||||
| M5x20mm | 2 |
|
||||
| M3 t-nut | 2 |
|
||||
| M2 Heat Inserts | 7 |
|
||||
| M2x6mm | 7 |
|
||||
|
||||
[^3]: 4 of these are optional: the ones on the outwards facing piece that connects
|
||||
to the playseat and the 2 top ones on the front plate
|
||||
|
||||
[^4]: 2 of these are optional: the ones on the outwards facing piece that connects
|
||||
to the playseat structure.
|
||||
|
||||
## 3D printed parts
|
||||
- Clamp: composed by the files `./3DModel/seatAttachement_screwSide.FCStd` and
|
||||
`./3DModel/seatAttachement.FCStd`, the latter is the the one facing the seating
|
||||
user and the first the one facing outwards
|
||||
- Arm which is the file `./3DModel/arm.FCStd`
|
||||
- T-slot which bolts to the front plate: `./3DModel/tSlot.FCStd`
|
||||
- T-slot bracket which bolts to the t-slot and the arm: `./3DModel/tSlotAttachement.FCStd`
|
||||
- Front plate where all the buttons are mounted to: `./3DModel/frontPlate.FCStd`
|
||||
- Cover plate which where the "pcb" mounts and connects to the front plate: `./3DModel/pcbHolder.FCStd`
|
||||
|
||||
|
||||
# Assembly
|
||||
The assembly is straightforward, specially if you are the one that imagined it:
|
||||
1. put the toggle switches into their through holes and bolt them
|
||||
2. put the rotary encoders into their through holes and bolt them
|
||||
3. insert the MX switches into their holes
|
||||
4. bolt the changeover switch into its slot
|
||||
5. wire the things according to the schematic. I started by doing the columns
|
||||
and then the rows and left the rotary part of the encoders for the end. Crimp
|
||||
the JSH-PH connectors on the rows, columns and rotary encoders
|
||||
6. solder the components to the perf boards. I joined the 2 perf boards like the
|
||||
images show
|
||||
7. mount the back cover
|
||||
1. put the heat inserts into the back cover
|
||||
2. bolt the perf boards to the back cover
|
||||
3. drill holes on the front plate for the back cover holes. They go 7.5mm
|
||||
in from the front plate edges, 1.5mm below the toggle switches and are spaced
|
||||
apart by 45mm
|
||||
4. pass the M3x50mm bolts trough the front plate and put nuts holding them
|
||||
5. place nuts 8mm down from the tip on them
|
||||
6. connect the front plate electronics to the pcb
|
||||
7. place the back cover on the M3x50mm bolts and put nuts on it
|
||||
8. bolt the t-slot 3D printed part tot he front plate and pass the t-nuts into it
|
||||
9. place the t-slot attachement on the t-nuts. Leave them loose for later adjustments
|
||||
10. heat insert the M5 nuts into the arm and the M3 nuts on inside part of the clamp
|
||||
11. loosely assemble the arm
|
||||
12. place the assembly on the playseat and clamp it down with the M3x40mm bolts
|
||||
13. do the final adjustments and tighten everything down
|
||||
|
||||
## Schematics
|
||||
Well, I'm not very well versed on KiCAD or eletronics design in general, so all
|
||||
I have is the following hand drawings and pinouts. I will make something better
|
||||
at some point.
|
||||
|
||||
|
||||
### Shift registers:
|
||||
| Pro Micro Pin | 74HC595N Pin |
|
||||
| ------------- | ------------ |
|
||||
| 4 | 14 |
|
||||
| 5 | 12 |
|
||||
| 6 | 11 |
|
||||
| GND | 8 |
|
||||
| GND | 13 |
|
||||
| 5V | 16 |
|
||||
| 5V | 10 |
|
||||
Put a capacitor on the 5V and common Ground
|
||||
|
||||
| Pro Micro Pin | 74HC165N Pin |
|
||||
| ------------- | ------------ |
|
||||
| 7 | 15 |
|
||||
| 8 | 7 |
|
||||
| 9 | 2 |
|
||||
| 10 | 1 |
|
||||
| GND | 8 |
|
||||
| GND | 13 |
|
||||
| 5V | 16 |
|
||||
Put a capacitor on the 5V and common Ground
|
||||
|
||||
#### Shift registers to kbd matrix
|
||||
Rows on the 595N:
|
||||
| 74HC595N Pin | Matrix Row |
|
||||
| ------------ | ---------- |
|
||||
| 1 | 5 |
|
||||
| 2 | 4 |
|
||||
| 3 | 3 |
|
||||
| 4 | 2 |
|
||||
| 5 | 1 |
|
||||
| 6 | 0 |
|
||||
|
||||
Columns on the 165N:
|
||||
| 74HC165N Pin | Matrix Col |
|
||||
| ------------ | ---------- |
|
||||
| 14 | 4 |
|
||||
| 3 | 3 |
|
||||
| 4 | 2 |
|
||||
| 5 | 1 |
|
||||
| 6 | 0 |
|
||||
|
||||
|
||||
### Rotary Encoders
|
||||
Referring to the rotary encoders from the front view.
|
||||
Only the first one will have the common ground specified because thats the one
|
||||
that runs the ground for all the others.
|
||||
|
||||
1st:
|
||||
| Pro Micro Pin | Rotary Encoder Pin |
|
||||
| ------------- | ------------------ |
|
||||
| 14 | Top |
|
||||
| GND | Middle |
|
||||
| 16 | Bottom |
|
||||
|
||||
2nd:
|
||||
| Pro Micro Pin | Rotary Encoder Pin |
|
||||
| ------------- | ------------------ |
|
||||
| 15 | Top |
|
||||
| 18 | Bottom |
|
||||
|
||||
3rd:
|
||||
| Pro Micro Pin | Rotary Encoder Pin |
|
||||
| ------------- | ------------------ |
|
||||
| 19 | Top |
|
||||
| 20 | Bottom |
|
||||
|
||||
4th:
|
||||
| Pro Micro Pin | Rotary Encoder Pin |
|
||||
| ------------- | ------------------ |
|
||||
| 3 | Top |
|
||||
| 2 | Bottom |
|
||||
|
||||
|
||||
### Visual Aid
|
||||
Matrix Wiring:
|
||||

|
||||
|
||||
2 Pin JST-PH connectors from the rotary encoder:
|
||||

|
||||
|
||||
3 Pin JST-PH connectors from the rotary encoder:
|
||||

|
||||
|
||||
|
||||
## Assembled project
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 799 KiB |
|
After Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 4.2 MiB |
|
After Width: | Height: | Size: 2.9 MiB |
|
After Width: | Height: | Size: 605 KiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 3.2 MiB |