➡️ If you have purchased a ready-made KXUSBC2 kit, this part will already have been completed for you, and you can skip to Part 2.
- KXUSBC2 PCB, assembled on both sides
- Replacement left side aluminum panel with USB-C opening
- 2 pcs. mating pins (Mill-Max 3132-0-00-15-00-00-08-0)

- 2 pcs. standoff M2.5 3 mm height (Würth Electronics 9774030151R, DigiKey 732-7083-1-ND)

- White/red silicone wires (22 AWG), ~50 mm ea.
- Kapton tape
Optional:
- Place a standoff in a hole on the component side
- Heat with hot air at 200 °C for 30 seconds
- Hold soldering iron to the side of the standoff and pad, and apply solder evenly around the standoff
- Let cool and verify the standoff is centered
- Inspect the bottom side; ideally some solder has migrated through the hole for mechanical strength
- Cut ~50 mm pieces of white and red silicone wire
- Strip 3 mm insulation on one end of each wire
- Solder gold mating pins to both wires
- Trim to total length from pin tip:
- E (white): 31 mm
- B (red): 43 mm
- Strip 3 mm from open ends and solder to KXUSBC2 PCB
- Trim excess wire close to board to prevent shorting with the side panel
Apply insulating tape (Kapton preferred) to the top edge of the PCB to prevent shorts due to the small clearance to the back cover.
This helps to diffuse the light from the LED, making it more even and reducing glare. It also helps to protect the LED from damage and the cables from strain.
Please be very careful when fitting the part to avoid damaging the LED.
It is recommended to place a small dab of superglue on the PCB to secure the LED diffuser in place.
- Remove black coating from the back side to expose bare metal (where it contacts the KX2 chassis)
- Remove coating around screw holes near USB-C and DC jack for grounding via standoffs (important!)
- Use a Dremel or similar power tool for efficiency (the panel in the photo below was stripped using a laser)
- Elecraft KX2 transceiver
- 3S (12.6 V) Li-Ion battery (or 4S LiFePO₄ with firmware configuration)
- KXUSBC2 board
- Replacement left side aluminum panel with USB-C opening
- Thermal pad (10 x 6 mm, 4 mm height)
- Heat shrink tube (2.5 x 15 mm)
Optional (if not pre-installed in KX2):
- 2 pcs. receptacle pins (Mill-Max 8827-0-15-15-16-27-04-0)

➡️ Skip this section if your KX2 already has receptacles on the B and E pads (newer KX2, or if you've installed a KXIBC2 before).
Solder receptacles to KX2 RF PCB:
- Solder long, slim gold pin receptacles (Mill-Max 8827-0-15-15-16-27-04-0) to the E and B pads
- If pads are filled with solder, pre-heat with hot air and use solder wick
- The RF PCB can be removed for easier soldering on the bottom, or soldered in place
A simpler method (which makes removal more difficult, however) is not to install receptacles, but solder the pins from the KXUSBC2 directly to the B pad and the DC jack's center pin.
See the KXIBC2 installation guide for a detailed explanation of both methods.
-
Remove the KX2 back cover
-
Unplug and remove the battery
-
Unscrew the 4 screws from the left side panel (note: longer screws with finer thread will hold the KXUSBC2)
-
Connect power wires:
-
Plug the KXUSBC2 board into the KXIBC2/KXIO2 slot and ensure it's properly seated
-
Remove protective film (if present) from both sides of the thermal pad, then place it over U1, shifted slightly to the right so as not to collide with the back cover
-
Install the replacement side panel using correct screws for each hole
-
Reinstall the battery (important – the KXUSBC2 will not work without a battery connected)
-
Enable KXIBC2 in KX2 menu:
- Turn on KX2 and go to settings
- Set KXIBC2 option to "NOR" (enables RTC and battery voltage display)
- Update KX2 firmware if option is not present
A 10k NTC thermistor can optionally be connected between the marked pads (T and GND) on the backside of the board and attached to the battery pack with tape etc. The thermistor handling then needs to be enabled via the config button menu or the web-based programmer (see below). It will reduce or inhibit charging/discharging if the battery temperature is too high or too low.
The KXUSBC2 adds a bidirectional USB-C port to your KX2, allowing you to:
- Charge the KX2's internal battery from any USB-C power source
- Charge external devices (phones, tablets, etc.) from the KX2's battery (OTG mode)
You can also charge from a 9-15 V supply connected to the KX2's external DC jack.
- Use any USB-C charger, power bank, or computer USB port
- Supports USB PD 3.0, QC, and BC1.2 protocols
- You can also connect a DC power supply (9-15 V) to the KX2's DC jack
- Maximum charging power: 30 W
- The board automatically negotiates the best available voltage/current profile
- Delay of 3 seconds for non-PD-capable sources before charging begins
- Default charging current: 2 A (configurable, max. 3 A)
- Charging voltage: 12.6 V for 3S Li-Ion (configurable for other battery types)
- The charger uses either USB-C or the DC jack input, whichever is connected first
- By default, charging is inhibited when the KX2 is powered on (to avoid any chance of QRM)
- This can be changed in firmware configuration if desired
- Connect a USB-C sink (phone, tablet, GPS, etc.) to the port
- The board will automatically detect and switch to source mode
- Maximum output: 30 W (5-15 V)
- Default current limit: 3 A (configurable)
- Minimum battery voltage: 9.0 V (configurable, prevents over-discharge)
- If battery voltage drops below the limit, discharging stops
- LED will blink red (2 Hz)
- Recharge the battery before OTG mode will work again
The RGB LED provides visual feedback on the board's status:
| State | Color | Pattern |
|---|---|---|
| Disconnected | Off | - |
| Negotiating PD | Green/Yellow (*) | Blinking 5 Hz |
| Charging | Green/Yellow (*) | Pulsing (frequency indicates current) |
| Fully charged | Green | Steady |
| Temperature warning | Red | Steady |
| Fault (over-voltage/current) | Red | Blinking 5 Hz |
| Fault (low battery in OTG) | Red | Blinking 2 Hz |
| Fault (charger init) | Red | 3 blinks at 2 Hz, then pause |
| Fault (EEPROM) | Red | 4 blinks at 2 Hz, then pause |
| Rig on (charging inhibited) | Magenta | Steady |
| Discharging (OTG) | Blue/Cyan (*) | Pulsing (frequency indicates current) |
(*) Yellow/Cyan indicates temperature in "warm" or "cool" region (reduced current)
Pulsing frequency indicates charge/discharge current:
- < 500 mA: 8.5 s cycle
- 500-999 mA: 2.5 s cycle
- 1000-1999 mA: 1.2 s cycle
- ≥ 2000 mA: 0.8 s cycle
The KX2 can display the battery voltage in the menu (like with KXIBC2):
- Set the "KXIBC2" menu option to "NOR" in the KX2 configuration
- The battery voltage will appear as "BT" in the KX2 VFO B display
The KXUSBC2 includes an RTC that works with the KX2's clock functions:
- Automatically temperature-compensated
- Calibrate using the KX2's "RTC ADJ" menu as usual
- Maximum correction: ±127 ppm (about 11 seconds per day)
The KXUSBC2 has a small push button that can be accessed using a paper clip etc. through the side panel.
-
Short press (< 1 second): Attempt a PD role swap
- Useful for charging from devices that can also act as a power source (e.g., recent iPhones)
-
Medium press (1–3 seconds): Enter the config menu
- Only works when nothing is connected to the KXUSBC2 (LED is off)
-
Long press (> 3 seconds): System reset
- Restarts the KXUSBC2
When you enter the config menu, the LED blinks yellow at 1-second intervals. The number of blinks indicates which menu item you're currently viewing.
Menu Navigation:
- Short press: Advance to the next menu item
- Medium press: Enter the currently selected menu item (LED will blink blue to show the current setting)
- While viewing settings:
- Short press changes the setting
- Medium press exits the menu item
- While viewing settings:
- Long press: Exit the menu and restart with new settings
| Menu Item | Description | Available Values (blink counts) |
|---|---|---|
| 1 | Charging current limit | 500 mA (1), 1000 mA (2), 2000 mA (3 *), 3000 mA (4) |
| 2 | DC input current limit | 500 mA (1), 1000 mA (2), 2000 mA (3), 3000 mA (4 *) |
| 3 | Charge while rig is on | Disable (1 *), Enable (2) |
| 4 | Thermistor | Disable (1 *), Enable (2) |
* = default setting
Example: To enable charging while the rig is on:
- Press the button for 1–3 seconds (LED blinks yellow, indicating menu item 1)
- Press the button briefly two times to reach menu item 3 (LED will blink 3 times before cycling)
- Press the button for 1–3 seconds to enter menu item 3 (LED blinks blue once, indicating that the setting is currently disabled)
- Press the button briefly to toggle to "enable" (two blinks)
- Press the button for 1–3 seconds to exit the menu item
- Press the button for > 3 seconds to restart
Advanced settings can be configured via EEPROM. The web-based programmer at https://manuelkasper.github.io/kxusbc2/programmer can be used to easily change the settings without installing any software (requires a simple serial UPDI programming adapter).
- Role: SRC, SNK, DRP (default), TRY_SRC, TRY_SNK
- PD mode: Off, PD 2.0, PD 3.0 (default)
- Charging current limit: 50-5000 mA (default: 2000 mA)
- Charging voltage limit: 10000-18800 mV (default: 12600 mV for 3S Li-Ion)
- DC input current limit: 100-3300 mA (default: 3000 mA)
- OTG current limit: 120-3320 mA (default: 3000 mA)
- Discharging voltage limit: Minimum battery voltage for OTG (default: 9000 mV)
- OTG voltage headroom: 0-500 mV (default: 100 mV)
- Allow charging while rig is on: Boolean (default: false)
- Enable thermistor: Boolean (default: false)
- User RTC offset: -127 to +127 ppm (default: 0)
For 4S LiFePO₄ batteries, adjust the charging voltage limit to approximately 14.2 V (stay below the BMS cutoff to avoid over-voltage faults).
LED blinks red continuously (5 Hz)
- Over-voltage or over-current fault detected
- Check power source specifications
- Verify battery connections
LED blinks red continuously (2 Hz) during OTG
- Battery voltage too low for discharging
- Recharge the battery
Charging doesn't start
- Check that power source supports USB PD, QC, or BC1.2
- Ensure KX2 is powered off (if charging while on is disabled)
OTG mode doesn't work
- Ensure battery voltage is above the discharge limit (default 9.0 V)
- Try disconnecting and reconnecting the device
- Check that the connected device can accept USB-C power input
Battery voltage not showing in KX2 menu
- Set "KXIBC2" option to "NOR" in KX2 configuration menu
QRM concerns
- QRM is minimal (typically S1 noise floor increase)
- No QRM when USB/DC is disconnected
- Charging is automatically disabled when KX2 is on (by default)
- Can be enabled in configuration if needed
- Charger IC: BQ25792 buck-boost converter
- USB-C controller: FUSB302B
- Microcontroller: ATtiny3226
- Switching frequency: 1.5 MHz
- Standby current: ~60 µA
- Supported protocols: USB PD 3.0, QC, BC1.2
- Battery types: 3S Li-Ion (default), 4S LiFePO₄ (with configuration)
- Always use batteries with built-in protection and balancing circuits
- The KXUSBC2 is an unofficial modification and may void your KX2 warranty
- Use at your own risk
- Ensure proper grounding through the side panel mounting
- Project repository: https://github.com/manuelkasper/kxusbc2
- Hardware schematic: See
hardware/README.md - Firmware details: See
firmware/README.md - KXIBC2 manual (for reference): https://ftp.elecraft.com/KX2/Manuals%20Downloads/E740370-B5,%20KXIBC2%20manual.pdf
Disclaimer: This is an unofficial modification. Elecraft ® is a registered trademark of Elecraft, Inc. This project is not affiliated with or endorsed by Elecraft.








