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

I have spent hours and hours trying but I just can't get this to work. on the SKR1.4 turbo via the TFT port and pins 6, 8 and 10. I edited the /boot/config.txt and tried adding and removing
disable-bt
pi3-miniuart-bt
enable_uart

I enabled serial interface in the raspi-config menu

Octoprint doesn't seem to connect to ttyS0, ttyAMA0, ttyAMC0
Even tried a fresh install, basically did everything from the post above, nothing seems to work.

Im not able to add the logs right now because I screwed up the cmdline.txt file. so they'll be added soon.
Only feedback im getting is "could not connect to or enter programming mode......"
If anyone can help I would be delighted

I am guessing here, but did you disable the serial console?

If you have not, octoprint will not be able to use the serial port.

If you are using raspi-config, ensure that you answer No to the login shell over serial question. You then need to select Yes to enabling the serial hardware.

This is related to the console=115200 element in /boot files or the serial-getty service.

Serial ports that you may see on a Pi are as follows:

  • ttyAMA0 - This is the Broadcom PL011 UART (the slightly better one), by default connected to the Bluetooth module. Bluetooth services will seize this.
  • ttyS0 - This is the secondary UART on the Pi, by default connected to GPIO14/15 (pins 8 and 10). If the serial console is active, it will seize it.
  • ttyACMn - "Abstract Control Module", a serial connection claiming to be a modem, used by the Arduino bootloader interface for simplicity.
  • ttyUSBn - This is a serial connection over a USB line, which identifies itself as such, and may require the use of driver software on some systems.

Essentially a default Pi Model 3 will have bluetooth connected to ttyAMA0 and a serial console enabled on ttyS0, both of which will then be unavailable. The only thing you will need to stop is the serial console which takes control of ttyS0.

For a Pi Model 2, by default there is a serial console on ttyAMA0. Again, this must be disabled to allow the use of this port.

The other possibility (and I hope that this isn't the case - it took me a while to diagnose) is that you have damaged the Pi.
I had a difficult time after applying 5V to the serial port pins. Although the Pi itself still worked, still ran octoprint and gave no indications of problems, the serial module (possibly other pins as well) had been damaged and would no longer function. I spent a large amount of time struggling to understand why nothing was working, including hooking an oscilloscope to the serial pins (where I discovered the ground loop possibility). As soon as I tried a different Pi, everything worked.

Hopefully this is not the case, but this particular problem was not obvious. I did also encounter issues opening the serial port in minicom (minicom refused to select the port) during my troubleshooting.

Does anyone have any idea why this would kill a RPi3. I set this up on my custom build with an SKR v1.4 months ago following the original PDF shared up top. I triple checked the wiring in case it was different between the two, adjusted for the different pins and it worked fine first pop.

I then went and did the same for my other printer with an SKR 1.3 and it melted one pi, I figured I messed up some pins and put 5v into the pi or something as the pi powered the SKR for a second then stopped working. So I ordered another pi, just went to set it up, checked and rechecked my wiring this time and the screen lit up on the SKR. I pulled it out, and restarted the Pi and it started back up. So I rechecked the wiring and tried again and it looks like its happened again. At that point I decided it was time for bed but I think I've melted another Pi.

Edit: So it hasn't fried my second pi, but when I plug the GND - RX - TX to the pi, it powers the SKR like it does when you connect the usb. I don't understand why its happening cause the board isn't getting 5v form anywhere. Is it possible that the rx/tx from the Pi are somehow powering the whole board through the RX - TX pins on the SKR?

Thanks for your reply, I am sorry to respond so late. I just git back from my holiday.

I did disable the console via raspi-config as you described (NO to first, YES to second querstion).
I will try one more time today. Is there a way to test if I have a damaged pi? Elswhere on the forum I saw that the raspi TTL operates at 3.3v and the SKR at 5v but I didn't see anyone mentioning this as a problem...

When I fiddled around with the settings I did get a error 21 and 22 a few times.

EDIT: Also getting (Error: IOError: '[Errno 25] Inappropriate ioctl for device' @ comm.py:_readline:2739) with diffent combinations of console in cmdline.txt and overlays in config.txt

EDIT2: USB ports failed on me (device descriptor read/64, error -71) used this guy's fix and got it running again but I think it's time for a new PI

The TFT pins are reversed on the SKR v1.4 I've been able to get 1.4 running fine using the guide but I just swapped ground from the second from the left to the second from the right.

Finally got it to work. Don't know for sure but it has something to do with this.

sudo chgrp dialout /dev/ttyS0

This eventually did the trick (I think).

But in all my enthousiasm I accidenty created some smoke and sparks and fried my pi. Shorted some pins wich pierced the insulation of a 12v wire running under the PCB while I was mounting it back into place.. Yay -_-

Any one managed to get this working without using the tft port? I have a touchscreen there I would like to continue using so thinking the tx/rx from the exp ports would be awesome to use

1 Like

SKR 1.3 + RPI2?
I've tried most of the stuff in here that seems relevant, but I still can't make it work on my RPI2 + SKR 1.3v, some people talked about the TFT screen being an issue, could my problem be that I've configured Marlin2.0 on the SKR to use my discount full graphic controller? I also use TMC2209's in UART mode, not sure if that's relevant also. Here is the log from octoprint's terminal: https://pastebin.com/fP2jGwuJ Here is octoprint's serial log file: https://pastebin.com/EJ9Z0YXw

I've connected TXD0 and RXD0 (8,10 / 14,15) on the RPI2 to RX0 and RX0 on the TFT connector (tx going to rx and visa versa) turned off the serial console and turned on serial hardware in raspi-config and configured the marlin 2.0 firmware to use serial ports -1 and 0

I've followed this guide: https://www.diyelectronics.co.za/store/index.php?controller=attachment&id_attachment=445 but it mentions stuff about RPI3's bluetooth etc, first I tried without any of the bluetooth changes mentioned, later I tried with, can't get either to work, I can connect using USB and it works fine but /dev/ttyAMA0 just times out on the 250000 baud rate set in config and on auto, any ideas?

Edit: got some help elsewhere and did a loopback test on my RPI2, doesn't work, and they have no idea why it doesn't work, I've used raspi-config to turn off console and turn on hardware and still doesn't work, I'll try re-flashing an updated stock octoprint image to try this again with less variables involved... Why is it always like this.

OK, really struggling to get this to work.

RPI powered by separate power
Gnd, tx, rx connected to SKR 1.3 Gnd, rx, tx
Added to config.txt ... dtoverlay=pi3-miniuart-bt and enable_uart=1
Deleted console=searial0,115200 from cmdline.txt
Added /dev/ttyAMA0 to Octoprint
Stopped / disabled getty stuff
Tried sudo chgrp dialout /dev/ttyS0
Did the no, yes thing for serial in raspi-config
Rebooted a bunch
Tried the whole thing again on a fresh install of Octopi

Maybe I need to find another Pi to try on but I have had no luck. Outside of backtracking steps again, any other suggestions on troubleshooting?

UPDATE: So I think I found the issue. aharris236 had it right ... sometimes its the Pi. Not sure what happened if I fried it crossing wires or something but I tried a different Pi and it worked!. I was originally using a RPi3 model B and the other one I had was a B+ so not sure if there is something with the different version or maybe this goes bad/gets damaged easily on one version or the other, but it seems to be working.

BTW, following the Bigtreetech instructions worked without having to do the other stuff. I added the dtoverlay, deleted the console=..., and added /dev/ttyAMA0 to Octoprint. Those 3 things got this to work on a RPi3 B (I had a spare) and B+.

1 Like

Shouldn't the connection be TX on RPi to RX on controller board (and RX on RPi to TX on controller board)?

Yes, you are correct.

I am also trying to connect my Orange pi 3 lts to my SKR mini e3 v3. And by not using the Tft port. I could really use all the help I can get. I don't know much about it.
Thank you.

Edit: Anyone????

I recommend asking in a Orange Pi related forum how to enable the gpio serial port.