ESP3D icon indicating copy to clipboard operation
ESP3D copied to clipboard

[Question] How to print over WiFi from Ultimaker Cura

Open piotr-go opened this issue 1 year ago • 6 comments

I have:

  • Ender 3 Pro printer with SKR mini E3 v1.2 board (Marlin 2.1.x)
  • ESP32-S3 (or S2) module with ESP3D v3 FW, connected over uart to ender, two way communication is working

How to set Ultimaker Cura 4 (best 3d print results i have) in linux to print over WiFi?

piotr-go avatar Oct 16 '24 14:10 piotr-go

Streaming over WiFi can be challenging due to network latency even with strong network. About cura, I think it has a pluggin for network connection but I do not remember name sorry

luc-github avatar Oct 17 '24 00:10 luc-github

Couldn't the transfer be buffered? 2MB is plenty.

As an experiment, I started writing my own print server.

piotr-go avatar Oct 17 '24 19:10 piotr-go

Couldn't the transfer be buffered? 2MB is plenty.

I am not sure to understand , buffering should be either in Printer Firmware, either in streaminng host that do buffered streaming ESP3D is just a bridge it can not do buffering unless it become itself a streaming host

As an experiment, I started writing my own print server.

Good that is nice project - you will see that is no so easy to do proper gcode streaming, it is really a full project on its own actually

luc-github avatar Oct 18 '24 00:10 luc-github

buffering should be either in Printer Firmware

That would be the best, but the printer buffer is small.

Good that is nice project - you will see that is no so easy to do proper gcode streaming, it is really a full project on its own actually

Printing is already partially working. It doesn't seem to be slower than printing from SD (I'll measure the time when I fix everything). Unfortunately, printing stops halfway through. I need to find a bug in the code.

piotr-go avatar Oct 18 '24 07:10 piotr-go

in ESP3D-TFT the slowest part is the circle, many small movement, other scommands are ok for the speed I think

Does your sender do also Temperature / Position monitoring when streaming ?

Also does it handle heating / busy / processing messages that block all incoming commands ? as well as out of filament message ?

What language do you use ?

Sorry many questions but I am curious 😅

luc-github avatar Oct 18 '24 07:10 luc-github

Does your sender do also Temperature / Position monitoring when streaming ?

Sends all responses to PC, but they are ignored for now.

Also does it handle heating / busy / processing messages that block all incoming commands ?

I calculate the printer buffer level based on "ok" responses and try to fill it to the maximum.

as well as out of filament message ?

Errors and unknown commands not yet supported. Work in progress.

What language do you use ?

C

I'm currently working on printing from a file. Web gui file upload based on esp-idf example already working.

3333333333dddddddddd

piotr-go avatar Oct 18 '24 10:10 piotr-go

Success. I printed from SD card connected to ESP32-S3.

~32MB file printing time:

  • from printer card: 6h25m +-1m.
  • from ESP32 card: 6h25m +-1m.

No difference in print quality.

P1010014 File: a sample from Ender 3 Pro card. Filament: 5 year old white (no idea what type, no label), also sample.

ESP32 to printer transfer baud rate: 115200bps. WiFi download speed: ~410kB (sorry, upload not measured). Aaaaaa, card connected over SPI.

piotr-go avatar Oct 20 '24 07:10 piotr-go

do you plan to share your code ?

luc-github avatar Oct 21 '24 04:10 luc-github

Probably yes. But it will take couple weeks. I designed and ordered new PCB. For the prototype I used my internet radio ESP32-S3-MINI PCB. Final version (i hope :)) will be based on ESP32-C3-WROOM (less pain in the ass to solder).

Prototype: foto_001 C3-WROOM: c3_wroom

USB for programming, µSD, 2*UART, I2C, power connector, button, LED.

piotr-go avatar Oct 21 '24 07:10 piotr-go

Hmmm I would not recommend a mono core for streaming because any wifi request will bring delay in streaming process so better core 0 for wifi and network service and core 1 for streaming , just my 2 cents

luc-github avatar Oct 21 '24 08:10 luc-github

Final version will probably have only wifi upload and stream from card. At least that is the goal of this project.

piotr-go avatar Oct 21 '24 08:10 piotr-go

so not streaming progression information neither printer status monitoring ?

luc-github avatar Oct 21 '24 09:10 luc-github

Print progress is available on LCD and will be available in web gui.

piotr-go avatar Oct 21 '24 10:10 piotr-go

Print progress is available on LCD and will be available in web gui.

Sorry I am confused because you wrote:

,>Final version will probably have only wifi upload and stream from card. At least that is the goal of this project.

fyi just loading webui may bring delay on mono core

luc-github avatar Oct 21 '24 10:10 luc-github

I can set high priority for the print thread. I am happy with just sending file over wifi + starting printing. This is already big improvement. If wifi print status does not work on a single core, I will not be hugely disappointed.

piotr-go avatar Oct 21 '24 10:10 piotr-go

Ok - I close issue then

luc-github avatar Oct 21 '24 10:10 luc-github

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[bot] avatar Nov 01 '24 00:11 github-actions[bot]