UART ttyMFD1 serial port on Intel Edison

On the Intel Edison Arduino board, the J18 Arduino connector block TX/RX pins have the UART connected to /dev/ttyMFD1 in the default Yocto install.

Edison adapter board GPIO voltage
Arduino 5 V
Mini-Breakout 1.8 V

The Mini-Breakout board Intel Edison has 1.8 V GPIO and can be damaged from connecting directly to 3.3 V or 5 V TTL logic. You need a level shifter board to do the interface to non-1.8V logic from the Mini-Breakout board.

RX stream from Intel Edison UART

This is intended for a serial device that constantly streams output like a GPS NMEA stream. If your device is interactive, skip to the next section.

  1. At the Edison shell prompt:
    stty -F /dev/ttyMFD1 9600
    cat /dev/ttyMFD1
    

    where 9600 is serial port device baudrate

  2. text streams to console from UART serial device on Edison.

TX/RX from Intel Edison UART

  1. install

     opkg install screen
    
  2. connect interactively to UART device from the Edison shell

     screen /dev/ttyMFD1 9600
    

    where 9600 is serial port device baudrate

Python use of Intel Edison UART

MRAA + PySerial make using the Intel Edison serial port easy from Python.

  1. install MRAA on the Edison
  2. install Pyserial

     pip install pyserial
    
  3. verify serial port operation with:
    import serial
    import mraa
    
    uart = mraa.Uart(0)
    
    ser = serial.Serial(uart.getDevicePath(), 9600)
    
    ser.write("TEST")
    print ser.read(4)
    

References:

Intel Edison GPIO: Getting Started Guide

Leave a Comment