Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
2 contributors

Users who have contributed to this file

@mattdibi @unjordy
429 lines (334 sloc) 22.1 KB

Redox rev.1

The Redox rev.1 is the first commercially available version of the Redox keyboard.

Hardware availability:

Summary

Bill of materials

Qty Item Notes
70 Cherry MX compatible switches
2 Redox PCBs Availalble here
70 1N4148 diodes SMD diodes can also be used
2 PJ-320A 4 poles 3.5 mm TRRS connectors
2 4.7 kOhm resistors Need to be soldered on one half only
2 Through hole momentary switch Dimensions 6mm x 6mm x 4.3mm
2 Arduino Pro Micro compatible microcontrollers Beware of the infamous Green Pro Micro, see note below.
1 TRRS cable
1 USB micro cable
70 Cherry MX compatible keycaps 10x 1.25u keycaps, 6x 1.5u keycaps, 54x 1u keycaps
14 WS2812/WS2812B leds Optional RGB-underglow

⚠️ Pay attention to the Pro Micro you use in this project. Online you can find the infamous Green Pro Micros which have the same pinout of the normal Pro Micro but use a different power circuitry. Being the Redox a split keyboard that relies on detecting which side is directly powered to find which side is the master, these clones are not suited for the task. A more detailed explaination here. Please note that they can come in different colors, not necessarily green.

Other assembly guides

External links to some other guides to building the Redox keyboard:

Video guides

Two great video guides by インケンch (Japanese only).

Redox hardware assembly Redox firmware

Assembly guide

Redox PCBs

Installation steps:

  • Solder components:
    1. Solder 1N4148 diodes. Keep the diode legs for the right hand controller installation.
    2. Solder PJ-320A connectors.
    3. Solder momentary switches.
    4. Solder 4.7k Ohm resistors on one half only. If you are going for the RGB-underglow ignore this step.
    5. Solder the Pro Micro header pins (do not solder the Pro Micro controllers yet). This step may differ depending on which case your're using. Refer to the following:
    1. Optional see RGB-underglow instructions.
  • Flip the PCBs.
  • Solder switches to the PCB.
  • Flip the PCBs again.
  • Solder Pro Micros to the header pins following the PCB labelling.
Right hand back side:

Right hand back side

Left hand back side:

Left hand back side

Diode installation detail:

Diode installation detail

3D Printed case assembly

To lower the build costs I designed a 3D printable case which you can find in this repository or on thingiverse, feel free to modify it to best suit your needs.

3D printed case

Parts:

Qty Item Notes
1 Left top plate RedoxRev1TopLeft.STL
1 Left bottom RedoxRev1BottomLeft.STL
1 Right top plate RedoxRev1TopRight.STL
1 Right bottom RedoxRev1BottomRight.STL
10 M3 x 8mm (or 5mm) screws

For the Pro Micro installation on the right hand use the diodes legs leftover from previous steps as this will make the controller's USB port much closer to the PCB, this is needed for the USB connector to fit in the 3D printed case. If you're using Falbatech's bamboo case this is not needed and you can use standard header pins. Right hand controller installation detail:

  1. Use a breadboard to keep the diode's legs from falling.
  2. Solder the diode's legs in place. You want to have the Pro Micro as close to the Redox's PCB as possible.
  3. Cut the excess.
  4. Apply some electrical tape under the controller to prevent shorts.
  5. Install your preferred switches (remember: the controller installation is the last step).
  6. Solder the controllers in place.

Right hand controller installation detail Right hand controller installation detail

Here's some measurements of the Pro Micro installation:

Right hand controller installation detail

Falbatech's bamboo case assembly

If you're using Falbatech's bamboo case the use of the diode's legs is not needed and you can use standard header pins

Falbatech's case assembly

Firmware

⚠️ If you have a Redox with RGB backlight installed you MUST use the serial connection. For details see the RGB underglow firmare instructions.

The Redox uses QMK for its firmware, follow the QMK installation instructions here, then compile and burn the firmware on both halves as follows:

$ cd path/to/qmk_firmware
$ make redox/rev1:default:avrdude

⚠️ You always need to burn the firmware on BOTH halves of the keyboard.

You can find the code for the Redox here: QMK - Redox keyboard.

In the firmware/ folder I added some pre-built hex files with the default keymap for testing purpose. You can upload the firmware binaries directly using the command below:

avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U flash:w:redox_rev1_default.hex

Setting EE_hands to use either hands as master

If you define EE_HANDS in your config.h, you will need to set the EEPROM for the left and right halves.

The EEPROM is used to store whether the half is left handed or right handed. This makes it so that the same firmware file will run on both hands instead of having to flash left and right handed versions of the firmware to each half. To flash the EEPROM file for the left half run:

$ cd path/to/qmk/folder
avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:"./quantum/split_common/eeprom-lefthand.eep"
// or the equivalent in dfu-programmer

and similarly for right half

avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:"./quantum/split_common/eeprom-righthand.eep"
// or the equivalent in dfu-programmer

⚠️ Replace $(COM_PORT) with the port of your device (e.g. /dev/ttyACM0)

After you have flashed the EEPROM, you then need to set EE_HANDS in keyboard/redox/keymaps/default/config.h like so:

// ...
/* Use I2C or Serial, not both */

// #define USE_SERIAL
#define USE_I2C

/* Select hand configuration */

// #define MASTER_LEFT
// #define MASTER_RIGHT
#define EE_HANDS

#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
// ...

Then rebuild the hex files and reflash.

Note that you need to program both halves, but you have the option of using different keymaps for each half. You could program the left half with a QWERTY layout and the right half with a Colemak layout using bootmagic's default layout option. Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the right half is connected.

Hot swappable mod

With a few modifications to the original design, it is possible to make a Redox with hot swappable switches and socketed Pro Micros. This was tested with Falbatech's PCBs and PVC cases. The switch hotswap mod should work with any case with a top plate that the switches snap into, with about a millimeter of extra clearance between the top plate and the PCB, and another extra half millimeter or so between the PCB and case bottom. If your (non-Falba) PCBs have particularly small diameter thru-holes for switch pins, check the Mill-Max 7305 spec sheet to ensure the receptacles will fit.

Extended bill of materials

Qty Item Notes
1 Peel-A-Way Sockets (82 pin strip) Available from keeb.io
140 Mill-Max 7305 Pin Receptacles Available from Digi-Key or Mouser
1 Roll of Kapton tape

Some extra Mill-Max receptacles may come in handy, in case of soldering mistakes or manufacturing defects.

Pro Micro Sockets

Pro Micro Peel-A-Way socket top detail Pro Micro Peel-A-Way socket solder detail

Socketing your microcontrollers will allow you to swap out broken Pro Micros, or swap any Pro Micro pin-compatible microcontroller (with, for example, USB-C) into a finished build. Before you begin, you'll want to follow the standard assembly guide steps for soldering 1N4148 diodes, PJ-320A connectors, momentary switches, and any resistors you'll be using. Remember to trim the legs off your diodes and keep them, as we'll be using the legs to make pins for each Pro Micro.

Installation steps, after initial soldering:

  1. Using scissors or flush cutters, cut out two 12-pin strips of Peel-A-Way sockets.
  2. With the bottom side of the PCB (the side with the diodes, momentary switch, and TRRS connector visible) facing up, place the cut Peel-A-Way socket strips into the thru-holes where the Pro Micro headers would usually go.
  3. Temporarily fasten the Peel-A-Way sockets to the PCB with Kapton tape.
  4. Flip over the PCB.
  5. Solder the sockets into the thru-holes.
  6. Install your switches. This step differs depending on whether you plan on making your switches hotswappable:
  7. Flip and orient your Pro Micro so that its labels match the labels on your PCB, then cover the bottom of the Pro Micro in electrical or Kapton tape to prevent shorts.
  8. Thread the least bent of your trimmed diode legs through the thru-holes in your Pro Micro and into the corresponding sockets on the PCB.
  9. Keeping the Pro Micro as level as possible, solder the diode legs to the Pro Micro. It may help to keep a USB cable attached to the Pro Micro, to help ensure the port ends up in a usable orientation.
  10. Trim the excess length of the diode legs off of the top of the Pro Micro.
  11. Repeat these steps for the other half of your Redox.

Hot Swappable Switches

⚠️ A few things to keep in mind:

  • Some switch pins (so far, Kailh Box Royals) may be slighly too wide to fit the Mill-Max receptacle. When in doubt, try it with spare receptacles.
  • The only thing keeping the PCB attached to the top plate is the switches; if you remove too many (more than half per side), the PCB will detach and fall into the case. Try to swap only a few switches at once.

Finished Redox with hotswap switches

To build a Redox with hot swappable switches, follow these steps instead of the switch installation instructions in the standard build guide. Soldering Mill-Max receptacles is trickier than soldering bare switch pins; a small iron tip, small diameter solder, and relatively low temperatures are recommended.

  1. Take each of your switches and push a Mill-Max receptacle fully onto each pin. One end of the receptacle has a small ring around it that makes it wider than the other end; the receptacle should be oriented so that the wide end is touching the switch housing (and will end up on the top, plate-facing side of the PCB in the assembled keyboard).
  2. Snap switches into each of the four corners of your top plate, and two more into the mounting holes that will be directly above the Pro Micro in the assembled keyboard.
  3. Flip over the top plate and install the PCB.
    • The receptacles might be a tight fit for the PCB thru-holes; if so, press the PCB into the switches to make sure the PCB is fully mounted and level.
  4. Install the rest of the switches, starting from the outside edges of the plate and moving inward.
    • Initially, installing switches will likely shift the surrounding unsoldered switches and the PCB out of position, so pinch any jostled switches and the PCB back together as you go.
    • Be careful not to apply too much pressure to the stem of the switch, as this could damage it.
  5. Solder your switches, starting from the corners then going from the outside edges to the inner switches in roughly the same order as the previous step.
    • Before soldering each switch, apply pressure to the top of the switch and the bottom of the PCB a final time to ensure the switch, plate, and PCB are all properly seated.
    • Apply heat to the pin receptacle and pad, then melt your solder onto the pad. You will want a "volcano" shaped solder joint which fully encircles the bottom of the receptacle, but doesn't fill its inner surface.
    • If you need to test that you haven't accidentally soldered a pin permanently into its receptacle by allowing solder to spill into the inner surface of the receptacle, you can try and temporarily remove the switch as you would during a hot swap. Use a switch puller to depress the tabs on the top and bottom of the switch (or the left and right for the flipped 1.5u key switches), and gently pull up on the switch until it is free of the keyboard. Note that if the switch and receptacles are still hot, it might take some extra effort to pull out the switch. Next, snap the switch back into its socket, and fix any unsoldered switches that were knocked out of place during this process.
  6. Repeat these steps for the other side of the keyboard.
Installing Mill-Max receptacles onto switch pins:

Mill-Max receptacle installation

Pins, receptacles, and PCB in proper alignment:

Proper alignment of receptacles, pins, and PCB

Soldered hot swap receptacles:

Soldered hot swap receptacles

RGB Underglow

⚠️ With this configuration:

  • You don't need to solder the 4.7k resistors since the I2C connection won't be used.
  • You can use only one hand as master.

Parts:

  • WS2812/WS2812B LED strip
  • 24 AWG (or smaller) stranded wire (white, red, black are good choices)

Data connection:

Led strip Headers -> DIN -> DO -> TRRS pad -> (TRRS to other side) -> TRRS pad -> DIN

Assembly: LEFT hand as master (usually plugged in to the PC)

  • On the LEFT hand:
    1. Solder the LED Strip headers as seen in the pictures below.
    2. Solder the DO Pin of the RGB strip to the TRRS pad as seen in the figures below.
  • On the RIGHT hand:
    1. Solder VCC and GND of the RGB strip to the LED Strip headers.
    2. Solder the DIN Pin of the RGB strip to the TRRS pad as seen in the figures below.
  • Flash the firmware with the serial and RGB Backlight options on, specifying the number of LEDs installed (see instruction here).
Left hand back side:

RGB underglow left hand backside

Right hand back side:

RGB underglow left hand backside

Assembly: RIGHT hand as master

  • On the RIGHT hand:
    1. Solder the LED Strip headers to the RGB strip.
    2. Solder the DO Pin of the RGB strip to the TRRS pad.
  • On the LEFT hand:
    1. Solder VCC and GND of the RGB strip to the LED Strip headers.
    2. Solder the DIN Pin of the RGB strip to the TRRS pad.

RGB Underglow firmware

To enable RGB backlighting you need to modify the default firmware as follows:

  • Use serial communication instead of I2C.
  • Set the master hand.
  • Set the number of LED you installed.

To do this, modify qmk_firmware/keyboards/redox/keymaps/default/config.h as follows:

// ...

/* You need to use the sarial communication since we 
used a cable to carry the data signal for the LED strip */
#define USE_SERIAL

/* Select hand configuration: you need to use as master 
the hand that drives the LED strip */
#define MASTER_LEFT
// #define MASTER_RIGHT

/* Put the total number of led used here */
#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 14
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8

// ...

Then compile and burn the firmware on both controllers:

$ cd path/to/qmk_firmware
$ make redox/rev1:default:avrdude

Layout

Redox rev1.0 layout

KLE Layout permalink

You can’t perform that action at this time.