Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

TOC

Parts list

Case

I designed the 3D tent case based on this wireless Corne case by SilentGmn. It was a simple modification to add M5 bolt mounts. The stl files and f3d file to make it are all available in the case_files folder of this repo. The print itself was by the always fantastic P3D Store, who also laser cut the acrylic switch plates for me.

Assembly

For the most part, I followed the Corne build guide by @foostan, which is pretty straight forward. Since this was a wireless build, I did not install the TRRS jacks, and I also opted not to include OLEDs or LEDs (I wanted to conserve battery life as much as possible).

I socketed the nano!nano controllers on each side, following the documentation on nicekeyboards.com using these sockets and these pins. I highly recommend getting the slightly longer pins rather than using diode legs. These are much stronger and the longer length is easier to install, just clip off the excess after it's mounted.

As recommended, I put the batteries underneath the socketed nano!nanos - they fit perfectly with the sockets I used. The only tiny modification I had to make though was to cut out the middle braces holding the right and left half of the socket together to make room for the battery.

The two mods I made to this build were:

  1. Adding a toggle switch for the battery.
  2. Adding a rotary encoder on the right half.

Battery toggle switch

I wanted to implement some sort of switch so I could turn off the battery when not in use. My strategy was to mount a toggle switch in the OLED cover. I found these tiny switches on Amazon, and after clipping off the legs they just barely fit between the covers and the PCB when using 10mm stand offs.

I connected the switches following the same strategy as @petejohanson's post on discord:

  • Battery negative attached to GND TRRS pad (wire passed through a TRRS hole and soldered on the back side).
  • Battery positive attached to one switch contact.
  • Wire from other switch contact to RAW pad on back of Corne PCB (again, wired passed through a hole in the unused TRRS mount.

The toggle switch itself was easily mounted on the OLED cover by just drilling a hole in the cover, pushing the switch top through it, and securing it in place using the bolts that come with the switches.

In the "top" image below, you can see how the battery is connected to the toggle switch. In the "bottom" image, showing the bottom of the PCB, you can see the battery negative coming through a TRRS hole and soldered to the TRRS ground, and a black wire from the toggle switch coming through another TRRS hole and soldered to the RAW pad. The other three wires coming through stand off holes at the bottom are from the rotary encoder.

Top Bottom

Rotary encoder

To mount the encoder, I first soldered 3 wires to the encoder pins and used heat shrink to keep them extra secure (I later painstakingly removed these wires and replaced them with some thinner gauge wire as I found these were too thick). I bent the encoder pins a little since I would later route these wires through a couple of the stand off mount holes in the PCB. I also clipped off the two small tabs so I could get the encoder flush to the PCB.

Top Bottom

I then glued the encoder over a switch mount using JB Weld. This stuff makes an incredibly strong seal, and it also doesn't expand while setting. I let it sit over night using a carefully-balanced can of soda water, pencil holder, and mug to keep downward pressure.

Encoder gluing Weight

Once set, I routed the wires through the stand off mounts to the left and right of the encoder, then soldered them to the controller and PCB ground on the bottom of the PCB. The positive and negative leads are soldered to the bottom two opposite pins on the controller (farthest from the USB).

Top Bottom

Firmware

I'm using the fantastic ZMK Firmware on this board. I still cannot believe such powerful software is available for free...I.love.open.source.code.

My ZMK configuration files are based off of @schwarzer-geiger's settings here. I essentially copy-pasted them, then made a few modifications:

  • I removed any code pertaining to LEDs (I didn't install these).
  • I swapped some code so that the right side is the central half and the left is the peripheral half. I did this because my rotary encoder is on the right half, and currently ZMK only supports encoders on the central half (for keyboards that don't already have built-in support for encoders, that is).
  • I edited the west.yml file such that ZMK builds using PR#685, which is the beta PR for macros (still playing with this).