RS485 Isolated Carrier Board

Revision Status

Revision Status Changes
Rev C Active / In Design (Current design files)

The RS485 Isolated Carrier Board is a galvanically isolated differential serial interface designed for robust half-duplex communication in electrically harsh or industrial environments.

It integrates complete galvanic signal and power isolation, comprehensive power protection, dual standard 5 mm pitch bus terminal blocks for daisy-chaining, and both a standard 6-pin microcontroller header and a UCMOD connector for host microcontroller modules.

You can follow its development and the UCMOD ecosystem on www.jktdev.co.uk.


Features

  • Galvanic Isolation: Uses a Texas Instruments ISO1430 (ISO1430DWR) isolated RS485 transceiver to separate the host logic domain from the differential bus lines, eliminating ground loops and protecting controller hardware from high common-mode voltages and line faults.
  • Isolated DC-DC Power: Employs a B0305S-1WR3 isolated DC-DC converter module (3.3 V input to 5 V isolated output) to power the bus-side transceiver stage directly from the logic supply without requiring an external isolated supply.
  • Input Power Protection: Features a TPS259474LRPWR electronic fuse (eFuse) providing active power protection, including overcurrent limiting, overvoltage clamping, reverse polarity protection, and inrush current management.
  • UCMOD Microcontroller Socket: Implements a standard 20-pin UCMOD Connector, allowing any compatible UCMOD microcontroller module (such as STM32G0, RP2040, ESP32, or CH32V series) to plug directly into the board as a self-contained communications controller.
  • Direct Microcontroller Interface (6-Pin): Shares the same 6-pin logic-level pinout as the RS485 Non-Isolated Building Block Board, allowing direct connection to external microcontrollers (e.g. Raspberry Pi Pico, Arduino, or dev boards) or bench wiring.
  • Industrial Bus Terminals: Fitted with 2 × 5 mm pitch screw terminal blocks for the differential RS485 bus, facilitating easy bus daisy-chaining with heavier gauge field wiring.
  • Direction Control: Dedicated Driver Enable (DE) and Receiver Enable (/RE) lines that can be linked via jumper for single-pin half-duplex direction control.

Circuitry & Component Details

1. Galvanic Isolation & Transceiver (TI ISO1430)

  • Provides robust galvanic isolation across the data barrier between the logic-level microcontroller domain and the external RS485 differential bus lines (D0/A and D1/B).
  • High common-mode transient immunity (CMTI) ensures reliable half-duplex serial communication even in noisy electrical environments.

2. Isolated Power Conversion (Mornsun B0305S-1WR3)

  • A compact, high-isolation 1 W DC-DC converter that steps up the 3.3 V logic power rail to an isolated 5 V rail to power the bus side of the transceiver.
  • Completely breaks the ground reference between logic ground (GND) and bus ground (GND_ISO).

3. Integrated Power Protection (TI TPS259474LRPWR)

  • A smart eFuse with integrated protection mechanisms placed on the logic power supply input:
  • Precise programmable / fixed current limiting to prevent power supply collapse during faults.
  • Overvoltage clamping and fast reverse current / polarity blocking.
  • Controlled output slew-rate during power-up to reduce inrush current.

4. Dual Host Interface: UCMOD Socket & 6-Pin Logic Header

  • The board can be driven either by a plugged-in UCMOD module or via the 6-pin microcontroller header.
  • Logic signals (RO, DI, DE, /RE) are routed to both interfaces, offering maximum flexibility during development, bench testing, or deployment.

Hardware Configuration & Pinout

Microcontroller Interface (6-Pin Logic Side)

The 6-pin header uses the standard Protoworks RS485 logic pinout:

Pin Label Direction Description
1 RO Output Receiver Output (UART RX from bus)
2 DI Input Driver Input (UART TX to bus)
3 DE Input Driver Enable (Active High)
4 /RE Input Receiver Enable (Active Low, can be tied to DE)
5 3.3V Power 3.3 V Logic Supply Input (Protected by TPS259474)
6 GND Power Logic Ground Reference

UCMOD Connector (20-Pin Socket)

The board implements the standard 20-pin UCMOD Main Connector. Key interface lines are connected as follows:

UCMOD Pin Standard Function Carrier Board Connection
1, 3, 18, 20 GND Logic Ground (GND)
2, 19 3V3 3.3 V Logic Power Rail (Protected)
7 UART_TX / GPIO2 DI (Transceiver Driver Input)
8 UART_RX / GPIO3 RO (Transceiver Receiver Output)
14 AN1 / GPIO9 DE (Driver Enable, Active High)
15 AN2 / GPIO10 /RE (Receiver Enable, Active Low)
5, 6, 9–13, 16 GPIO / Peripherals Unused

(Note: DE and /RE can be controlled independently by the UCMOD module via GPIO9 and GPIO10, or bridged together using an on-board jumper for single-pin direction control).

Bus Side Interface (2 × 5 mm Pitch Screw Terminals)

Two parallel 3-way 5 mm pitch screw terminal blocks are provided for the isolated bus side, allowing convenient in/out wiring for daisy-chaining:

Pin Terminal Label Description
1 D1 / B RS485 Inverting Differential Line
2 D0 / A RS485 Non-inverting Differential Line
3 GND_ISO Isolated Bus Ground Reference / Shield Return

Bill of Materials (BOM)

Reference Qty Value Footprint LCSC Part No MFR Part No Description
IC1 1 TPS259474LRPWR TPS259474LRPWR:TPS259474LRPWR C2864845 TPS259474LRPWR Hot Swap Voltage Controllers 2.7-V to 23-V, 28-mΩ, 5.5-A eFuse with integrated reverse polarity protection
U2 1 B0305S-1WR3 Protoworks:B0305S-1WR3 C7418874 B0305S-1WR3 Isolated Power Module
U3 1 ISO1430DWR Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm C2672340 ISO1430DWR TI ISO1430 Isolated RS485 Transceiver
D1,D2,D3,D5,D7 5 SML-D12M8WT86 LED_SMD:LED_0603_1608Metric C510025 SML-D12M8WT86 Light emitting diode
D4,D6 2 SM712_SOT23 Package_TO_SOT_SMD:SOT-23 C7420375 SM712 7V/12V, 600W Asymmetrical TVS Diode Array, SOT-23
C1,C4,C5,C6 4 100nF Capacitor_SMD:C_0805_2012Metric C49678 CC0805KRX7R9BB104 Unpolarized capacitor, small symbol
C2 1 4.7uF Capacitor_SMD:C_1206_3216Metric C29823 1206B475K500NT Unpolarized capacitor, small symbol
C3 1 10uF Capacitor_SMD:C_1206_3216Metric C13585 CL31A106KBHNNNE Unpolarized capacitor, small symbol
R1,R2,R3,R4 4 100R Resistor_SMD:R_0603_1608Metric C22775 0603WAF1000T5E Resistor
R5,R6 2 10K Resistor_SMD:R_0402_1005Metric C25744 0402WGF1002TCE Resistor
R7,R9 2 4K7 Resistor_SMD:R_0603_1608Metric C23162 0603WAF4701T5E Resistor
R8,R17,R19 3 120R Resistor_SMD:R_1206_3216Metric C17909 1206W4F1200T5E Resistor
R10,R11 2 22R Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder C23345 0603WAF220JT5E Resistor
R12,R13,R14,R18,R26 5 470R Resistor_SMD:R_0402_1005Metric C25117 0402WGF4700TCE Resistor
R15,R16 2 470R Resistor_SMD:R_0603_1608Metric C23179 0603WAF4700T5E Resistor
R20 1 3K3 Resistor_SMD:R_0603_1608Metric C22978 0603WAF3301T5E Resistor
R21 1 360K Resistor_SMD:R_0603_1608Metric C23146 0603WAF3603T5E Resistor
R22 1 39K Resistor_SMD:R_0603_1608Metric C23153 0603WAF3902T5E Resistor
R23 1 200K Resistor_SMD:R_0603_1608Metric C25811 0603WAF2003T5E Resistor
R24,R25 2 0R Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder C17888 1206W4F0000T5E Resistor
J2,J3 2 Screw_Terminal_01x03 TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal C5128811 DG301-5.0-03P-14-00A(H) Generic screw terminal, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)
J4 1 Conn_02x10_Odd_Even Connector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical C5383109 2541WV-2x10P Generic connector, double row, 02x10, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)
JP1,JP7 2 Jumper_2_Small_Open Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical C42431798 PH2.54-1X2P-H25 Jumper, 2-pole, small symbol, open
JP5,JP6 2 Jumper_3_Open Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical C42431836 PH2.54-1X3P-H25 Jumper, 3-pole, both open

Test Verification & Code Example

The logic interface can be tested directly with an external microcontroller such as a Raspberry Pi Pico or a UCMOD module running MicroPython.

MicroPython Transmit Example (Pico / UCMOD)

from machine import UART, Pin
import time

# Configure UART (UART0: TX on Pin 0, RX on Pin 1)
uart = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))

# Direction control pin (DE tied to /RE)
de_re = Pin(2, Pin.OUT)

counter = 0

while True:
    # Enable driver / transmit mode
    de_re.value(1)

    message = f"Isolated RS485 Frame #{counter}\n"
    uart.write(message.encode('utf-8'))
    print("Sent:", message.strip())

    uart.flush()
    # Return to receive mode
    de_re.value(0)

    time.sleep(1)
    counter += 1

MicroPython Receive Example

from machine import UART, Pin
import time

# Configure UART (UART0: TX on Pin 0, RX on Pin 1)
uart = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))

# Direction control pin (DE tied to /RE)
de_re = Pin(2, Pin.OUT)

# Keep in receive mode
de_re.value(0)

print("Listening on Isolated RS485 Bus...")

while True:
    if uart.any():
        data = uart.read()
        try:
            decoded = data.decode("utf-8").strip()
            print("Received:", decoded)
        except UnicodeError:
            print("Received raw bytes:", data)

    time.sleep(0.05)

Gerber Files

Project Files