Skip to content

Commit

Permalink
add 3d files, revamp readme
Browse files Browse the repository at this point in the history
  • Loading branch information
bstiq committed Aug 30, 2024
1 parent 43d3933 commit e79c00c
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 191 deletions.
235 changes: 44 additions & 191 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,220 +14,86 @@ The Dilemma is a vertical stagger low-profile keyboard with mods.

## Table of contents

- [Table of contents](#table-of-contents)
- [Features](#features)
- [Versions](#versions)
- [Wireless abilities](#wireless-abilities)
- [BOM](#bom)
- [DIY version](#diy-version)
- [Assembled version](#assembled-version)
- [Trackpad mod](#trackpad-mod)
- [Cases](#cases)
- [Acrylic midplate (v2 only)](#acrylic-midplate-v2-only)
- [Acrylic bottom plate](#acrylic-bottom-plate)
- [Tents - metal bottom plate](#tents---metal-bottom-plate)
- [3d printed thin case (v1 only)](#3d-printed-thin-case-v1-only)
- [3d printed less-thin case with tenting pucks (v1 only)](#3d-printed-less-thin-case-with-tenting-pucks-v1-only)
- [Community mods](#community-mods)
- [Build guide](#build-guide)
- [Forks](#forks)
- [Support me on Patreon](#support-me-on-patreon)
- [Others / in progress](#others--in-progress)
- [Required components](#required-components)
- [3d prints - cases](#3d-prints---cases)
- [Electronics](#electronics)
- [Hardware - trackpad mod](#hardware---trackpad-mod)
- [Metal plates](#metal-plates)
- [Community mods](#community-mods)
- [Build guide](#build-guide)
- [Forks](#forks)


---

## Features
# Features

- Heavy pinky stagger
- heavy pinky stagger
- MX and choc compatible
- Underglow RGB, Per-key RGB
- version with hotswap
- underglow RGB, per-key RGB
- 2 Rotary encoders on thumb clusters
- connectors for OLED, LCD

## Versions
# Versions

There are 2 versions of the dilemma, in 2 folders:
There are multiple versions of the dilemma:

- `dilemma`, for DIY that requires an additional MCU (eg. kb2040)
- `dilemma_assembled`, for PCB assembly

The Dilemma is **made for rp2040**, so if you go with the DIY version you should source your MCU board accordingly.
| Folder | Name | Size | PCBA | Switches | Additional features |
| --------------- | ------------------ | ----- | ----- | ---------------- | --------------------------------------- |
| `3x5_2` | Dilemma DIY V2 | 3x5+2 | no | MX, Choc V1 | |
| `3x5_3` | Dilemma V3 | 3x5+3 | yes | MX, Choc V1 | Underglow, per-key RGB, rotary encoders |
| `3x5_3_hotswap` | Dilemma V3 hotswap | yes | 3x5+3 | Choc V1, hotswap | Underglow, per-key RGB, rotary encoders |
| `4x6_4` | Dilemma MAX | yes | 4x6+4 | MX, Choc V1 | Underglow, per-key RGB, rotary encoders |

## Wireless abilities

ZMK does not support input devices at the moment, and QMK does not support BLE.
# Required components

However, as this is meant to be a portable keyboard, some ground work has been laid with the DIY version:
## 3d prints - cases

- pinout compatible with nice!nano
- 2 battery connectors footprints: JST, and THT
- on / off button footprint
You can find the required 3d prints in the `mechanical` folder.
For the Dilemma V3, the `cases/3x5_3_hotswap` folder contains all the required prints.

At this time, the assembled version does not support wireless.
## Electronics

## BOM
The new revisions are made to be PCBA'd, you can find the gerber, BOM and POS files in the [Releases](https://github.com/bastardkb/dilemma/releases) section.

The PCB can work on standalone.

Depending on which version you go with, you will need to source different items.

On top of the basic build, you can add a range of options, which require additional components:

- 3d printed case
- mods (eg. trackpad)

Both versions of the Dilemma require:

| Part name | Amount | Link / source |
| --------------- | ------ | ------------- |
| Audio jack | 2 | |
| Button, 4x4x1.5 | 2 | |


### DIY version


On top of the parts mentioned above, you will need:

| Part name | Amount | Link / source |
| ----------------------- | ------ | --------------------------- |
| SOD123 Diodes | 34 | Farnell, Mouser, Aliexpress |
| Dilemma PCB, DIY, 1.2mm | 2 | See Release section |
| RP2040 MCU board | 2 | KB2040, elite-pi... |
| Header pins | 2*12 | |

Please note, **the Dilemma is compatible only with rp2040 boards !**

The release section contains the latest gerbers.

Order in 1.2mm thickness.

### Assembled version

![](pics/1l.jpg)


On top of the parts mentioned above, you will need:

| Part name | Amount | Link / source |
| ----------------------------- | ------ | ------------------- |
| Dilemma PCB, assembled | 2 | See Release section |

The release section contains the latest gerbers with BOM and POS files.

Order in 1.6mm thickness.

### Trackpad mod
## Hardware - trackpad mod

This is the first mod made for the keyboard - so it can function as a standalone input device.

It uses I2C on the DIY version, and SPI on the assembled version.

The DIY version requires removing 2 resistors from the trackpad (see build guide).

When installing the trackpad mod, you will need:

| Part name | Amount | Link / source |
| ------------------- | ------ | ----------------------- |
| M3 screw, torx, 6mm | 4 | Conrad |
| M3x5x5 screw insert | 4 | Aliexpress |
| 3d printed parts | | See `mechanical` folder |
| 40mm cirque trackpad, curved | | |


If building the PCBA version, you will also need:

| Part name | Amount | Link / source |
| ------------------------------------------------------------- | ------ | ------------- |
| 12-position FPC cable, 0.5mm pitch, same side contacts, 100mm | 1 | Farnell |


If building the DIY version, you will also need:

| Part name | Amount | Link / source |
| ----------------------- | ------ | ------------- |
| SOD123 Resistor, 5kOhms | 2 | |
| Cables | | |

## Cases

### Acrylic midplate (v2 only)
When installing the trackpad mod, on top of the 3d prints you will need:

This case is only compatible with the assembled_v2 version !
| Part name | Amount | Link / source |
| ------------------------------------------------------------- | ------ | ----------------------- |
| M3 screw, torx, 6mm | 4 | Conrad |
| M3x5x5 screw insert | 4 | Aliexpress |
| 3d printed parts | | See `mechanical` folder |
| 40mm cirque trackpad, curved | 1 | |
| 12-position FPC cable, 0.5mm pitch, same side contacts, 100mm | 1 | Farnell |

Add an underglow effect and a beautiful view into the PCB with those acrylic midplates.

## Metal plates

![](pics/1j.jpg)

You will need

| Part name | Amount | Details |
| ------------------- | ------ | ----------------------- |
| [3d printed top plate](mechanical/plates/v2/top.stl) | 2 | 1 left, 1 right |
|[acrylic mid plate](mechanical/plates/v2/mid_acry_full.dxf) | 2 | Order transparent or frost, 3mm |
| [3d printed bottom plate](mechanical/plates/v2/bottom.stl)* | 2 | 1 left, 1 right |
| M3x4 flat head screw | 8 | |
| M3x4 chamfered head screw | 10 | |
| M3x5 female/female spacer | 8 | |
| M3x5 male/female spacer | 2 | |

*the 3d printed bottom plate can be swapped out for a full acrylic bottom plate, or a metal plate for the magnet mod (see following sections).

### Acrylic bottom plate

If you are using the acrylic midplate, you can install a full bottom plate. Order the [bottom acrylic plates](mechanical/plates/v2/bottom_acry_full.dxf) in 3mm thickness.

You will also need to chamfer the M3 holes for the screws to be flush.


### Tents - metal bottom plate

This plate enables the use of tripods through magsafe magnets.
Optional metal plates enables the use of tripods through magsafe magnets.


![](pics/1m.jpg)

Order the [metal plates](mechanical/plates/v2/bottom_metal.dxf) in 3mm thickness. The metal needs to be *magnetized* !

You will also need to chamfer the M3 holes for the screws to be flush.
Grab the appropriate DXF from the matched folder.

You will need:

| Part name | Amount | Details |
| ----------------------- | ------ | ------------- |
| Metal plates | 2 | 3mm|
| Tripods | 2 | Neewer Z flex |
| Magsafe tripod adapter | 2 | Amazon/Aliexpress |



### 3d printed thin case (v1 only)

This case is only compatible with the DIY and assembled_v1 versions !

Designed for the minimum footprint possible, while still protecting the PCB.

| Part name | Amount | Link / source |
| ---------------------- | --------------- | ----------------------- |
| M3 screw, torx, 6mm | 6 | Conrad |
| M3 nut | 3 | Conrad |
| Anti slip pads, 10x2mm | 12 | Aliexpress |
| 3d case | 1 right, 1 left | See `mechanical` folder |

The case is reversible.

It needs to be printed at 0.2mm layer height supportless specifically for the nut inserts suport-less interfaces. If you are doing a different layer height, use supports.

### 3d printed less-thin case with tenting pucks (v1 only)

This case is only compatible with the DIY and assembled_v1 versions !

Accomodates the Splitkb tenting puck, to be used with a Manfrotto tripod.

There are a range of cases available. See details in the `mechanical/cases` folder.

![](pics/1c.jpg)
| Part name | Amount | Details |
| ---------------------- | ------ | ----------------- |
| Metal plates | 2 | 3mm |
| Tripods | 2 | Neewer Z flex |
| Magsafe tripod adapter | 2 | Amazon/Aliexpress |

## Community mods

Expand All @@ -246,16 +112,3 @@ https://docs.bastardkb.com/hc/en-us/sections/6848232395410-Dilemma

- [3x6 version](https://github.com/bstiq/Dilemma_3x6/)
- [3x5 + 3 version](https://github.com/dixls/Dilemma-3mod)

## Support me on Patreon

If you like the keyboard, please consider helping me with Patreon: https://www.patreon.com/bastardkb

I post regular updates and hindsight on my work. I work full time on keyboard innovation, and this helps a lot !

## Others / in progress

The PCB has available connectors for:

- oled

Binary file added mechanical/cases/3x5_3_hotswap/hider_left_v6.stl
Binary file not shown.
Binary file added mechanical/cases/3x5_3_hotswap/left_v6.stl
Binary file not shown.
Binary file not shown.
Binary file added mechanical/cases/3x5_3_hotswap/top_right_v82.stl
Binary file not shown.
Binary file not shown.

0 comments on commit e79c00c

Please sign in to comment.