Simple 3 wire serial connection from PI3 to SKR V1.3 board

What is the problem?
I have a Pi 3 with Octprint and SKR V1.3 and want to get rid of the bulky USB cable connecting both boards.
USB works fine so that is not the problem. As Pi and SKR V1.3 board are close together I like to use simple 3 wire from the GPIO pins.
So I connect TX to RX and RX to TX and GND to GND.
But when I open the connection console it will not connect.

What did you already try to solve it?

XI. Swapping ports used by GPIO and Bluetooth
The first thing to enable serial connection is to swap ports used by the GPIO (soldered pins) and the internal Bluetooth chip. We need to add a line in the config file on the boot partition.

sudo nano /boot/config.txt

Move the cursor to the very end and add:

dtoverlay=pi3-miniuart-bt

XII. Disabling the serial console

Moving to another config file, where part of the code must be deleted to disable serial console.

sudo nano /boot/cmdline.txt

Look for following string (text) and delete it

console=serial0,115200

XIII. Rebooting RPi

For all changes to take effect, please reboot your Raspberry Pi Zero W.

XIV. Adding serial port

Last part of the configuration is in the web interface. Open your browser and type either "octoprint.local" or the IP address of the RPi Zero W. You might be greeted with the welcome wizard, please go through it first.

As soon as you arrive at the home screen, open "Settings" (top right), head to "Serial Connection", then "Additional serial ports" and insert following:

/dev/ttyAMA0

Save the change and reboot OctoPrint. After reboot, select the new port and connect to your printer.

Logs (octoprint.log, serial.log or output on terminal tab, ...)

Connecting to: /dev/ttyAMA0
Changing monitoring state from "Offline" to "Opening serial port"
Connected to: Serial<id=0x6adc4a30, open=True>(port='/dev/ttyAMA0', baudrate=250000, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Changing monitoring state from "Opening serial port" to "Connecting"
Send: N0 M110 N0*125
Unexpected error while reading serial port, please consult octoprint.log for details: IOError: '[Errno 25] Inappropriate ioctl for device' @ comm.py:_readline:2739
Changing monitoring state from "Connecting" to "Offline (Error: IOError: '[Errno 25] Inappropriate ioctl for device' @ comm.py:_readline:2739)"
Connection closed, closing down monitor

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, ...)

OP > Version 1.3.11

Marlin 2.0 settings for a working USB connection Between SKR V1.3 and PI3 with Octoprint.

Port set @ 250000 bps

/**

  • Select the serial port on the board to use for communication with the host.
  • This allows the connection of wireless adapters (for instance) to non-default port pins.
  • Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader.
  • :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
    */
    #define SERIAL_PORT 0

/**

  • Select a secondary serial port on the board to use for communication with the host.
  • This allows the connection of wireless adapters (for instance) to non-default port pins.
  • Serial port -1 is the USB emulated serial port, if available.
  • :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
    */
    #define SERIAL_PORT_2 -1

Your assistance is appriciated as more SKR users are stuck to get this working.

Thanks, Paco

Problem solved.
For some reason "dtoverlay=pi3-miniuart-bt" was not added in the boot file.
Connection is now possible by 3 wire and USB.

Thanks, Paco

1 Like

You may want to add a ferrite core around those three wires you have between the Pi and the printer.