SO2R MiniPlus - A simple and low cost SO2R controller



Status: 2025-08-24 - Work in progress!

Introduction

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.

Circuit, PCB and BOM

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
IDReferenceNameSourceCostQtyCost Tot.
#1A1Arduino Nano V4e.g. Joy-IT9.00 €19.00 €
#2C1, C2, C3, C4, C5, C6, C7, C8100nF 0603 SMTmany0.10 €80.80 €
#3D1, D2, D31N4148 SOD-123many0.10 €30.30 €
#4D4, D5R/G LED Wuerth 150141M173100many0.40 €20.80 €
#5D6, D7LED 0402 (optional)many0.20 €20.40 €
#6J1, J2, J3, J4, J5, J6, J8, J9, J12, J13Jack 3.5mm Kycon STX-3000Digikey0.60 €106.00 €
#7J7, J10, J11, J14, J152.54mm pin headersmany0.20 €51.00 €
#8K1, K2, K3Relay Omron G6K-2F-Ymany1.20 €33.60 €
#9Q1, Q2, Q3, Q4BSS138 FETmany0.10 €40.40 €
#10R1, R2, R3, R4Resistor 0603 5K6many0.10 €40.40 €
#11R5, R6, R7, R8, R11, R12Resistor 0603 10Rmany0.10 €60.60 €
#12R9, R10Resistor 0402 5K6 (optional)many0.10 €20.20 €
#13RV1Potentiometer 10k RK09KDigikey1.30 €11.30 €
#14TR1, TR2, TR3, TR4Transformer Bourns SM-LP-5001Digikey2.25 €49.00 €
#15HousingE20-35-03_100x100x40KN Electronic7.95 €17.95 €
#16Screws + NutsM3 x 10mmmany0.10 €30.30 €
#17SpacersM3 x 2mmReichelt0.20 €30.60 €
#18J02.54mm female header 1x16 (Arduino)many0.50 €21.00 €
Sum~44 €

Construction notes

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.

Programming

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.

  1. Install the Arduino IDE
  2. Download and unzip the preconfigured Arduino Sketch by NN1C
  3. Launch the Arduino IDE and open k3ng_keyer\k3ng_keyer.ino
  4. In the file keyer_features_and_options_yccc_so2r_mini.h uncomment the line #define FEATURE_POTENTIOMETER
  5. In the file keyer_pin_settings_yccc_so2r_mini.h change the port pin for the potentiometer from A7 to A0: #define potentiometer A0
  6. Arduino IDE settings:
  7. Connect the Arduino to your system, select the device in the Arduino IDE
  8. Press Ctrl-U (compiles and uploads)

Once 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.

Pictures

Hover over the pictures to enlarge.

The assembled SO2R Mini Box


Last modified: Tuesday, 18-Nov-2025 22:02:10 CET