CC1310‑Based Sub‑1GHz USB Dongle Design & Debugging – From Matching Network to Field Deployment

Coral RF
2026-03-27

Design and Debugging of a CC1310‑Based Sub‑1GHz USB Dongle for Industrial IoT Commissioning

A Hardware Development Notebook for Field Engineers


1. Project Background

In industrial IoT (IIoT) projects, field technicians often need a reliable handheld debugging tool to configure remote sensor nodes, smart meters, or industrial controllers, read data, and diagnose faults. Such tools typically take the form of a USB dongle that plugs into a laptop or tablet, communicating with target devices through dedicated software.

This article documents the design process of a multi‑band (433/868/915 MHz) Sub‑1GHz USB dongle based on the TI CC1310. It covers hardware design, matching network tuning, firmware development, test verification, and field application experiences, with the hope of providing a useful reference for engineers working on similar projects.

Keywords: CC1310, Sub‑1GHz, USB Dongle, matching network, commissioning tool


2. Hardware Design

2.1 Chip Selection

The CC1310 was chosen as the core RF SoC for the following reasons:

  • High integration: Cortex‑M3 core + RF transceiver simplifies the BOM and layout

  • Low power consumption: 5.4 mA RX, 13.4 mA TX @ +10 dBm – ideal for battery‑powered nodes; for a USB‑powered dongle, low power translates to less heat and better stability

  • Software ecosystem: TI provides a complete SDK, SmartRF Studio configuration tool, and extensive application notes

  • Multi‑band support: With matching network adjustments, the design can cover 433/868/915 MHz, making it easy to address different regional markets

2.2 Schematic Design

RF Section (based on TI application note AN122):

  • The RF_P and RF_N pins of the CC1310 are routed to a balun that converts the differential signal to a single‑ended 50 Ω line

  • A π‑network (C1, L1, C2) is reserved at the output for impedance tuning

  • An SMA connector is used to allow external high‑gain antennas or test cables

Power Supply:

  • 5 V from USB is stepped down to 3.3 V by an LDO (TI TPS7A20) to power the CC1310

  • A 10 μF + 0.1 μF filter capacitor is placed at the LDO output to reduce ripple and its impact on receiver sensitivity

USB Interface:

  • Since the CC1310 does not have a built‑in USB controller, a USB‑to‑UART bridge (CP2102N) is added

  • The TX/RX pins of the CP2102N connect to UART0 of the CC1310; the DTR signal is used to control reset during firmware updates

Debug Interface:

  • A 10‑pin Tag‑Connect footprint is reserved for code download and debugging

The complete schematic is open‑sourced in the GitHub repository.

2.3 PCB Layout Guidelines

RF performance is highly dependent on PCB layout. The following points were validated through repeated testing:

  1. Ground Plane Integrity
    A continuous, uninterrupted ground plane must exist under the CC1310 and the RF front‑end. No signal traces should run through this area. Dense vias between the top and bottom layers ensure a low‑impedance return path.

  2. RF Traces

    • The differential traces from the CC1310 to the balun should be equal in length, parallel, and have a controlled impedance of 100 Ω

    • The single‑ended trace from the balun to the SMA connector must be 50 Ω (trace width determined by stack‑up and reference layer distance)

    • Traces should be kept as short as possible; avoid sharp corners – use arcs or 135° bends

  3. π‑Network Placement
    The π‑network (C1, L1, C2) should be placed immediately after the balun output to minimize additional parasitic effects. Capacitors and inductors use 0402 packages for easy swapping during tuning.

  4. Crystal Layout
    The 24 MHz crystal should be placed as close as possible to the CC1310. Load capacitors should be positioned near the crystal, and no traces should run underneath it.

  5. USB Bridge
    The CP2102N should be placed close to the USB connector, with the differential data lines (D+/D‑) routed as a matched pair with 90 Ω impedance.

The PCB is a four‑layer board: top signal, second layer solid ground, third layer power, bottom signal. RF traces reference the second‑layer ground plane.


3. Matching Network Tuning

3.1 Tuning Targets

  • Antenna port return loss S11 < –10 dB (at the target frequency)

  • Conducted output power ≥ +13 dBm (typical for the CC1310 internal PA)

  • Second harmonic < –30 dBm (to meet CE/FCC requirements)

3.2 Equipment Used

  • Vector network analyzer: Keysight E5061B, calibrated to the SMA connector plane

  • Spectrum analyzer: Keysight N9020A

  • Test cables: Low‑loss phase‑stable cables

  • Components: 0402‑package capacitors and inductors (0.5 pF – 10 pF, 1 nH – 27 nH)

3.3 Tuning Procedure

Step 1: Measure Initial Impedance

Connect the SMA port of the dongle to the calibrated network analyzer and measure S11 at 433, 868, and 915 MHz. The initial design often shows an impedance point far from 50 Ω due to differences between the reference design stack‑up and the actual layout.

Step 2: Adjust the π‑Network

Taking 433 MHz as an example: the initial matching network uses reference values C1=1.2 pF, L1=3.3 nH, C2=1.8 pF. Measured S11 is –5.2 dB at 433 MHz, with the impedance slightly capacitive.

Tuning steps:

  • Increase C1 to 1.8 pF → S11 improves to –7.1 dB

  • Reduce L1 to 2.7 nH → S11 reaches –9.8 dB

  • Fine‑tune C2 to 2.2 pF → S11 stabilizes at –12.3 dB

Step 3: Verify Across Bands

Because the dongle is designed to support multiple bands, tuning must be performed at 433, 868, and 915 MHz. In practice, a single set of π‑network components cannot achieve S11 < –10 dB simultaneously on all three bands. Therefore, a “frequency‑band jumper” approach was adopted: two sets of matching network pads are reserved, and the appropriate components are populated depending on the target market.

Step 4: Harmonic Testing

Place the dongle in continuous‑wave transmission mode (+14 dBm output) and observe the second harmonic with a spectrum analyzer. At 868 MHz, the second harmonic (1736 MHz) measured –28 dBm, slightly above the –30 dBm target. Increasing the series inductance from 2.2 nH to 3.3 nH lowered the harmonic to –34 dBm, with a 0.5 dB loss in fundamental power – an acceptable trade‑off.

Tuning Results Summary:

BandFinal Matching NetworkS11Conducted Power2nd Harmonic
433 MHzC1=1.8p, L1=2.7n, C2=2.2p–12.3 dB+14.2 dBm–36 dBm
868 MHzC1=0.8p, L1=3.9n, C2=1.5p–11.8 dB+14.0 dBm–34 dBm
915 MHzC1=0.5p, L1=4.7n, C2=1.2p–10.5 dB+13.8 dBm–32 dBm

4. Firmware Development

4.1 Development Environment

  • SDK: TI SimpleLink SDK 4.40

  • IDE: IAR Embedded Workbench for ARM 8.50

  • Configuration tool: SmartRF Studio 7

4.2 RF Configuration

The configuration code was generated using SmartRF Studio 7. Key parameters are:

ParameterValue
Center frequency433.92 / 868.3 / 915.0 MHz (software‑selectable)
Data rate50 kbps
Modulation2‑GFSK
Frequency deviation25 kHz
RX bandwidth100 kHz
Output power+14 dBm (register value 0x6E)
PA ramp time10 μs

The generated configuration structure is integrated into the firmware and called via RF_open() and RF_postCmd().

4.3 Custom Command Protocol

A simple frame format was defined to enable communication between the PC software and the dongle:

ByteFieldDescription
0STX (0xAA)Start of frame
1CMDCommand type
2LENData length
3 … NDATACommand parameters
N+1CRC8Checksum

Supported commands:

  • CMD_SET_FREQ: Switch frequency band

  • CMD_SET_TX: Transmit a custom packet

  • CMD_SET_RX: Enter receive mode

  • CMD_GET_RSSI: Read current RSSI

  • CMD_FW_UPDATE: Enter firmware update mode

4.4 Firmware Update Implementation

A DFU (Device Firmware Upgrade) mechanism is implemented:

  • On power‑up, if the USB‑UART DTR signal is pulled low, the device enters bootloader mode

  • The bootloader receives the new firmware via XMODEM and writes it to internal flash

  • After completion, a soft reset jumps to the application

This approach eliminates the need for an external programmer; field technicians can upgrade the dongle firmware directly from the PC software.

4.5 Power Optimization

Although the dongle is USB‑powered, power consumption was still optimized for cases where it might be used with a portable battery pack:

  • When idle, the CC1310 enters Standby mode (~1 μA)

  • It wakes up every 200 ms to check for new commands from the PC

  • After transmission, it immediately returns to Standby

Measured average current is less than 2 mA, allowing continuous operation for days even with a standard power bank.


5. Test Results

5.1 Conducted Tests

Output power measured at the SMA port using a spectrum analyzer and attenuator (CC1310 internal PA set to +14 dBm):

BandConducted PowerEVMFrequency Error
433 MHz+14.2 dBm4.2%< 2 kHz
868 MHz+14.0 dBm4.5%< 1.5 kHz
915 MHz+13.8 dBm4.8%< 2 kHz

5.2 Range Tests

Outdoor range testing was conducted on an open field:

  • Antenna: SMA 1/4‑wave whip (approx. 17 cm for 433 MHz)

  • Transmit power: +14 dBm

  • Receiver: Same dongle model, sensitivity –110 dBm @ 50 kbps

  • Result: Reliable communication > 1.2 km (line‑of‑sight), packet error rate < 1%

In an urban environment (streets, scattered trees), the usable range decreased to 300–500 meters, still sufficient for most industrial applications.

5.3 Sensitivity Tests

Using a signal generator injecting a –110 dBm 2‑GFSK signal (50 kbps), the measured PER was < 1%. When the input level was reduced to –115 dBm, the PER rose to 8%, though the link remained functional.

5.4 Power Consumption

StateCurrent
TX (+14 dBm)13.8 mA
RX5.5 mA
Standby1.2 μA
Average (polling mode)1.8 mA

6. Field Application Case

In a smart water meter project, technicians used this dongle with a Windows tablet to commission and configure over 200 meters distributed across a residential area (approximately 500 m range).

Encountered issues and solutions:

  • Issue 1: Some meters located in basements had weak signal reception
    Solution: Used an external 5 dBi high‑gain antenna placed near a window, connected to the tablet via a USB extension cable.

  • Issue 2: Severe 2.4 GHz interference caused high network join failures during initial commissioning
    Solution: Leveraged the dongle’s spectrum scanning feature (implemented in firmware) to select the least‑congested channel (the 915 MHz band offers 10 channels at 1 MHz spacing) and manually configured the meters to that channel.

  • Issue 3: Some meters had outdated firmware that could not parse the new commands
    Solution: Used the dongle’s DFU capability to batch‑upgrade the meter firmware, completing the task in about 15 minutes.

Field feedback: The dongle was easy to use, the software interface was clear, and commissioning efficiency improved by approximately 3× compared to previous handheld terminals.


7. Summary and Lessons Learned

Several factors contributed to the success of this project:

  1. Respect the reference design, but don’t follow it blindly
    TI’s reference design is an excellent starting point, but differences in actual layout inevitably require re‑tuning the matching network. Reserving a π‑network proved to be a wise decision.

  2. Proficiency with test equipment
    A network analyzer and spectrum analyzer are essential tools for RF debugging. Investing time in learning Smith chart analysis and harmonic suppression techniques pays off significantly.

  3. Co‑design hardware and firmware
    Defining the command protocol and DFU mechanism early prevented late‑stage rework. Giving field users the ability to update firmware greatly reduced maintenance costs.

  4. Iterate based on field feedback
    After delivering the first batch of prototypes, feedback from field engineers led to improvements such as more intuitive channel selection and a more robust antenna connector.

  5. The value of open source
    After open‑sourcing the project, we received valuable suggestions from engineers in Europe, North America, and Southeast Asia, including adding LoRa modulation support and improving bootloader stability. These suggestions have been incorporated into the next revision.

If you are developing a similar Sub‑1GHz commissioning tool, I hope these notes help you avoid some common pitfalls. Feel free to submit issues or pull requests on GitHub – contributions are welcome.


share