← All Posts

USB to RS485 on macOS (2026): Adapter Guide for Apple Silicon

RS485 is the backbone of industrial serial communication. If you work with Modbus RTU devices, building automation controllers, PLC networks, or industrial sensors, you need a way to connect your Mac to an RS485 bus. That means a USB-to-RS485 adapter and a driver that actually works on macOS. For background on the underlying communication standards, see our guide to serial communication protocols.

The problem: Apple Silicon Macs have made USB-serial adapter support progressively more painful. Kernel extension drivers are deprecated. Vendor drivers break with every macOS update. And most adapter manufacturers still ship installers designed for Intel Macs running macOS 10.14.

This guide covers every major USB-RS485 adapter chipset, how to install drivers on macOS (including Apple Silicon), how to troubleshoot the most common failures, and how to wire a proper RS485 bus.

The Apple Silicon Driver Problem

Starting with macOS Big Sur, Apple began deprecating the kernel extension (kext) mechanism that virtually all USB-serial drivers relied on. With macOS Sequoia and beyond, the situation has tightened further:

  • Kernel extensions require reboot into Recovery Mode to enable reduced security. Most engineers are not willing to do this for a serial port driver.
  • DriverKit is the replacement, but most USB-serial chipset vendors have been slow to adopt it. FTDI, Prolific, and Silicon Labs all originally shipped kext-based drivers.
  • Gatekeeper blocks unsigned or improperly signed drivers, requiring manual approval in System Settings > Privacy & Security.
  • macOS updates can silently remove or disable kexts, leaving your adapter non-functional after a routine update.

The practical result is that an adapter that worked perfectly yesterday may stop working after a macOS security update. This is not a theoretical concern; it happens regularly.

The reliable path forward: User-space drivers that communicate with USB devices through macOS IOKit APIs, without installing any kernel extensions. Apps like MacTools Serial Terminal include built-in user-space drivers for FTDI, CH340, CP2102, and Prolific chipsets, so no system-level driver installation is needed.

USB-RS485 Adapter Chipsets

Every USB-to-RS485 adapter contains two functional blocks: a USB-to-UART bridge chip and an RS485 transceiver. The bridge chip determines driver compatibility. Here are the chipsets you will encounter:

FTDI FT232 / FT232H / FT4232

FTDI chips are the gold standard for USB-serial adapters. The FT232R is the most common single-port bridge. The FT232H supports MPSSE for advanced protocols, and the FT4232 provides four independent ports on one chip.

  • Driver options on macOS: The VCP (Virtual COM Port) driver creates /dev/tty.usbserial-* devices. The D2XX library provides direct USB access without a COM port. User-space drivers using libusb or Apple's IOKit are the most reliable approach on Apple Silicon.
  • macOS compatibility: Good with user-space drivers. The VCP kext driver has a history of kernel panics on Apple Silicon, especially on macOS Ventura and later.
  • Genuine FTDI chips can be identified by the USB VID 0x0403. Counterfeit FTDI chips are widespread; they often work but may fail with official drivers that perform authentication checks.

WCH CH340 / CH341

The CH340 (USB-to-UART) and CH341 (USB-to-UART/I2C/SPI) are Chinese-manufactured chips found in the majority of inexpensive adapters and development boards. They are remarkably reliable for the price.

  • Driver installation: Download the official driver from WCH (wch-ic.com). On macOS, you must right-click the installer and select Open to bypass Gatekeeper. After installation, the adapter appears as /dev/tty.wchusbserial*.
  • Apple Silicon support: Works, but the driver requires occasional reinstallation after macOS updates. Some users report needing to re-approve the system extension after each major update.
  • Best value: CH340-based RS485 adapters typically cost $2-5 and work well for Modbus RTU at standard baud rates.

Silicon Labs CP2102 / CP2104 / CP2105

CP210x chips from Silicon Labs (now Skyworks) are common in mid-range industrial adapters. The CP2102 is single-port, CP2104 adds additional GPIO, and CP2105 is a dual-channel variant.

  • Driver installation: Download the VCP driver from Silicon Labs. The macOS installer creates /dev/tty.SLAB_USBtoUART* devices.
  • Apple Silicon support: The driver has improved significantly since 2023, but still occasionally fails to re-enumerate after Mac sleep/wake cycles. A physical unplug/replug usually resolves this.
  • Industrial preference: Many purpose-built RS485 adapters for Modbus use CP2102 because of its stability and integrated voltage regulator.

Prolific PL2303

The PL2303 family (PL2303HXA, PL2303HXD, PL2303TA, PL2303TB) was once the dominant USB-serial chip. Today, it is the most problematic chipset on macOS.

  • Counterfeit chip problem: The PL2303 is the most counterfeited USB-serial chip in existence. Prolific's official driver detects and rejects counterfeit chips, displaying "Code 10" or "This device cannot start" errors.
  • macOS compatibility: Poor. The official driver frequently fails authentication checks on macOS, even with genuine chips. Kernel panics have been reported on Apple Silicon.
  • Recommendation: Avoid PL2303-based adapters for macOS use unless you can verify the chip is genuine. If you must use one, a user-space driver bypasses the counterfeit detection entirely.

Driver Installation Guide

FTDI on macOS

  1. Download the FTDI VCP driver from ftdichip.com (select the macOS ARM64 version for Apple Silicon).
  2. Double-click the .dmg and run the installer package.
  3. Open System Settings > Privacy & Security > scroll down and click "Allow" next to the system software blocked message.
  4. Restart your Mac.
  5. Plug in the adapter and verify with ls /dev/tty.usbserial* and ls /dev/cu.usbserial*.

Alternatively, skip all of this and use MacTools Serial Terminal, which includes a user-space FTDI driver that requires no installation.

CH340/CH341 on macOS

  1. Download the CH340 macOS driver from wch-ic.com or the official GitHub repository.
  2. Right-click the .pkg installer and select "Open" (required to bypass Gatekeeper on the first run).
  3. Follow the installer prompts and restart when finished.
  4. Open System Settings > Privacy & Security and allow the WCH system extension if prompted.
  5. Plug in the adapter and verify with ls /dev/tty.wchusbserial*.

CP210x on macOS

  1. Download the CP210x VCP driver from silabs.com (select the macOS version).
  2. Mount the .dmg and run the installer.
  3. Approve the Silicon Labs system extension in System Settings > Privacy & Security.
  4. Restart and verify with ls /dev/tty.SLAB_USBtoUART*.

If the port disappears after sleep/wake, unplug and replug the adapter. This is a known CP210x issue on Apple Silicon that Silicon Labs has acknowledged but not fully resolved.

Troubleshooting Common Issues

Adapter Not Appearing as a Serial Port

If you plug in the adapter and no /dev/tty.usb* or /dev/cu.usb* device appears:

  • Check USB enumeration: Open System Information (hold Option and click the Apple menu > System Information) and look under USB. If the adapter does not appear at all, the device or cable is faulty.
  • Check for driver conflicts: If you have installed drivers from multiple vendors, they can conflict. Remove all USB-serial drivers and reinstall only the one you need.
  • Try a different USB port: Some USB-C hubs do not pass through all USB device classes correctly. Connect directly to the Mac if possible.
  • Use user-space drivers: Apps with built-in user-space drivers bypass the system driver stack entirely and often detect adapters that the system does not.

Kernel Panic on Adapter Plug-In

This is almost always caused by a kext-based driver that is incompatible with your macOS version. The fix is to remove the kernel extension and use a user-space driver instead. To remove a kext, boot into Recovery Mode, open Terminal, and move the offending kext out of /Library/Extensions/.

Gatekeeper Blocking Driver Installation

Right-click the installer or driver package and select "Open." You will get a prompt asking if you are sure; confirm. If this does not work, go to System Settings > Privacy & Security and click "Open Anyway" next to the security warning.

Port Disappears After macOS Update

macOS updates can remove or disable third-party kernel extensions. Reinstall the driver after the update. If the problem persists, the driver version may not support the new macOS release yet. Check the vendor's website for an updated version, or switch to a user-space driver approach that is not affected by macOS updates.

Wiring RS485

RS485 is a differential signaling standard (TIA-485) that uses a pair of wires to transmit data. Getting the wiring right is critical, and wiring problems account for a large percentage of RS485 communication failures.

2-Wire RS485 (Half-Duplex)

The most common configuration for Modbus RTU. Uses a single twisted pair for both transmit and receive:

  • Data+ (D+ or A): Connect to Data+ on all devices. Sometimes labeled "A" (confusingly, as some manufacturers swap A/B labeling).
  • Data- (D- or B): Connect to Data- on all devices.
  • Ground: Connect signal ground between devices when possible, especially over long cable runs. This prevents common-mode voltage from exceeding the transceiver's ratings.

4-Wire RS485 (Full-Duplex)

Uses two separate twisted pairs, one for transmit and one for receive. Required for some protocols (RS422) and optional for Modbus. Most USB-RS485 adapters only support 2-wire half-duplex operation, which is sufficient for Modbus RTU.

Termination Resistors

Install a 120-ohm termination resistor at each physical end of the RS485 bus. Termination prevents signal reflections that cause data corruption. The resistor is placed between Data+ and Data-.

  • Do not install terminators in the middle of the bus; only at the ends.
  • Some adapters have a built-in termination resistor with a jumper or switch. Enable it if the adapter is at one end of the bus.
  • At low baud rates (9600 bps) and short cable runs (under 10 meters), termination is less critical but still recommended as best practice.

Bias Resistors

When no device is actively driving the RS485 bus (between transmissions), the differential voltage floats to an undefined state. This can cause receivers to interpret noise as data. Bias resistors pull the bus to a known idle state:

  • Connect a pull-up resistor (typically 680 ohms) from Data+ to +5V.
  • Connect a pull-down resistor (typically 680 ohms) from Data- to ground.
  • Install bias resistors at only one point on the bus, typically at the master device.
  • Biasing is critical on buses with fewer than 4 devices, where the combined idle-state impedance may not hold the line.

Using USB-RS485 with Modbus RTU on macOS

Modbus RTU is by far the most common protocol running over RS485. If you are commissioning industrial equipment, you will almost certainly need to talk Modbus RTU. For a deeper understanding of the protocol, see our complete guide to Modbus.

Typical Setup

  1. Connect your USB-RS485 adapter to the Mac and verify the serial port appears.
  2. Wire the adapter to the RS485 bus: Data+ to Data+, Data- to Data-.
  3. Open a serial terminal or Modbus polling tool. For a full comparison of available tools, see our guide to the best serial terminals for macOS.
  4. Configure the serial parameters to match your device: typically 19200 or 9600 baud, 8 data bits, even parity, 1 stop bit (8E1) or 8N1.
  5. Send Modbus RTU requests and verify responses.

Verifying Communication

A Modbus RTU read holding registers request to slave address 1, starting at register 0, reading 10 registers looks like this in hex:

01 03 00 00 00 0A C5 CD

If the device responds, you will see a frame starting with the slave address, the function code, the byte count, followed by the register data and CRC. If you see nothing, check your wiring (Data+/Data- swap is the most common mistake), baud rate, and parity settings.

For polling Modbus RTU devices with a proper GUI that shows register values in real time, use MacTools Modbus Poll. For testing without physical hardware, see our Modbus simulator for macOS guide.

USB-RS485 Adapter Comparison

Adapter / Chipset
Price Range
macOS Support
Apple Silicon
FTDI FT232R-based
$8 - $25
Excellent
Good (user-space)
FTDI FT232H-based
$15 - $40
Excellent
Good (user-space)
WCH CH340-based
$2 - $8
Good
Fair (reinstall after update)
CP2102-based
$5 - $15
Good
Fair (sleep/wake issue)
Prolific PL2303-based
$2 - $10
Poor
Poor (counterfeit risk)
Industrial FTDI adapter*
$30 - $80
Excellent
Good (user-space)

* Industrial-grade adapters with FTDI chips, galvanic isolation, and ESD protection. Recommended for commissioning work where reliability matters.

User-Space Driver Alternatives

If you want to avoid the driver installation headache entirely, there are two approaches:

1. Apps with Built-in User-Space Drivers

MacTools Serial Terminal includes user-space drivers for FTDI FT232, CH340/CH341, CP2102, and Prolific PL2303. The app communicates with USB devices directly through macOS IOKit and libusb, bypassing the kernel extension system entirely. No driver installation, no Gatekeeper approval, no breakage after macOS updates.

2. Manual User-Space Setup

If you need programmatic access, you can use libusb (installable via Homebrew: brew install libusb) to communicate with USB-serial adapters directly. FTDI devices are well-supported through libftdi (brew install libftdi). This requires more setup but gives you full control over the USB communication.

For a deeper look at how serial communication works on macOS, including the difference between /dev/tty.* and /dev/cu.* devices and how to configure serial parameters from the command line, see our guide on serial communication protocols.

Frequently Asked Questions

Do USB-to-RS485 adapters work on macOS Apple Silicon?

Yes, but with caveats. Kernel extension (kext) drivers from FTDI, Prolific, and Silicon Labs have been deprecated on macOS in favor of DriverKit. Many adapters still ship with kext-based drivers that break after macOS updates. The reliable solution on Apple Silicon is to use apps with built-in user-space USB drivers that communicate directly with the hardware through macOS USB APIs, bypassing kernel extensions entirely.

How do I wire an RS485 bus correctly?

Use twisted-pair cable (shielded for noisy environments). For 2-wire RS485, connect Data+ to Data+ and Data- to Data- across all devices in a daisy-chain topology (not star). Install a 120-ohm termination resistor at each end of the bus. For long runs or noisy environments, add bias resistors (typically 680 ohms) pulling Data+ to +5V and Data- to ground at one point on the bus. Maximum cable length is 1200 meters (4000 feet) at low baud rates.

Which USB-RS485 adapter chipsets work best on macOS?

FTDI FT232-based adapters have the best macOS compatibility when paired with user-space drivers. CH340/CH341 adapters are the most affordable and work well once the driver is installed, but require bypassing Gatekeeper. CP2102 adapters are common and generally reliable. Avoid Prolific PL2303 adapters unless you can verify the chip is genuine, as macOS drivers aggressively reject counterfeit Prolific chips.

Why does my USB-RS485 adapter not show up on macOS?

Common causes: the driver is not installed or was removed by a macOS update, Gatekeeper blocked the driver extension, the adapter uses a counterfeit chipset rejected by official drivers, or a conflicting driver from a different manufacturer is installed. Check System Information > USB to verify the adapter enumerates. Then check /dev/tty.usb* and /dev/cu.usb* for serial port entries. Using an app with user-space drivers like MacTools Serial Terminal avoids most of these issues.

Serial Terminal with Built-in RS485 Support

MacTools Serial Terminal for macOS with user-space USB drivers, hex view, Modbus RTU protocol analysis, and timestamped data logging. Works with FTDI, CH340, CP2102, and Prolific adapters on Apple Silicon. No driver installation needed. $9.99 one-time.

Get MacTools Serial Terminal

Related: Full SCADA System

Need continuous monitoring with dashboards, alarms, and trending across all your devices? Voltrus SCADA supports Modbus, OPC-UA, Siemens S7, Allen-Bradley, DNP3, BACnet, MQTT, and more. Lifetime license from $249.

Further Reading