Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] a way to upload from Cura to esp3d? #522

Closed
kad opened this issue Nov 8, 2020 · 9 comments
Closed

[Question] a way to upload from Cura to esp3d? #522

kad opened this issue Nov 8, 2020 · 9 comments

Comments

@kad
Copy link

kad commented Nov 8, 2020

I'm trying to understand, is there any way to use ESP3D somehow similarly to OctoPrint together with Cura?
I have no problems of compiling, flashing, configuring, connecting over, execute commands in WebUI... all of this is trivial.

But missing the final link: how to point cura that gcode file can be sent to ESP3D that will put it on some storage (onboard or TFT) and start printing that file. Really like octoprint experience: "Slice" button then -> "Upload to octoprint and print" button.

And unfortunately in all piles of videos/wiki/FAQ that I can google about esp3d it is all about "dummies guide on how to compile/install esp3d".

@kad kad added the question label Nov 8, 2020
@github-actions
Copy link

github-actions bot commented Nov 8, 2020

Thank your for submiting, please be sure you followed template or your issue may be dismissed. if you deleted the template it is here

@luc-github
Copy link
Owner

From general point of view:
currently I do not think there is a way to upload from esp3d to TFT SD - at least I am not aware of it
for printer board sd upload - which if you use serial communication is slow like hell - you can use something like curl to upload in ESP3D 2.1 but authentication is not supported by this way
something like : curl -i -X POST -H "Content-Type: multipart/form-data" -F "[email protected]" http://mysuperserver/upload

streaming gcode is also possible but I do not really recommend due to wifi latency and wifi communication delay that would bring some blobs.

A comment about same : #275

About Cura:
There is no native support of cura communication protocol (I do not use cura, so I cannot comment on possibilities, sorry), you may add a pluggin on cura side to support TCP communication or to post the gcode to esp3d

There are some under going actions to add slicer in esp3d ui, but so far nothing available yet : #475

@kad
Copy link
Author

kad commented Nov 9, 2020

Thanks @luc-github

So, if transferring files from slicers to storage on the printer is not really a good option due to 115k serial line between esp3d and printer, sending command-by-command gcode from external entity to "orchestrate" printing is also not good idea, due to possible disconnects/latencies of wifi... that means that esp3d both serial-over-tcp and web ui can be used only for few things:

  • do some small movements
  • convenient terminal to send commands to printer
  • monitor current state (e.g. temperatures)

Anything else it can be used for?

For Cura: my question is not particularly in Cura per se, but about generic workflow:

  1. load model into slicer
  2. slice
  3. from slicer transfer to entity that will orchestrate print
  4. start execution of prepared gcode (print).

For step 3, classical mechanism is to save on card manually, then move that card to printer, and step 4 is "print from SD" on the printer.

With Cura/Prusa Slicer integration with OctoPrint, step 3 is just click a button of "send gcode to OctoPrint and start printing". Step 4 is executed by OctoPrint by communicating with printer over serial port.

So, rephrased question: is there are any combination of software that can use esp3d for similar steps 3 and 4, like it is currently implemented with OctoPrint?

@luc-github
Copy link
Owner

luc-github commented Nov 9, 2020

all depend on how you use esp3d and on what
if used on boards that allow direct SD access you can do file upload (Azteeg wifi / wifi back pack / ESP32 based printer board)

If only connected by serial currently it is for monitoring / control printer - if associated with wifi SD card, upload speed is solved

ESP3D works on 1$ chip, so of course you cannot expect it will be as powerful as octoprint that use PI board and linux, but for basic features it do the job IMHO

I do not use octoprint so I will not be able to answer in detail for workflow - but ESP3D and ESP3D-WebUI are opensource projects so any contribution is welcome to make things possible ^_^

@kad
Copy link
Author

kad commented Nov 9, 2020

@luc-github thanks for your project, I understand limitations of the ESP platforms, just trying to understand on where potential limits of your project are.

So, assuming that if I use e.g. wemos d1 (esp8266) board with microSD shield (so, the storage is local to esp3d), or some esp32 board with has microSD card, will it be able to "orchestrate" print over serial connection to the printer from uploaded gcode?

If yes, then it will be different story on thinking how to adopt "octoprint-like" workflow with that setup.

@luc-github
Copy link
Owner

to host GCODE on esp board sd and serve it to printer chich does not have access to it - the esp3d need a GCODE host stream capability which is planned but not ready yet : #243

Also it should be hosted on esp32 dual core, not esp8266/esp32 single core, due to performance issue doing constant serial streaming and handling the wifi in parallele

@kad
Copy link
Author

kad commented Nov 9, 2020

Ok, understood. Thank you @luc-github

@kad kad closed this as completed Nov 9, 2020
@luc-github
Copy link
Owner

@kad in addition there is this FYR #523

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants