Sending UART Serial Data over Plastic Optical Fiber (POF)

Using plastic optical fiber (POF) to transmit UART serial data provides EMI resistance and electrical isolation. Here's how to do it:


๐Ÿงฐ What You Need

  1. Plastic Optical Fiber (POF) โ€“ typically 1mm core, 650nm red LED compatible.
  2. Optical Transceivers โ€“ e.g., Avago HFBR-1521 (TX) and HFBR-2521 (RX)
  3. Microcontrollers or USB-to-UART adapters
  4. Resistors and capacitors โ€“ per the transceiver datasheet
  5. Logic level shifters โ€“ if voltage levels don't match

๐Ÿ”Œ Basic Wiring Overview

TX Side (UART โ†’ Optical)

  • Microcontroller UART TX โ†’ Optical Transmitter (e.g., HFBR-1521)
  • Power (3.3V or 5V)
  • Current-limiting resistor for LED (per datasheet)

RX Side (Optical โ†’ UART)

  • Optical Receiver (e.g., HFBR-2521) โ†’ UART RX
  • Power supply
  • Pull-up resistor on RX output (if open collector)

๐Ÿ› ๏ธ Wiring Example with HFBR-15X1 / 25X1

  • TX Module (HFBR-1521):

    • Anode โ†’ Vcc through resistor
    • Cathode โ†’ UART TX (possibly via transistor)
  • RX Module (HFBR-2521):

    • Output โ†’ UART RX with pull-up resistor to Vcc

โš ๏ธ Note: These modules output non-inverted logic compatible with UART.


โš™๏ธ UART Settings

  • Baud Rate: up to 250 kbps recommended for stable operation
  • Settings: Standard 8N1 (e.g., 9600 8N1)

๐Ÿ“ Max Transmission Distance

  • Up to 20 meters for typical POF setups

๐Ÿงช Testing

  • Connect USB-to-UART adapter to one side, microcontroller or another adapter to the other
  • Use serial terminal (PuTTY, Arduino IDE, etc.) to send test messages
  • Perform loopback or echo tests

ref