Skip to content

Commit

Permalink
Merge pull request #26 from ergonautkb/feat/one-s-docs
Browse files Browse the repository at this point in the history
Add One S docs (without images)
  • Loading branch information
diastremskii authored Feb 29, 2024
2 parents a225e0f + 71b70e6 commit 57262f6
Show file tree
Hide file tree
Showing 13 changed files with 473 additions and 14 deletions.
1 change: 1 addition & 0 deletions docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ This documentation contains useful information about keyboards designed by Ergon
## Keyboards

* [Ergonaut One](/docs/keyboards/ergonaut-one/intro)
<!-- * [Ergonaut One S](/docs/keyboards/ergonaut-one-s/intro) -->

## Switches

Expand Down
9 changes: 9 additions & 0 deletions docs/keyboards/ergonaut-one-s/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"className": "display-none",
"label": "Ergonaut One S",
"position": 2,
"link": {
"type": "generated-index",
"description": "Documentation for Ergonaut One S"
}
}
164 changes: 164 additions & 0 deletions docs/keyboards/ergonaut-one-s/build-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
---
sidebar_position: 3
title: Build Guide
---

# Ergonaut One S Build Guide

## Assemble your PCB

| PCB |
| ----------------------------------- |
| ![](/img/one_build_guide/pcb/0.jpg) |

You can assemble PCB in two different configurations - either with Xiao on "top", or on the "bottom". Pick a configuration based on the variant of the case you would want to use.

### Case compatibility

| Xiao position | Modern Case | Classic Case |
| ------------- | ----------- | ------------ |
| Bottom |||
| Top |||

### Soldering

#### Xiao

Before soldering the Xiao, please, apply a **small** amount of solder on the battery pins on the bottom of Xiao. If you applied too much - you can collect the solder to the iron tip with some flux. Xiao shouldn't be skewed on the board!

![](/img/one_build_guide/pcb/bat_pins.jpg)

1. Position Xiao in its designated place
2. Start by soldering two opposite pins
3. Solder the rest of the pins
4. Flip the board
5. Put some flux in the holes (marked by the red circle in the photo), and fill them with solder (you might want to heat those pins a little longer than usual)

| Left | Right |
| ------------------------------------- | ------------------------------------- |
| ![](/img/one_build_guide/pcb/1_l.jpg) | ![](/img/one_build_guide/pcb/1_r.jpg) |
| ![](/img/one_build_guide/pcb/2_l.jpg) | ![](/img/one_build_guide/pcb/2_r.jpg) |

#### Diodes

If you are building a "Bottom Xiao" configuration, diodes should be on the **SAME** side as Xiao.
If you are building a "Top Xiao" configuration, diodes should be on the **OPPOSITE** side from Xiao.

Please take note that diodes have polarity.

![](/img/one_build_guide/pcb/diode.png)

| Left | Right |
| ------------------------------------- | ------------------------------------- |
| ![](/img/one_build_guide/pcb/3_l.jpg) | ![](/img/one_build_guide/pcb/3_r.jpg) |

#### Hotswap Sockets

If you are building a "Bottom Xiao" configuration, sockets should be on the **SAME** side as Xiao.
If you are building a "Top Xiao" configuration, sockets should be on the **OPPOSITE** side from Xiao.

| Left | Right |
| ------------------------------------- | ------------------------------------- |
| ![](/img/one_build_guide/pcb/4_l.jpg) | ![](/img/one_build_guide/pcb/4_r.jpg) |

#### Power Switches

Power switches are always on the opposite side of Xiao.

![](/img/one_build_guide/pcb/5.jpg)

#### Test your soldering

If you have a multimeter, test for shorts:

1. Between "-" and "+";
2. Between GND and 5V on the Xiao;
3. Between GND and 3V3 on the Xiao.

![](/img/one_build_guide/pcb/pins.jpg)

Then connect the battery, turn on the power switch and verify the voltage between GND and 3V3 is 3.3 volts.
If the voltage is not there, you probably need to re-solder the underside pads.

If you do not have a multimeter, just proceed with the instructions.

#### Batteries

You can choose any side for battery wires soldering, but I suggest using the same side as Xiao.

Please take note of battery polarity. Positive wire (red) should go to "+", negative wire (black) to "-".

![](/img/one_build_guide/pcb/6.jpg)

### Clean up

Clean your PCB from flux residues. IPA (isopropyl alcohol) with Q-tips should do the trick.

### Flash firmware

Now it's a good time to flash firmware to a keyboard.

1. Download [firmware](https://github.com/ergonautkb/one-zmk-config/releases/latest/download/ergonaut_one_firmware.zip) and unzip it.
2. Repeat for each half:
1. Connect the PCB to the PC via USB-C cable;
2. Press the **RST** button twice - you should see a new USB device;
3. Copy `ergonaut_one_left-seeeduino_xiao_ble-zmk.uf2` for left half or `ergonaut_one_right-seeeduino_xiao_ble-zmk.uf2` for right half to the new USB device. The device will disconnect automatically;
3. Turn ON both halves;
4. Press the **RST** button of both halves SIMULTANEOUSLY to pair them;
5. Try to connect it to the PC via Bluetooth and test that everything works;
6. Turn OFF both halves.

![](/img/one_build_guide/pcb/7.jpg)

### Test the PCB

If you do not have a multimeter, connect the battery on the left half and turn it on.
Verify it shows up as a Bluetooth keyboard.
If it does not and only shows up when connected to USB power, you probably need to re-solder the underside pads.
That is also the likely cause for the right half not connecting on battery and only working when connected to USB power.

After that, you can optionally verify the matrix.
Connect both halves to your PC and either use tweezers to short each socket or insert and press switches.
Please brace the sockets (with your fingers) when inserting the switches!

![](/img/one_build_guide/pcb/tweezers.jpg)

Keep in mind that some positions in the matrix are modifiers and will not do anything when pressed on their own.
A [keyboard tester website](https://www.keyboardtester.com) will work for modifiers, but it will not detect layers.

Matrix verification can be performed after inserting all the switches into the top case, but it is best done before mounting the bottom.

## Assemble your case

Start by inserting the PCB inside the top part of the case.

![](/img/one_build_guide/case/1.jpg)

Flip the keyboard, and insert some switches while holding the PCB against the top case. This will fix the PCB in place for further build.

![](/img/one_build_guide/case/2.jpg)

Flip the keyboard again, and insert the bottom part of the case.

![](/img/one_build_guide/case/3.jpg)

Now the tricky part - you should place hex nuts in the hex slots on the bottom side of the case, and insert screws from the top side of the case.

**Note: please do not overtighten the screws!**

| Top | Bottom |
| ------------------------------------ | ------------------------------------ |
| ![](/img/one_build_guide/case/4.jpg) | ![](/img/one_build_guide/case/5.jpg) |

Install rubber bump-ons on the bottom side of the case.

![](/img/one_build_guide/case/7.jpg)

Now insert the rest of the switches into the case.

![](/img/one_build_guide/case/6.jpg)

Now put your favorite keycaps, repeat the steps for the second half of the keyboard, turn it on, and enjoy your freshly assembled Ergonaut One!

![](/img/one_build_guide/case/8.jpg)
![](/img/one_build_guide/case/9.jpg)
119 changes: 119 additions & 0 deletions docs/keyboards/ergonaut-one-s/build-preparations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
---
sidebar_position: 2
title: Build Preparations
---

# Ergonaut One S Build Preparations

This guide will help you prepare all the necessary tools and materials for a successful Ergonaut One S build.

## PCB

<!-- TODO: Add PCB photo ![PCB](/img/one_pcb.jpg) -->
PCB is the core component of Ergonaut One S.

#### Tools:

You'd probably need:

* Soldering iron;
* Solder wire;
* Flux;
* Tweezers;
* Isopropyl Alcohol or other suitable solvent for PCB cleaning;
* Cotton Q-tips or other suitable material for PCB cleaning.

#### PCB Manufacturing

If you are brave enough, you can manufacture PCB yourself.
But my suggestion would be to grab a Gerber archive from [Github Releases](https://github.com/ergonautkb/one-s/releases/latest) and order PCBs from any capable PCB manufacturer, like:
* [JLCPCB](https://jlcpcb.com/);
* [PCBWay](https://www.pcbway.com/).

You are free to choose any desirable PCB specification but keep in mind that all cases are modeled with 1.6mm PCB thickness in mind.
You'd need two PCBs for one kit.

#### BOM

| Name | Qty | Links |
| ------------------------------------------------------- | --- | ----------------------------------------------------------------------------------------- |
| Seeeduino XIAO nRF52840 Module | 2 | [Aliexpress](https://aliexpress.com/item/1005004459618789.html) |
| MSK-12C02 SPDT Switch | 2 | [Aliexpress](https://aliexpress.com/item/4000685483225.html) |
| 1N5819 SOD-123 Diode | 36 | [Aliexpress](https://aliexpress.com/item/1005003194674618.html?sku_id=12000024602962922) |
| Gateron KS-27 Hot Swap Socket | 36 | [Aliexpress](https://aliexpress.com/item/1005004128409069.html) |
| Li-Po Battery 601730 With Protection | 2 | Source locally |
| **[OPTIONAL]** JST SH1.0 Horizontal 2 Pin PCB Connector | 2 | [Aliexpress](https://aliexpress.com/item/1005005682408443.html?&sku_id=12000033998015849) |

## Case

The case is also an essential part of Ergonaut One S since it provides proper electrical insulation from the environment and provides reliable mounting plates for the switches.

You can choose to use one of three provided variants of the case:

* 3D Printed:
* [Modern Case](#3d-printed-modern-case) (Recommended, the easiest to print)
* [Classic Case](#3d-printed-classic-case)

### Common information for 3D printed cases

#### Tools:

You'd probably need:

* FDM 3D Printer or a friend with a printer;
* **[ONLY FOR CLASSIC CASE]** Scalpel or some other cutting tool to remove included supports;
* **[OPTIONAL]** Deburring tool.

#### BOM

You'd need some additional hardware to assemble your case:

| Name | Qty | Links |
| ----------------------------- | --- | ---------------------------------------------------------------------------------------- |
| M2 8mm Flat Countersunk Screw | 8 | [Aliexpress](https://aliexpress.com/item/32975242274.html?sku_id=66696774380) |
| M2 Hex Nut | 8 | [Aliexpress](https://aliexpress.com/item/1005003994209489.html?sku_id=12000027676602569) |
| Silicone Feet Pads 8mmx2.5mm | 8 | [Aliexpress](https://aliexpress.com/item/32750517847.html) |

#### Printing

Grab models [here](https://github.com/ergonautkb/one-s/tree/main/cases/3d). Print with the following settings:

* Layer height: 0.2mm;
* Extrusion width: 0.4mm;
* No support structures.

**Note: Classic Case might require support structures if your printer either has no part cooling or bad part cooling.**

**Note: Please let the part cool off properly before removing it from build plate to reduce the risk of part warping**

Choose your desired case variant (Classic or Modern) and print four parts:
* Left Top;
* Right Top (model should be mirrored by X axis in slicer);
* Left Bottom;
* Right Bottom (model should be mirrored by X axis in slicer).

### 3D Printed Modern Case

| Front | Back |
| ------------------------------------------------------ | ----------------------------------------------------- |
| ![3D Printed Modern Case Front](/img/one_modern_1.jpg) | ![3D Printed Modern Case Back](/img/one_modern_2.jpg) |

| Bottom part placement | Top part placement |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| ![3D Printed Modern Case Bot](/img/one_modern_bot_print.jpg) | ![3D Printed Modern Case Top](/img/one_modern_top_print.jpg) |

### 3D Printed Classic Case

| Front | Back |
| -------------------------------------------------------- | ------------------------------------------------------- |
| ![3D Printed Classic Case Front](/img/one_classic_1.jpg) | ![3D Printed Classic Case Back](/img/one_classic_2.jpg) |

**Note: this model contains included bed adhesion-improving supports, which should be removed after print.**

| Bottom part placement | Top part placement |
| -------------------------------------------------------------- | -------------------------------------------------------------- |
| ![3D Printed Classic Case Bot](/img/one_classic_bot_print.jpg) | ![3D Printed Classic Case Top](/img/one_classic_top_print.jpg) |

**Note: After the print don't forget to remove included supports from the top parts. The image below for a reference:**

![3D Printed Classic Case Supports](/img/one_classic_top_supports.jpg)
Loading

0 comments on commit 57262f6

Please sign in to comment.