The Redox Wireless is the wireless version of the Redox keyboard.
Qty | Item | Notes |
---|---|---|
70 | Cherry MX compatible switches | |
2 | Redox Wireless PCBs | |
2 | YJ-14015 modules (Core51822B clones) | aliexpress |
70 | 1N4148 diodes | SMD diodes can also be used |
2 | Keystone 3034 SMT battery holders | digikey |
2 | JS102011SAQN SMT slide switch | digikey |
2 | Right angle 0.1" header (1x4pin) |
Qty | Item | Notes |
---|---|---|
1 | Redox receiver PCB | |
1 | YJ-14015 module (Core51822B clone) | aliexpress |
1 | Arduino Pro Micro compatible microcontroller | |
1 | 1117 3.3v regulator in SOT223 | digikey |
2 | 330 Ohm 0805(2012 metric) SMD resistors | Default configuration. Values depends on LED color, see below |
2 | 220 Ohm 0805(2012 metric) SMD resistors | Default configuration. Values depends on LED color, see below |
3 | 1.5k Ohm 0805(2012 metric) SMD resistors | Default configuration. See below |
1 | Red 0805(2012 metric) SMD standard LED | Default configuration. |
1 | Blue 0805(2012 metric) SMD standard LED | Default configuration. |
1 | Green 0805(2012 metric) SMD standard LED | Default configuration. |
1 | White 0805(2012 metric) SMD standard LED | Default configuration. |
1 | Through hole momentary switch | Dimensions 6mm x 6mm x 4.3mm |
1 | Right angle 0.1" header (1x4pin) | |
2 | Straight 0.1" header (1x6pin) |
ℹ️ You can also use the Mitosis receiver since it's almost identical, or you can build a receiver on your own.
⚠️ To program the YJ-14015 MCUs you need an ST-Link v2 programmer, these can be found on eBay or Aliexpress for as little as 2$ shipped. See picture below.
If you want to customize your LEDs color or save a few bucks by ordering the LED all the same color you can refer to this section for choosing the correct resistor values. Otherwise you can refer to the default configuration.
There are two sets of resistor that you need for the receiver.
- The voltage divider resistors (
R1
,R2
andR3
): anything between 1.5k Ohm and 4.7k Ohm is good. - The LEDs resistors (
R4
,R6
,R7
andR8
): see the following table.
LED color | Vf | Suggested resistor value |
---|---|---|
Red | 1.7V | 330 Ohm |
Yellow | 2.1V | 330 Ohm |
Blue | 3.2V | 220 Ohm |
Green | 2.2V | 330 Ohm |
White | 3.6V | 220 Ohm |
Depending on the color you choose to use you should use the resistor listed above.
Here you can find the default configuration for the receiver assembly.
Label | Component |
---|---|
D1 | Red LED |
D2 | Blue LED |
D3 | Green LED |
D4 | White LED |
R4 | 330 Ohm resistor |
R6 | 220 Ohm resistor |
R7 | 330 Ohm resistor |
R8 | 220 Ohm resistor |
R1 | 1.5k Ohm resistor |
R2 | 1.5k Ohm resistor |
R3 | 1.5k Ohm resistor |
Assembly steps:
- Solder components to PCBs (you can proceed in no particular order):
- Solder the YJ-14015.
- Solder 1N4148 diodes.
- Solder slider switches.
- Solder the battery holders. Note: Some solder is needed on the ground pad to contact properly with the battery. See picture below.
- Solder the programming headers.
- Fit the PCBs inside their cases.
- Add the switches to the plate.
- Solder switches to the PCB.
- Add the CR2032 batteries.
- Program the MCUs.
- Close the case.
The receiver assembly is pretty straightforward, you can install the components in any order you like with the exception of the YJ-14015: it should be installed after the right angled header (PROGR_HEADER1). Suggested assembly order:
- Solder D1, D2, D3 and D4 LEDs. See image for orientation.
- Solder R4, R6, R7 and R8 resistors.
- Solder R1, R2 and R3 resistors.
- Solder the AMS1117.
- Solder the Arduino Pro Micro headers.
- Solder the programming headers. I suggest you to cut the excess of the header before soldering the headers. You should stay as flush to the PCB surface as possible since the controller will be soldered above the headers. Use some masking tape to help you keep the header in place while soldering.
- Solder the YJ-14015. I suggest you to glue it in place or use some masking tape to help you during soldering.
- Upload the firmware and you're done.
ℹ️ Please note that here I installed 220 Ohm resistors because I used only blue and white LEDs as I only had those laying around. You should use the resistor values suggested here or follow the default configuration.
You'll need to upload the firmware to the corresponding MCUs as per the following diagram:
Note that you'll need to upload the firmware for the YJ-14015 only once. Everything related to the keymap is handled by the Arduino Pro Micro and QMK Firmware, that's what you will need to modify to update the keymap.
Follow the instruction in the Redox Wireless Keyboard firmware repository. You'll need only to flash the pre-built .hex
files to the corresponding MCUs, for this you'll need an STLinkV2 debugger.
The Redox uses QMK for its firmware, follow the QMK installation instructions here, then compile and burn the firmware as follows:
$ cd path/to/qmk_firmware
$ make redox_w:default:avrdude
You can find the code for the Redox here: QMK - Redox Wireless keyboard.
In the Redox Wireless Keyboard firmware repository I added some pre-built hex files with the default keymap for testing purpose.
I got the current consumption for the transmitters using a shunt resistor (10 Ohm) and an oscilloscope during transmission.
Data:
- Current peak of 5mA (Irun) and 50us duration (trun)
- Idle consumption of 2.7uA (Iidle) between peaks, that is 950us duration (tidle).
We can then calculate the average current consumption during typing (Iavg) using the following:
Knowing that the CR2032 battery is rated for 220mAh we get:
TLDR: We can expect at least 880 hours of continuous typing on the keyboard before needing to change the batteries. Keep in mind that when you're not typing (500ms without key presses is the time interval needed for the keyboard) the transmitters go into deep sleep mode and draw only 2.7uA. So for an everyday use (4 hours a day of continuous typing) you can expect a battery life of at least a year. Obviously your mileage may vary.