9 Commits

Author SHA1 Message Date
Daniel Bauer
7e01724621 doc: add link to zmk module repository 2025-05-25 16:57:52 +02:00
Daniel Bauer
40292f68e5 Merge pull request #7 from unional/patch-1
Update README.md
2025-02-24 13:14:06 +01:00
Homa Wong
7bb53ef9a7 Update README.md
typo?
2025-02-24 01:03:08 -08:00
Daniel Bauer
9c57d469cd Update README.md with firmware link 2024-05-04 11:23:55 +02:00
daniel
e38e4e8334 zmk config update 2024-05-04 11:20:50 +02:00
daniel
44cce109ee remove old zmk references 2024-05-04 10:16:22 +02:00
Daniel Bauer
ac3e0995d1 pcb ordering 2024-03-30 09:23:23 +01:00
Daniel Bauer
4244530c9d Update README.md 2024-03-29 19:45:53 +01:00
daniel
8b9fdee90d build guide 2024-03-29 19:17:46 +01:00
24 changed files with 113 additions and 13 deletions

8
.gitmodules vendored
View File

@@ -1,7 +1,3 @@
[submodule "zmk-config"]
path = corax56/zmk-config
url = git@github.com:dnlbauer/corax56-zmk-config.git
branch = main
[submodule "corax54/zmk-config"]
path = corax54/zmk-config
url = git@github.com:dnlbauer/corax-54-zmk-config.git
path = zmk-config
url = git@github.com:dnlbauer/corax-zmk-config.git

View File

@@ -1,7 +1,7 @@
# Corax: A column-staggered fully-wireless split keyboard with scrollwheels.
- Choc-spaced, hot-swappable
- Two versions: with 45 or 54 keys
- Two versions: with 56 or 54 keys
- Scrollwheel (EVQWGD001) on both sides
- Strong pinky stagger (0.66) and a 5 deg. pinky splay
- Fully wireless built for Nice!Nano + ZMK (no TRRS Jack)
@@ -25,18 +25,20 @@ Over the time, I realized that I am not using this button very often. The Corax5
## Firmware
Natively supports [ZMK](https://zmk.dev/).
Natively supports [ZMK](https://zmk.dev/).
A ZMK module that supports both the Corax56 and Corax54 can be found [here](https://github.com/dnlbauer/zmk-keyboards-corax).
My personal firmware build is available at [https://github.com/dnlbauer/corax-zmk-config](https://github.com/dnlbauer/corax-zmk-config).
## Build guide
TODO
[see here](./docs/BuildGuide.md)
## Standing on the shoulders of giants
- A great tutorial I referenced a lot by FlatFootFox: https://flatfootfox.com/ergogen-introduction/
- Lots of inspiration and ideas for this project came from these boards: [Choccy](https://github.com/sprengboard/choccy), [Sofle](https://github.com/josefadamcik/SofleKeyboard), [brain](https://github.com/Wesztman/brain), [spleeb](https://github.com/chrishoage/spleeb)
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

103
docs/BuildGuide.md Normal file
View File

@@ -0,0 +1,103 @@
# Build Guide
![Messy desk](./images/PXL_20240226_171253460.jpg)
This guide describes the process of building the Corax54. For the Corax56, the build process is very similar and this guide should be easy to adopt to it.
Disclaimer:
This guide is written from the perspective of someone who already build some keyboards. It is probably not very beginner-friendly. There are many tricks and techniques for soldering and assembling keyboards that are not covered in detail. If this is your first build, I strongly recommend reading one or two more comprehensive guides on other keyboards that offer more detailed instructions first. Doing so will help you to avoid common pitfalls. A great guide I can suggest is the one for the sofle:
https://josefadamcik.github.io/SofleKeyboard/build_guide_choc.html
## Ordering PCBs
To order the PCBs, grab the relevant zip file with the gerber files from the [releases page](https://github.com/dnlbauer/corax-keyboard/releases) (named corax*-gerbers.zip) and send them to the PCB etching service of your choice. I personally can recommend [JLCPCP](https://jlcpcb.com/). I recommend these settings:
|||
|-------------------------|---------------------|
| Layers | 2 |
| PCB Thickness | 1.6 mm |
| Surface Finish | LeadFree HASL |
| Via Covering | Tented |
| Board Outline Tolerance | +/- 0.2 mm(Regular) |
## Buiding the Keyboard
You need two pcbs: for the right and left hand side. Make sure to not mix them up during the build process. If this guide says "front side" and you are building the left hand side of the keybaord, you are meant to work on the side that says "Left Hand Front" on it. In this caes, the side saying "Right Hand Front" is considered to be the back side.
A good strategy is to mark the intended front side of each side with a post-it or a piece of tape. Before each step, make sure you are working on the correct side to not mess things up!
![PCBs](./images/PXL_20240226_144911510.jpg)
### Jumper
There are 12 Jumpers on each side of the board. They make the MCU pin holes reuseable for the left and right version. You need to solder the pins **ONLY on the back of the pcb**. I.e if you are working on the left side of the keyboard, the front side is labeled "Left Hand Front" and you are required to only solder the jumpers on the side that is labeled "Right Hand Front". This is crucial! If you solder the pins on the wrong side, the keyboard will not work (and you might even short the MCU and break it!).
![Jumper unsoldered](./images/PXL_20240226_144931811.MP.jpg)
Solder all jumpers circled in red. There are a total of 12 jumpers at 3 positions for the MCU, display and the scrollwheel.
![Jumper](./images/PXL_20240226_145555777.jpg)
### MCU sockets
Solder in the MCU sockets. I usually tape them into position, then flip the board and solder them while the tape holds them in place.
![MCU Sockets front](./images/PXL_20240226_145902740.MP.jpg)
Here you can see the back side with the sockets soldered in place and the soldered jumpers:
![MCU Sockets back](./images/PXL_20240226_150125668.jpg)
### On/Off switch and reset button
The On/Off switch belongs to the back side of the board to leave enough room for the battery between the MCU and board. It has 7 legs, but only the 3 marked legs are required for the board to work. If you want, you can also solder the other pins of the switch; it doesn't matter.
![On off switch](./images/PXL_20240226_155626248.jpg)
The 2-pin reset button can now be soldered too. Put it in from the front side and solder on the back. The orientation does not matter.
![Reset front](./images/PXL_20240226_163943580.MP.jpg)
![Reset back](./images/PXL_20240226_163937193.MP.jpg)
### Scroll wheel
Before soldering, you need to cut away at least the one foot on the left of the scrollwheel in the picture below. It is not needed and there is no hole for it on the board.
I also cut away the overhangs on the long right edge to make it easy to place the scrollwheel on the board. The soldered pins should be sturdy enough to hold the scrollwheel in place without the overhanging bits. There is a risk of breaking one of the pins otherwise because it is a very tight fit.
![scrollwheel](./images/PXL_20240226_162957908.MP.jpg)
### Hotswap socket and diodes
There are a total of 54 hotswap sockets and 55 diodes (one for each key + scrollwheel) per side. Both belong to the **back side** of the board. For the diodes, the orientation is important! Each diode has a marking (an arrow or a white line) that must be oriented towards the pointy arrow that is shown on the board. If you are unsure, google how to place diodes first and get used to the terminology first!
Image of the back and front side with all components in place:
![Components Back](./images/PXL_20240226_183841018.jpg)
![Components Front](./images/PXL_20240226_183835878.jpg)
### Battery
Now it is time to add the LiPo battery. It is intended to be placed on the front side below the MCU, but in theory, it is also possible to add it to the back side. Just make sure the polarity matches the markings on the front side of the board. Usually, black means (-) and red means (+).
![Battery Soldered](./images/PXL_20240226_190254234.jpg)
![Battery Positioned](./images/PXL_20240226_190247598.MP.jpg)
### MCU
Add the MCU and solder the pins to it. The MCU belongs to the front side facing down. If you bought the correct sockets, there should be enough room to hide the battery under it. If there is not enough room, solder the pins in such a way that there is enough room below.
![MCU Top](./images/PXL_20240226_190345223.jpg)
![MCU Side](./images/PXL_20240226_190338612.MP.jpg)
### Add switches and keycaps
![Switches](./images/PXL_20240226_190935502.jpg)
![Keycaps](./images/PXL_20240226_192536866.MP.jpg)
## Display (Nice!View)
TODO
## 3d printed Case
TODO

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

1
zmk-config Submodule

Submodule zmk-config added at 65237036af