My Prusa i3 MK3 doesn't want to talk to my Octoprint RP3B+ and it's giving me the big SAD =(
 

[Solved] My Prusa i3 MK3 doesn't want to talk to my Octoprint RP3B+ and it's giving me the big SAD =(  

  RSS
nameo0.lsk
(@nameo0-lsk)
Active Member

Hello fellow Prusians an Octonians,

 

I have a Prusa i3 MK3 along with a Rasberry Pi 3B Plus that has Rasbian and Octoprint running on it. I am attempting to connect my my Pi to my Prusa using the header method (GPIO pins). When I attempt to have the web interface of Octoprint connect to my Prusa, it either does not ever connect and then the Prusa LED screen goes solid blue (see below for the OctoPrint terminal output for this instance) or Octoprint will connect and then whenever I send a print or a move command, nothing happens and then I get the same error as for the previous issue.

I have my Raspberry Pi powered through a dedicated wall USB power block and the Prusa is getting it's own power from another outlet. Out of desperation I tried connecting to the GPIO pins using my DuPont jumper cables from the front and the back of the EINSY RAMBO board and tried the electrical configuration from the following two (2) links minus the 5V and GND lines (even though both schematics show the same wiring).

Link 1 (scroll through the pictures for the schematic)

Link 2 (scroll through the pictures for the schematic)

 

Below is a screenshot of the Octoprint page after the printer failed to connect.

OctoPrint error page post Prusa connection failure

 

Below is the OctoPrint Terminal output

Connecting to: /dev/ttyAMA0
Changing monitoring state from "Offline" to "Opening serial port"
Connected to: Serial<id=0x6bfc5350, open=True>(port='/dev/ttyAMA0', baudrate=115200, 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
No answer from the printer within the connection timeout, trying another hello
Send: N0 M110 N0*125
Recv: u\x00c¿kT¹knowî0gommcîdº$2èÏÎÎ\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08è\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x88\x08\x08\x88H\x08
Recv: \x0c\x08\x08\x08\x08\x08\x08\x08\x84\x8c\x8c\x84\x84\x84\x84LJ¦©Lìk«Hø\xff¿o:Uîkno·\x83\x8d\xff÷µ\x85½\x91é\x81Dh[\x0b\x08ïî\x0f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x0c\x08\x08\x04\x08\x08\x08\x08|\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x84\x84BJF"a!1J
Recv: (h\x89KkjR¿­5)\xffýïïûUkËïë¹Áݽmmqnd: "\x08\x08J\x08\x7f{\x8cs\x8c\x08\x08\x08\x08\x08\x08\x08\x04\x08\x08\x08|\x08\x08\x08\x08\x08\x08\x08\x08\x08Hh8d\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08z\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x18(\x08
Recv: \x08\x18H\x08\x08\x08\x08\x08\x88\x0c¢(:)\x8d
There was a timeout while trying to connect to the printer
Changing monitoring state from "Connecting" to "Offline"
Connection closed, closing down monitor
Connecting to: /dev/ttyAMA0
Changing monitoring state from "Offline" to "Opening serial port"
Connected to: Serial<id=0x6c0151b0, open=True>(port='/dev/ttyAMA0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Starting baud rate detection...
Changing monitoring state from "Opening serial port" to "Detecting baudrate"
Trying baudrate: 115200
Send: N0 M110 N0*125
Recv: õ\xffo;ª·-ëëÙxcommanf:""\x08H\x08\x88\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x88\x08\x08\x08\x08\x08\x08\x08\x08\x08x\x08\x08\x08\x08\x08\x08\x08 \x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x8c\x08\x98\x8c\x08\x88\x08\x08\x08\x08\x18\x8c\x08\x84Ä\x84\x86DBb\x1a\x92S©hü­5
Recv: \x7f{½íÕû­¹½Ý½áϽµµ\x85¹\x91é\x81D
Recv:
Baudrate test retry #1
Send: N0 M110 N0*125
Recv: \x0c\x08\x0f\x08\x08xhh\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08x\x08\x08\x08\x08H\x08\x8c\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x88\x0c\x08\x08H
Recv: \x0c\x18\x8c\x8c\x8c\x84\x86CBBkÆf%¦¥Lìk«Høucho¾wno·ë¹\x81\x8d½µµ\x85¹\x91é\x81D\x08\x0c\xffïëï\xff\x97«¯íï½Ñe¾´\x8e\x08N´0M11 F0\x022%Hc½:\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x18\x08\x08\x08\x08\x08\x08J\x08\x8c\x8c\x0cH
Recv:
Baudrate test retry #2
Send: N0 M110 N0*125
Recv: ok
\x8aec\xff÷\x7f\xff\xffeclo;Unknown command: "ec"(2)
Changing monitoring state from "Detecting baudrate" to "Operational"
Send: N0 M110 N0*125
Recv: ok
Send: N1 M115*39
Recv: echo:Unknown command: "n comd: "2)"(2)M
Recv: okM
Send: N2 M21*18
Recv: Error:No8Line Number with cheó\xff\xff\x7fïkError:No Line Number with chucksu[K$*kÑ\x811µ¹å:(8
\x0eReså\x9bûJõ«ïkZ\x7fï\xffï\xffïëëë¹q­ë«kùd:tb¬"!8"*2­ÍËok
Recv: u{}ozUnkîown=comma÷²]H$\x8cz\x08Í\x18\x118\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x18È\x08\x08\x08\x08\x08\x08\x08\x10\x08\x08\x08\x18\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08H\x0c\x08\x08H\x08\x08\x8c\x08\x08\x18\x08\x18\x84½\x8cB"!H\x0bIjjRýí5\x85echo:Unknown command: "\x08\x08qo\x14\x08\x08\xff\xff÷\xff\xffïë¹ñí½µµënf>("o:U'¦¤!(1\x10\x8a
Recv: \x0c\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08"(2)
Recv: ok
Recv: í\xff¿ïõïno\xffî\x9c­«Õ\x87¹ÓéAFH\x08("(²-
Recv: ok
Recv: echo:Unknown command: "\x08\x08ai?\x18\x08"(2)
Recv: ok
Recv: ýïëêý­¹½Ý¹õÏ\xffµµÅûÓé\x01De:Unn(son:/XZ\x08\x08\x08\x08\x08\x08\x18\x08\x08\x08\x08\x08\x08\x08\x08\x08"(2)
Recv: ok
Recv: uwoo;«_-ëë¹\x91\x8f½µµ\x85ûÓé\x81D\x88sm\x08\x0c\x08\x08\x08\x08\x08"(2)H\x18\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08
Recv: \x08\x08\x08\x08\x08\x08\x08\x08\x08\x84\x84\x8c\x84\x84bcBV)¡µ¬
\x18.BÒJjS½­5)\xffeclo:Unknown command: "\x08\xff{ßýï\xff\xff·-ëë¹ácommaod:0"eKnon·\x97\x0bzï\x0e\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08x\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08 \x08\x08\x08\x08\x08\x08\x88\x08\x08\x08\x08\x08\x08\x08\x08\x84\x8c\x99\x94\x99¥Xüï7)\xff\xff\x7f\x7f\xff¿koë¹ñ\x8f½µõÅùÓëA"Ø\x85E^x$1\x08\x08\x08è\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08!!\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08)H\x08\x0c\x08\x08\x08\x08\x08\x08\x10\x84Ä\x99\x94YJC¡k«]\xffýïï{\xff¿-ëë¹õ\x8d½µµ\x85½\x91éåD)\x08\x08"(:)
Recv: ok\x8d
Recv: echo:Unknown command: "\x08\x18JxHjx{\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08x\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08H\x08\x08\x08|\x08\x08\x8c\x08\x08\x84\x84\x8c\x84!!!\x08\x08\x08\x0c\x08\x08\x08\x8c\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08"(2)
êmc¿éÕ¹×no\x7fîpcïmmándº¤&\x08\x08έ\x8c\x08:n cond: \x08\x0c\x08\x0c\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x0cBJ\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x19 \x08\x08\x08
Recv: \x8c\x8c\x8c\x0c\x8c\x08\x08\x08\x88\x08HJJb(3)Í
Recv: ok
Send: N3 M105*36
Recv: Unknown>M code: \x08\x08\x08\xffõïïïïïïæ1\x8a\x8c¬ÌÎ\x8c
Recv: \x0c\x08¼\x8c\x84\x84\x84BBBC\x1f!!!!\x11\x08\x08\x08\x08\x08\x08\x08\x08è\x08\x08\x08\x08\x08\x08\x08\x08Èj\x02jÅÁ@
Recv: ok
Recv: Error:No Line Number with checksum,$Last"Ìéng:\x98\x98C%ªÖ×\x96ËK\x81e
Recv: ok
Recv: ÷\xffï\xffkëëë¹Ñçommynd:0"\x08\x8c\x08\x08\x84BjÎÎ\x8d\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x0f\x08\x08\x08\x08\x08!!\x10\x08\x08\x08\x08\x08x\x08\x08\x08\x08\x18\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x88\x08\x08\x08\x08\x88\x08\x08\x08\x08Ì\x99Ô\x99kC¡¯5)\xffïï\xff\x7f­½Þwn4commõndº´¢\x8c\x08\x08\x84Do)\x17ãa!!!k\x08\x08\x08\x08\x08\x08\x08\x08\x08È\x08\x08\x08x\x08\x08\x0c\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x0c\x88\x0cH\x08\x8c\x0c\x08\x08\x84\x84\x84DJc!\x0c\x08J©IJ=*¾­=\x1decho:Unknown command: "\x08\x0e\x08"(2)
Recv: ï\xffusjo:Un··ë»\x81ͽµµ\x85½\x95éA"K\x0cèÎ\x0e\x08\x08\x08\x08\x0c\x08\x08\x08\x08\x08\x08\x08{onommand\x08\x08"(2J\x18\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08H\x08\x08\x08\x8c\x08\x08\x88\x08\x08\x08\x08\x08\x08\x08\x0cH\x08\x8c\x08\x08\x88\x86N\x8c\x8cIJ®¥Hèk«Høýû}ozÝokno\x7fn´çomm±·º\x9d\x98\x91B!\x84¤bRBBÚ½\x89¡dJ\x18\x08\x08\x08\x08)\x08\x08\x08\x08\x08\x08cc\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x8c\x0c\x08\x08\x0c\x08\x08\x84\x8c\x84ÄFBBBF¦!1\x99$IJî\x1aok
Recv: ￿뫹­Ùo\x7fî4çïmmind:(*\x08\x84b/¯b{!!R\x08\x08\x08cc\x08\x08\x08\x08\x08\x08\x08\x08\x08\x0ck\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x8c\x88\x0cH
Recv: \x08\x08\x08
Recv: \x88\x08\x08
Recv: (\x08
Recv: H
Recv: \x08\x98\x84HJ¦¥Hèk«Høecho:Unknown command: "\x08\x08"(2éí\xffÛ»»­¹½wnxcoííuîä> ¢echKªõ¹ùcod: "\x08\x08\x08\x08\x08{\x08\x08\x08\x08\x08\x08\x08"(2)
Recv: ok
Recv: \xffïïï½½Ýî´sïmmynd:ºb\x08\x8c¦(:)Çák«Nþecho:Unknown command: "\x08\x08HL"(2)
Recv: ok
Recv: echo:Unknown command: "zh\x18\x08\x1aho:k goooan"\x88\x08H2i")2-
\x8dk«Høecho:Unknown command: "{\x7f"(2)
Recv: okíï\xffï\xffïþ¶9+/\x99JCùk«Jø\xffû¿ï»½Ý½éí½µµÅ¹\x99éõ"ok\x8c",:)
\x8aokíëecho:Unknown command: "\x08"(2)
Recv: ok
\x0bõë¿[®¹­¹½ý¹é\x8d½ÚÙÅÙÙy¤¦eK com/"\x08"2Jk\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08z\x08\x08\x08\x08\x08\x08\x08(
Recv: \x8c2\x7f\x88\x0c\x08\x08\x8c\x88\x8c\x8c\x0c\x08
Recv: "(2)M
Recv: ok
Recv: oïïïo½íUîknown8cooocnd: "
Recv: \x8c\x08ï\x0f\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08(\x08\x08\x08\x08\x08(\x08\x18\x18\x08\x08\x08\x88\x8c\x08\x08\x08\x08\x08\x8c\x8c\x08\x08"(2©\x8d\x8aok
Send: N4 M105*35
Recv: Erros:No Line Number with checksum, Last Line: 0
Recv: Resend: 1
Recv: ok
Send: N1 M115*39
Recv: Erzor:No Line Number with checksum, Lyst Line: 0
Recv: Resend: 1
Recv: ok
Send: N1 M115*39
Recv: Unënïwn M!c\x8b\x95é\x83\x10<M95(19
Recv: ok
Send: N2 M21*18
Recv: Error:No Mi~e Nwmber!wiº´\x90,«Í­ÍÕµ±\x81\x98ast Lineú 0
Changing monitoring state from "Operational" to "Error: No Mi~e Nwmber!wiº´\x90,«Í­ÍÕµ±\x81\x98ast Lineú 0"
Send: M112
Send: N5 M112*36
Send: N6 M104 T0 S0*39
Send: N7 M140 S0*98
Changing monitoring state from "Error: No Mi~e Nwmber!wiº´\x90,«Í­ÍÕµ±\x81\x98ast Lineú 0" to "Offline (Error: No Mi~e Nwmber!wiº´\x90,«Í­ÍÕµ±\x81\x98ast Lineú 0)"
Connection closed, closing down monitor

Does anyone have any idea what I can do? I have scavanged the forums and haven't found any additional beneficial information.

 

Sincerely,

-Nameo0.lsk

This topic was modified 7 months ago 3 times by nameo0.lsk
Posted : 18/03/2020 6:19 am
RHDreambox
(@rhdreambox)
Prominent Member

If you connect via GPIO pins, do you have to enable RPi port in the printer, menu "Settings / RPi port On",have you done that?

Bear MK3 with Bondtech extruder...
Posted : 18/03/2020 12:28 pm
towlerg
(@towlerg)
Honorable Member

You probably should post this on the OctoPrint forum but I seem to remember you need to "do" something on the pi to use the UART. What's wrong with using USB?

Posted : 18/03/2020 12:33 pm
bobstro
(@bobstro)
Illustrious Member
Posted by: @towlerg

You probably should post this on the OctoPrint forum but I seem to remember you need to "do" something on the pi to use the UART.

I recall when the 3 and Zero W came out, there were issues with wifi conflicting with the on-board UART. I haven't kept up with the latest developments, so this may be a non-issue now.

What's wrong with using USB?

Curious about this myself. I find the length of the USB cable to be useful. I'd worry about GPIO cables getting damaged. I don't believe it can communicate any faster via GPIO as the printer limits serial speeds to 115Kbps. Or am I wrong?

 

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 18/03/2020 2:44 pm
Robert-mm200
(@robert-rmm200)
Noble Member

Using the GPIO pins risks a blown EINSY. There is little to no protection on those pins.

I would certainly like to see the OP try the serial interface, even if only temporary.

Let us know if that works.

Posted : 18/03/2020 4:36 pm
nameo0.lsk
(@nameo0-lsk)
Active Member
Posted by: @rhdreambox

If you connect via GPIO pins, do you have to enable RPi port in the printer, menu "Settings / RPi port On",have you done that?

I have already enable the RPi port in the printer's menu.

(@towlerg)

You probably should post this on the OctoPrint forum but I seem to remember you need to "do" something on the pi to use the UART. What's wrong with using USB?

 

There's two reasons I want to use UART/GPIO instead of USB.

  1. I want to attach additional accessories and not overload the USB bus.
  2. I like a challenge. =)

 

(@bobstro)

Posted by: @towlerg

You probably should post this on the OctoPrint forum but I seem to remember you need to "do" something on the pi to use the UART.

I recall when the 3 and Zero W came out, there were issues with wifi conflicting with the on-board UART. I haven't kept up with the latest developments, so this may be a non-issue now.

What's wrong with using USB?

Curious about this myself. I find the length of the USB cable to be useful. I'd worry about GPIO cables getting damaged. I don't believe it can communicate any faster via GPIO as the printer limits serial speeds to 115Kbps. Or am I wrong?

I already followed the steps of from Prusa to enable UART. The steps I followed are these.

There is nothing wrong with using USB. Personally, I don't want to have the accesories I attach via USB to overload the USB bus bandwidth and mess up my prints. That is why I would like to use the UART/GPIO method and keep my print commands off of the USB bus.

 

(@robert-rmm200)

Using the GPIO pins risks a blown EINSY. There is little to no protection on those pins.

I would certainly like to see the OP try the serial interface, even if only temporary.

Let us know if that works.

Lol, I'll report back with my findings and I'm going to cross-post this thread to the Octoprint forums. The only risk of frying the EINSY if you plug the wrong cable into the wrong port and send 5V where that 5V shouldn't go.

Posted : 18/03/2020 5:02 pm
nilok
(@nilok)
Estimable Member

This is not a good idea for a number of reasons.  Most importantly, as stated...the Einsy will struggle to keep up with the current demands of a pi3...especially during wifi usage, and since there is minimal protection, will eventually blow.  Additionally, using the pi in this way is a less-than-ideal usage of the pi's capabilities.  This does a pretty good job of summarizing, and will also help you with the commands you're missing for boot:

https://www.raspberrypi.org/documentation/configuration/uart.md

Experiment with it and see for yourself, but I STRONGLY recommend using a separate 2.5A power supply on the Pi.

Is your printer grinding? Bearings squeaking? Motors smoking?
Step 1) Wash your Steel Sheet
Step 2) Return to Step 1...
Posted : 18/03/2020 6:07 pm
Robert-mm200
(@robert-rmm200)
Noble Member

Not sure if I was clear. By serial interface I meant USB. GPIO could also be considered a serial interface. Try USB.

Posted : 18/03/2020 6:12 pm
nilok
(@nilok)
Estimable Member

In addition to current warnings, please note this specifically:

The mini UART has smaller FIFOs. Combined with the lack of flow control, this makes it more prone to losing characters at higher baudrates. It is also generally less capable than the PL011, mainly due to its baud rate link to the VPU clock speed.

 

Is your printer grinding? Bearings squeaking? Motors smoking?
Step 1) Wash your Steel Sheet
Step 2) Return to Step 1...
Posted : 18/03/2020 6:17 pm
nilok
(@nilok)
Estimable Member

 

 

The only risk of frying the EINSY if you plug the wrong cable into the wrong port and send 5V where that 5V shouldn't go.

You sound really excited for your project, and I'm happy for you.....but this isn't quite how circuits and current work......or warranties 😀  Everything has limits.  Just please be careful!!

Is your printer grinding? Bearings squeaking? Motors smoking?
Step 1) Wash your Steel Sheet
Step 2) Return to Step 1...
Posted : 18/03/2020 6:28 pm
nameo0.lsk
(@nameo0-lsk)
Active Member
Posted by: @nilok

This is not a good idea for a number of reasons.  Most importantly, as stated...the Einsy will struggle to keep up with the current demands of a pi3...especially during wifi usage, and since there is minimal protection, will eventually blow.  Additionally, using the pi in this way is a less-than-ideal usage of the pi's capabilities.  This does a pretty good job of summarizing, and will also help you with the commands you're missing for boot:

https://www.raspberrypi.org/documentation/configuration/uart.md

Experiment with it and see for yourself, but I STRONGLY recommend using a separate 2.5A power supply on the Pi.

I guess I didn't make it clear enough or I mentioned it in a convoluted manner in my OG post, but the printer has its own dedicated power source and the Pi has it's own dedicated power source.

 

I am only using the pins for data and not to power the Pi.

 

(@nilok)

Not sure if I was clear. By serial interface I meant USB. GPIO could also be considered a serial interface. Try USB.

I'm thinking to try it over USB but I don't have the USB cable on-hand. But since I need to order some dehumidifiers I might as well tack that USB cable onto the order

 

(@nilok)

In addition to current warnings, please note this specifically:

The mini UART has smaller FIFOs. Combined with the lack of flow control, this makes it more prone to losing characters at higher baudrates. It is also generally less capable than the PL011, mainly due to its baud rate link to the VPU clock speed.

 

 

Then why does Prusa recommend using the W Zero Pi via UART?

 

(@nilok)

The only risk of frying the EINSY if you plug the wrong cable into the wrong port and send 5V where that 5V shouldn't go.

You sound really excited for your project, and I'm happy for you.....but this isn't quite how circuits and current work......or warranties 😀  Everything has limits.  Just please be careful!!

Lol, thanks and I know. I have a degree and profession in engineering. Voiding warranties is my secondary hobby. =P

Posted : 18/03/2020 6:32 pm
Robert-mm200
(@robert-rmm200)
Noble Member

Prusa screwed up that recommendation. Octoprint.org specifically says do not use the Zero.

We tend to differ from Prusa on a few things.

Washing plates with detergent and water, greasing bearings, and use Pi 3B or better for OctoPrint. Among others.

I use a Pi 3B in a case attached to the Mk3S frame. I have a 9" USB Cable that is just perfect. 

This post was modified 7 months ago by Robert-mm200
Posted : 18/03/2020 6:54 pm
nilok
(@nilok)
Estimable Member

I'm in my own camp when it comes to the Zero.....but I've made a living on custom Pis for years.  If the user only wants monitoring, its perfect.  If they want control OR video, it is absolutely workable with custom setup and optimization.  If they want it all, then a 3b+ is the bare minimum to get it working reliably with minimal worry about speed loss and stutters.  I did a quick script to setup fresh builds of octoprint on Buster in another post if you're interested.

You, however, sound like you could look up ESP3D, and most especially a Generic Wemos Mini D1....and have a blast.  It was what helped me to learn the ins and outs of communication/control and how things work in 3D land.  Super fun, easy to TX/RX with a 3.3 Zener and some cable.

This post was modified 7 months ago 2 times by nilok
Is your printer grinding? Bearings squeaking? Motors smoking?
Step 1) Wash your Steel Sheet
Step 2) Return to Step 1...
Posted : 18/03/2020 7:06 pm
nilok
(@nilok)
Estimable Member

To clarify, there are only 2 UARTS on the PI3 and the Zero.  A "good one" and a "passable one".  When you strain the Pi, the mini UART struggles since it is tied to the clock speed of the VPU.  This basically means that you get to choose between reliable communication between the printer and the pi for prints - or reliable communication with the wifi for video and control.  There is no getting around this hardware limitation.  When you work the pi, the mini UART suffers.  That is in addition to the following:

The particular deficiencies of the mini UART compared to the PL011 are :

  • No break detection
  • No framing errors detection
  • No parity bit
  • No receive timeout interrupt
  • No DCD, DSR, DTR or RI signals

 

This is why the pi3b+ works so much better than even the pi3B.  If you really really want to get into optimization, you can also look into:

https://www.raspberrypi.org/documentation/configuration/device-tree.md

Is your printer grinding? Bearings squeaking? Motors smoking?
Step 1) Wash your Steel Sheet
Step 2) Return to Step 1...
Posted : 18/03/2020 7:38 pm
nameo0.lsk
(@nameo0-lsk)
Active Member

Fixed with a slight kink that I can work out on Octoprint's forum if it bothers me enough, which it will and there will definitely be a post. =P

The step-by-stepish solution to anyone that survives COVID-19/SARS2/Wuhan virus/whatever else it's called by and won't have anyone alive that can respond to their inquiries:

  1. My setup
    1. Raspberry Pi 3b+ (Running Rasbian with Octoprint installed, this is not OctoPi)
      1. Directly powered from the wall with it's own dedicated power source (note, the Pi doesn't get power from the printer)
    2. Prusa i3 mk3
      1. Directly powered from the wall with it's own dedicated power source that it doesn't share with anyone/anything
    3. Some DuPont M/F wires
  2. Followed these instructions to do a headless setup (no keyboard/mouse and no screen). I did have to use a ethernet cable since wifi was disabled initially.
  3. Followed these instructions to setup OctoPrint on the Pi
  4. Followed this wiring schematic from this link to connect the Pi to my Prusa through UART/GPIO
    1. NOTE!!!!!!! Do not use the 5V port, but DO use the GND along with the other four (4) ports. I'm not using the 5V port since I have already power coming in through a USB cable.
      1. Some people get away with using the EINSY board to power their giant Pi's (anything larger than the W Zero pi) but you could end up with headaches.
  5. You should be golden now, but I'm not. My Octoprint won't connect unless I set the baudrate to AUTO every single time. If I predefine the baudrate at 115200, my printer won't connect and so I'm off to the OctoPrint forums.

Fun bonus website that I also used for reference even though it is for a Zero W Pi. Click their links to get further in-depth info.

Tl;dr, Adding the ground cable connection made the printer talk to my pi.

So long an thanks for all the fish!

This post was modified 7 months ago by nameo0.lsk
Posted : 18/03/2020 11:47 pm
nilok
(@nilok)
Estimable Member

The answer to your baudrate problem is in the first article I linked!!  Also, see my octoprint post and github if you'd like to use a small systemd file instead of init scripts in Raspbian.

 

glad things worked out - have fun!!

Is your printer grinding? Bearings squeaking? Motors smoking?
Step 1) Wash your Steel Sheet
Step 2) Return to Step 1...
Posted : 19/03/2020 3:48 am
Sembazuru
(@sembazuru)
Prominent Member
Posted by: @nameo0-lsk

...Snip...

I guess I didn't make it clear enough or I mentioned it in a convoluted manner in my OG post, but the printer has its own dedicated power source and the Pi has it's own dedicated power source.

 

I am only using the pins for data and not to power the Pi.

...Snip...

Ok, I need to ask just to make sure. You say each have their own power supplies, but did you connect the GND between the RPi and the Einsy in addition to the data lines? If the two don't share a common GND reference, they won't be able to mutually make sense of the levels on the data lines.

See my (limited) designs on:
PrusaPrinters - https://www.prusaprinters.org/social/1448-sembazuru/prints
Thingiverse - https://www.thingiverse.com/Sembazuru/designs...
Posted : 19/03/2020 5:09 am
towlerg
(@towlerg)
Honorable Member

@nameo0-lsk

"There is nothing wrong with using USB. Personally, I don't want to have the accesories I attach via USB to overload the USB bus bandwidth and mess up my prints. That is why I would like to use the UART/GPIO method and keep my print commands off of the USB bus." Not sure why you feel there is more bandwidth async vs USB?

If you worry about Octoprint causing problems with prints you have the option to load Gcode files direct to onboard SD.

Posted : 19/03/2020 2:42 pm
Robert-mm200
(@robert-rmm200)
Noble Member

If you don't want to absolutely hate OctoPrint - don't use it to send files to the SD card.

Smoke signals have a better baud rate.

Posted : 19/03/2020 4:20 pm
nilok
(@nilok)
Estimable Member
Posted by: @robert-rmm200

If you don't want to absolutely hate OctoPrint - don't use it to send files to the SD card.

Smoke signals have a better baud rate.

This!!!!  This sent me down a rabbit hole I still haven't climbed out of.  I ended up ordering a second printer just to continue working on it....and still being able to print.  Stick to sneakernet for SD prints.....its waaaaaaaaaay cheaper.

Is your printer grinding? Bearings squeaking? Motors smoking?
Step 1) Wash your Steel Sheet
Step 2) Return to Step 1...
Posted : 19/03/2020 4:42 pm
Share:

Please Login or Register