Status: 2025-08-24 - Work in progress!
This page describes my clone of the SO2R controller SO2R Mini developed by Marty, NN1C. It used to be available as a kit for an attractive $50 + S/H but does not appear to be sold any more.
I called my clone SO2R MiniPlus because it has some minor improvements over the original. The differences to Marty's design are described below:
As a consequence of using low cost connectors instead of the "stacked" 3.5mm TRS of the original, and my desire to put everything into a small 10cm x 10cm housing, I had to use stereo TRS connectors sharing the CW and PTT outputs. When the device is used for CW only, it is possible to repurpose the microphone outputs as PTT, too.
The circuit diagram of the SO2R MiniPlus is available in PDF format. It closely follows the original, with the added LEDs and potentiometer, and some additional test points and jumpers.
A simple two sided PCB was designed to fit into a small 10cm x 10cm aluminium housing by "KN-Electronic" (DL2AZK).
The full KiCad project can be found at https://git.fkurz.net/dj1yfk/so2rminiplus/.
| SO2R MiniPlus BOM | ||||||
|---|---|---|---|---|---|---|
| ID | Reference | Name | Source | Cost | Qty | Cost Tot. |
| #1 | A1 | Arduino Nano V4 | e.g. Joy-IT | 9.00 € | 1 | 9.00 € |
| #2 | C1, C2, C3, C4, C5, C6, C7, C8 | 100nF 0603 SMT | many | 0.10 € | 8 | 0.80 € |
| #3 | D1, D2, D3 | 1N4148 SOD-123 | many | 0.10 € | 3 | 0.30 € |
| #4 | D4, D5 | R/G LED Wuerth 150141M173100 | many | 0.40 € | 2 | 0.80 € |
| #5 | D6, D7 | LED 0402 (optional) | many | 0.20 € | 2 | 0.40 € |
| #6 | J1, J2, J3, J4, J5, J6, J8, J9, J12, J13 | Jack 3.5mm Kycon STX-3000 | Digikey | 0.60 € | 10 | 6.00 € |
| #7 | J7, J10, J11, J14, J15 | 2.54mm pin headers | many | 0.20 € | 5 | 1.00 € |
| #8 | K1, K2, K3 | Relay Omron G6K-2F-Y | many | 1.20 € | 3 | 3.60 € |
| #9 | Q1, Q2, Q3, Q4 | BSS138 FET | many | 0.10 € | 4 | 0.40 € |
| #10 | R1, R2, R3, R4 | Resistor 0603 5K6 | many | 0.10 € | 4 | 0.40 € |
| #11 | R5, R6, R7, R8, R11, R12 | Resistor 0603 10R | many | 0.10 € | 6 | 0.60 € |
| #12 | R9, R10 | Resistor 0402 5K6 (optional) | many | 0.10 € | 2 | 0.20 € |
| #13 | RV1 | Potentiometer 10k RK09K | Digikey | 1.30 € | 1 | 1.30 € |
| #14 | TR1, TR2, TR3, TR4 | Transformer Bourns SM-LP-5001 | Digikey | 2.25 € | 4 | 9.00 € |
| #15 | Housing | E20-35-03_100x100x40 | KN Electronic | 7.95 € | 1 | 7.95 € |
| #16 | Screws + Nuts | M3 x 10mm | many | 0.10 € | 3 | 0.30 € |
| #17 | Spacers | M3 x 2mm | Reichelt | 0.20 € | 3 | 0.60 € |
| #18 | J0 | 2.54mm female header 1x16 (Arduino) | many | 0.50 € | 2 | 1.00 € |
| Sum | ~44 € | |||||
Populating the PCB is straight forward - refer to the assembly diagram and/or the images below for the correct placement and orientation of the parts.
Start with the capacitors and resistors, then place the diodes and transistors, the LEDs, followed by the relays and transformers. Then mount the through-hole components (jacks, potentiometer and female headers for the Arduino).
The following components are not populated by default: J7 (audio ground), J10 (extension header), J11 (serial port), J14/J15 (route PTT to mic out), D6/D7+R9/R10 (LEDs for CW debugging).
The front of the housing requires seven holes: One for the potentiometer (7mm), two for the LEDs (3mm) and four for the 3.5mm jack connectors (7mm). This drilling template may be helpful and it is highly recommended to use a drill press. The rear plate of the housing can be left away/open.
The PCB is mounted to the housing with three M3 screws and spacers to elevate it about 2mm from the mounting rails of the case. Add e.g. an adhesive bump on the bottom side of the main PCB under the Arduino to ensure it does not touch the housing.
I used Arduino Nano V4 compatible clones from Joy-IT for this project. The following steps will give you a fully working device with enabled Speed potentiometer.
k3ng_keyer\k3ng_keyer.inokeyer_features_and_options_yccc_so2r_mini.h
uncomment the line #define FEATURE_POTENTIOMETERkeyer_pin_settings_yccc_so2r_mini.h change the
port pin for the potentiometer from A7 to A0: #define
potentiometer A0Once that's done, configure DXlog to use the SO2R Mini and enable the speed potentiometer in the Winkey configuration.
The status line of DXlog should now say "SO2R compatible device detected: SO2R Mini 2019.12.17.01" and the device is ready to use.
All steps above can be performed with the pure Arduino Nano, without it being installed in the device.
Hover over the pictures to enlarge.