Replies: 5 comments
-
Nice feedback - I already had discussion about sand table but none looked as nice as yours and none are so polished as https://sandify.org/ I have started by 3d printing UI and the GRBL part is still under definition : #144, so you are free to join this discussion also about features to add:
That said, everything is question of compromise, sand table GCODE are pretty light I guess compare to other activities, because they limited to X Y movements, and so preview done by SVG could be also light which make the preview more easy to handle. Embedded the svg in GCODE is elegant when the system can handle it - but it would need to load the full file in webUI (which will consume mcu time to stream full file) when weeneed a small part, or a rewrite of FW to stream only the preview
I have considered to split 3DPrinting and GRBL for webUI to give flexibility in UI and avoid side effect of handling each part request side effects, so I am definitly not against adding a 3rd UI dedicated to sand tables |
Beta Was this translation helpful? Give feedback.
-
Thank you for the thorough response. I really have to change my thinking into something for the esp instead of the PC focused work I normally do. Regarding image previews.
The part of the gcode that has the thumbnail is 42kB in the prusa format. It is clearly compressed, and it includes a 16x16 thumbnail and a 220x124 thumbnail. Octoprint serves it to the browser as a separate image (it is a PNG and only 29kB, somehow, maybe because it isn't completely human readable characters?). 16x16 part:
I think it would be worth experimenting with these constraints:
|
Beta Was this translation helpful? Give feedback.
-
Regarding playlists. That is a good point. I could imagine some tricks where the GUI could store and recall playlist information on the firmware's storage, and then generate some gcode file to play when someone plays a playlist. But it really should be the firmware who is in control of playing the playlist. Regarding reverse/erase. You're right. |
Beta Was this translation helpful? Give feedback.
-
Regarding CNC vs 3DP vs Sand UIs, I think that makes sense. I am curious how combined they will be. I haven't really dug into the code to see what kind of infrastructure you're developing, and where they would share or not share. I'll definitely hop over to the CNC discussion and add some comments. I would think Bart would have a lot of good advice too. I read through the #94, and I am excited for this new look and structure. It definitely feels a lot more modern and clear. |
Beta Was this translation helpful? Give feedback.
-
One note about preview feature - there is a major need : the esp board must have direct access to sd card and files which is not the case if esp is only connected by serial to printer / cnc WebUI do not use cdn because it must work in AP mode (no internet access) The current UI 3.0 everything in dashboard panel is GRBL or 3D or sanfly specific - the notification area is also specific, only settings (Wifi / webUI) part is common and even webui settings has custom area according target : 3d printing or grbl Even Grbl UI I would like to allow to have 2 UI: CNC and Laser even each on is should be customizable they should be |
Beta Was this translation helpful? Give feedback.
-
Hi,
Some background
I use this UI with grbl_esp32 and I really like the simplicity of having it not be connected to a pi.
There is a type of machine for drawing patterns in the sand using a magnet pulling a marble. Some examples are the ZenXY by V1Engineering or the Sisyphus industries tables. The SI tables have a pi and a controller already. I have one of those, and I also have a zenxy table that is corexy, running grbl_esp32.
Here is my latest table
I made a website (sandify.org) to make it easier to create patterns for these machines and it makes simple gcode that can be ran on grbl or marlin machines (it is easy because there is no pen-up or Z 😄 ). I am not a javascript dev, I make money working in C++, but I have fumbled through enough with react-bootstrap to have a pretty functional site (and I have some great contributors).
There is a gcode sending solution running on a pi called "sandipy" (not sandify) that is python based. It has a lot of potential, but I really like putting everything in the ESP.
https://github.com/texx00/sandypi
The discussion
What I'm interested in is a front end that is focused on this application. I use the ESP3D-WEBUI on my machine and it works great, but I am an engineer :). My family doesn't really appreciate it, or feel comfortable using it.
Some of the work is just collapsing or disabling some of the controls (even the jog doesn't really make much sense to a calm machine that rolls a marble):
These parts are very useful:
I would really like to add:
SD Card Preview
I have control over sandify. It is easy to create a similarly named .svg file (and optimize it for viewing in small resolution), which the user could upload. Then either the SD card list could show all the images, or there could be a little image button to see a preview before clicking go.
The Prusa slicer can embed an image in the gcode, and there is a plugin for octoprint to display them. I think the server recognizes that image, and creates a separate file immediately on upload. This would be a cool feature to add to sandify (so it would work with similar hardware or octorpint) and it could be useful for ESP3D-WEBUI too, for people using prusa-slicer. I have no idea what kind of software is needed to decode them (but it doesn't look like it is a secret).
It is also possible to consume the gcode, in javascript, and produce an image preview (for sand patterns, at least, where there is no workpiece, no extrusion, and one layer). If you look at the sandify.org website, you can see what I mean. I am using konva, but svg is also possible. We could make the upload function also create a thumbnail preprocessed on the client before adding it in a special location.
What to do next?
I haven't even tried to grub package the code yet. I see some changes in #94, and I am not sure how much is different in the grbl_ESP32 version by Bart Dring (which I am currently using).
I will not lie to you, I have limited time and I have too many projects already. But I am interested in cracking this nut to see what's inside. It might be easier for me to focus on one part or another (sd card image previews, or playlist functionality) and just wait for the #94 changes. I am also keenly aware of the maintenance costs on a public open source project. I would really like to stay as close to main as possible, but I know you won't break this excellent product for a small fraction of users.
Failure is always an option :) . So is a "no".
What do you think about this? All I am asking for now is a discussion about the challenges, and where this lines up with the other goals you(all) have. I have a lot to read and I want to do some tests on my desk too. I am fully aware you owe me nothing :) and I am sure I owe you since I have been using this for probably 2 years already.
Thank you! 👍 🍻
Beta Was this translation helpful? Give feedback.
All reactions