snapmaker / snapmaker2-controller Goto Github PK
View Code? Open in Web Editor NEWSnapmaker2-Controller is the firmware for Snapmaker 2.0 3-in-1 3D Printers.
License: GNU General Public License v3.0
Snapmaker2-Controller is the firmware for Snapmaker 2.0 3-in-1 3D Printers.
License: GNU General Public License v3.0
Issue from Snapmaker/Luban#287
If a minimum speed close to 0 is accepted, the machine will never reach target point and thus the G-code never ends.
Feature Request: Display MAC address on Snapmaker2.0 touch screen controller
In my home, all of the WI-FI wireless LAN environments have MAC address restrictions in place, and you can't connect to the LAN without registering your MAC address.
However, the current Snapmaker 2.0 touch screen does not display the MAC address, and there is no way to fix this except to figure it out via the wireless LAN router.
In some cases, I believe that some models cannot even be referenced from the wireless LAN router.
We would like to suggest this as a feature request, as schools and companies often have MAC address connection restrictions in place.
A new release of the firmware is published and was announced on the forum: https://forum.snapmaker.com/t/snapmaker-2-0-firmware-updates-and-downloads/5443/12 (maybe through other ways like facebook too but I don't have a facebook account).
But it would be nice if the github releases also lists these. Just like how it's done for Luban. Then in the announcements a full list of improvements & changes can easily be generated or referenced through the issue numbers.
Now there are some nice features not highlighted (like the power domain management that could be used to allow switching tool heads while the machine is powered on etc.)
I know this spans the controller repo; the modules and the unreleased code for the touch screen. But now it's impossible to know up till which commit is included in the public release. (For example, is the power domain change I mention actually included or not? I would have to test & reverse engineer).
At least adding a tag marking the release would be a good idea.
Issue from Snapmaker/Luban#484
Please consider a process improvement to cycle step motors down (turn off) after X amount of time (20 minutes?). Require a re-home before another action in case minor movements have occurred. This will help increase the longevity of the steppers.
Not certain this is firmware rather than hardware, but if it is firmware:
Disconnecting a tool head from the power bus causes the enclosure LED lighting to turn off, and it cannot be turned on until a tool head is attached to power.
This makes changing tool head inside the enclosure MUCH more awkward, as lighting would be incredibly helpful in this specific case!
I am not a github person so forgive me.
So, the jog screen on the snapmaker 2 that you can use to move the table, load filament and what have you has some bad verbiage
The screen says "z offset" here, but this is not z-offset at all. it is z elevation adjustment in a jog screen environment.
People on the forum are getting confused about adjusting their z offset and expecting this adjustment to save to their print jobs.
Please add clarity to this.
Issue from Snapmaker/Luban#249
The main cause is the execution of pause / stop action is wait till G-code replied.
By switching to FreeRTOS now, we can implement interruptible pause / stop action.
Request: Can you please give the option not to automatically set the nozzle and bed temperature to 0°C, if you start auto bed level calibration directly from the maschine.
Background: The bed does bent, if you heat it up to 85°C by about 300-400µm to the outer compared to room temperature. This makes a big difference in printing adhesion, especially with object with a big footprint.
I lost about 1kg of ABS and 2 working days, until I found the reason for the problems with adhesion, although I have tried a lot of variants with auto bed leveling.
Work Around: Connect to the SM2 with Luban and serial port. Then set the nozzle and the bed temperature. If you then start the auto calibration, it will hold the setting and you can do leveling unter printing conditions (heated bed and nozzle). After this procedure my large prints immedeatly where successfull.
Thanks in advance for condisering this request,
jomjol
I run a simple CNC job and wanted to pause work for fixing clamps.
After pressing Pause on touch screen the head went into up position.
When I pressed resume, the drilling bit went back to the correct X-Y coordinate to continue carving.
But for the Z-Coordinate it went down to 0 on the the waste plate. I was lucky that the material was only thin plywood, which simply broke away instead of breaking the bit.
Using SM 2.0 A350, I sent a file to the SM and started the print job on the SM. I then noticed that the LED lights were off and looked at the touch screen to see if I could turn them on. I could not (that is one issue).
I went to the computer and connected to the SM. I turned the lights on. I want to ALWAYS see the status of the print job on the touch screen and clicked disconnect on the computer. I went to the SM and clicked disconnect. It would not disconnect. I noticed the bed and the nozzle temps were not ready to print yet. I then went back to the SM and it stated that if I disconnected the print job would be cancelled. ??? The job started on the SM. That should not happen. I attempted to click on confirm (to disconnect on the SM). After a few minutes the touch screen showed this error message... FabScreen keeps stopping. I clicked below the error message that stated to close the app and it restarted.
This was repeatable 3 times.
Posted at
https://forum.snapmaker.com/t/is-automatic-level-compensation-working-properly/12386
I'm using 5x5 for automatic level compensation, but there are places where the filament cannot fixate to the bed.
The left side has no filament fixation.
Please increase the detection points for automatic level compensation.
The thread above states that it can be increased to 11x11.
Also, some people seem to have achieved 21x21.
I would like the automatic level correction to detect every corner of the bed. The current feature does not detect the edge of the bed.
I don't need the swirls displayed on the touch screen to show position.
If there is a numerical progress indicator, there is no problem.
The current situation is that printing sometimes fails, and I am very annoyed.
Please help me.
Would be great to have the ability to setup notifications via email or push messages.
so you can send notifications when:
SM2 will stop on M600, but it won't resume because this function has not been implemented.
Reference: @ITmaze
Source: ITmaze/snapmaker-firmware#2
I'd love a new mode to be added to Luban that enables the use of Snapmaker Original / 2.0 as a pen plotter. Ideally without having to keep a work module installed/connected (Laser or CNC module).
Within the new Pen Plotter mode, you'd be able to generate gcode similar to the Laser engraving mode, and adjust settings, like whether or not a pencil is being using and how fast to press down on the Z axis as it writes. Other settings may also be helpful.
I'm not sure if this would require a firmware update to the Snapmaker Original for this functionality to be supported.
I'd love to hear from others on the interest of this new mode, and any additional settings or features that might need to be considered.
Thanks!
Hi, Edwin mailed me that i should post this here.
I have the problem that when i shut the printer down and start it up again the next day my calibration is gone. All is set to the default 9.00 . I allready got a replacement controller and print head. But it keeps resetting to default.
When i am in the console function over the com port and do a M501 it recalls all the calibration and after a M500 it will run fine. But it doesn't load it automatically. Any idea what causes this? My gues it is in the touchscreen as that is the only thing left with some ai brain in it.
Regards,
Nand
I keep having issues where I'm going to have a crash, or did and I hit the stop button to no avail, only to have to use the main power button.
It seems that the stop on the controller just sends the gcode stop command but must wait until the current operation is finished.
If I'm pressing stop, I don't want to stop when the machine is done running across the work platform. I'd like it stopped immediately.
Thanks!
This is a duplicated issue in Luban repo (Snapmaker/Luban#248) from @tonejaco.
For doing multi-color prints and other such custom things it would be good to have the "Pause" feature of the Touch Screen accessible thru a GCODE call. M600? Perhaps all that is needed is the correct syntax for executing it.
When Wifi connection is requested from Luban during 3D printing, a screen asking whether to start initializing the position appears on the Luban screen.
When a file is transferred via Wifi during 3D printing, a screen asking whether to start printing is displayed on the touch panel.
Therefore, it is not possible to transfer the print file as a preparation for the next operation.
There were times when the printer froze at the above two timings.
When I finish printing, I transfer the next print file via Wifi, and when I go to the printer, the screen shows the confirmation screen to start printing.
The filament cannot be replaced and the printer has to be restarted.
The file transfer via Wifi is triggering the touch screen to show the start of printing. This is very inconvenient and should be removed.
I've encountered several times this issue:
Since zero cannot ever be reached (because room temperature is much higher than that, my bed might have around 20 degrees C even when not heated), nothing happens until I power-cycle the machine.
Hello,
First of all, thank you for your great work!
An important improvement would be to have the possibility to do the leveling manually and especially with more points than auto-leveling.
Indeed, a lot of local leveling problems could be avoided with this technique, for example, I level my other machines (CNC and 3D printer) with a comparator and the precision is unequalled! It is within everyone's reach a comparator costs around 20€/$. But I haven't found any way to do this with the Snapmaker 2.0. However, my comparator tells me that it would be necessary.
This feature would be as important for 3D printing as it is for CNC mode, indeed this week I wanted to engrave PCBs in Engraving and accurate leveling is very important in this case, otherwise the near tracks won't be correct.
Have a nice day,
Could we get an option in the Snapmaker to invert the X axis module? It would really help with moving the control module to the other side of the printer and keep the cables away from the Enclosure door.
Feature Request & Safety Measures
Hello!
I was setting up to prepare for CNC machining.
I was setting up to prepare for CNC machining, and while I was getting used to it because I had done a lot of CNC machining, I ran into a problem.
Because of my large hands and the small size of the touch panel operation, I had to press the wrong button (
I pressed the Go to Work Origin button right next to the Set Work Origin button) and broke the end mill.
If it was only broken, it would be fine, but it would lead to damage to the CNC rotation axis and module as well as the X and Y axes.
In addition, the possibility of injury from the broken end mill cannot be denied, so please adopt this as a safety measure.
Countermeasures
If the origin of the machining center position and Z position is not set on the touch panel (Set Work Origin), the "Go to Work Origin" button cannot be pressed.
Trouble can be prevented by allowing the buttons to be pressed in the order in which the settings are completed.
Start CNC machining settings. 2.
Move XYZ position ("Set Work Origin" button: Enabled "Go to Work Origin" button: Disabled Boundary confirmation button: Disabled) 3.
Determine the machining center position and end mill calibration position. Press the "Set Work Origin" button ("Set Origin" button: enabled, "Go to Work Origin" button: enabled).
Translated with www.DeepL.com/Translator (free version)
Hi, when using the CNC post-processor of FreeCAD you also provide i realised, that arcs G2
and G3
are not supported. I read that your Fusion360 post-processor breaks the arcs into linear moves G1
. What is the temporary approach for me for now as well.
But, why isn't G2-3 supported, as the firmware is based on Marlin, if i understand correctly.
Is there a technical/hardware limitation?
Else it should be more or less one line to enable it: https://marlinfw.org/docs/configuration/configuration.html#g2/g3-arc-support
From what i read it should be activated already (firmware config) but Luban informs it is not supported.
When running the job, the Snapmaker2 gets pretty slow/pauses at the arcs.
Thx in advance 😄
tag me as [Firmware: General Marlin
]
Hello,
I ran into a situation where a pair of axis (z-axis, but I think it could just as well happen with the y-axis) got misaligned.
While using the cnc functionality, I accidentally lowered the bit into the wasteboard. (missing between 10mm and 1mm). No real damage done, but the stepper motors started missing steps because they couldn't push through. As it was more towards one side of the bed than the other, both z-axis modules got misaligned (one was higher than the other)
When homing, it seems they stop as soon as one of them reaches the limit switch. and the misalignment persists. I noticed this during a cnc project.
Workaround: turn the power off, and pull the module completely up realigning the axes at the top. Turning the machine back on and it works again as expected.
I would have expected that when homing the alignment would have been fixed (as both axes move to the end).
proposed solutions: have the axis (z and y) both independently move to the end until they reach the limit swith. Otherwise a user might keep using the unaligned machine for a longer period of time. Putting more stress on the frame and rails and possibly cause problems like missing a layer while 3d printing.
How to reproduce: Run the head of the printer or cnc module into the bed (preferably towards the start or end of the x-axis) and watch the axis get misaligned and not being "fixed" when homing.
A description of the project I was doing is also on the forum:
https://forum.snapmaker.com/t/milling-the-cnc-wasteboard-flat-or-so-i-thought-mis-aligned-z-axis-modules/12513
Cause is clearly a user error, but it would be good if homing would fix this in stead of the manual workaround. I assume I am not the only one who has had this problem
Additional suggestion: include a warning about this in the user manual/troubleshooting guide.
Firmware: 1.10.1
Luban: 3.11.0 (3.12.3 / 3.13.0)
Laptop: MacOS Catalina (10.15)
Router: Asus AC88U
I'm having some problematic connectivity issues.
Connects to the wrong wifi... there's no option in the UI to forget a previous wifi network and because of the challenges I was having I changed to a different wifi network. However, when I restart it connects to the old wifi network.
When connected to wifi the device keeps going unreachable. It claims to be still connected to the wifi (and still prompts to "disconnect" if previously connected to luban) but does not respond to pings (or connection requests from Luban). Or, more confusingly, will respond (ping) to one device but not the other device (e.g. will not respond to a ping from the router but will respond to a ping from my laptop or vice versa).
E.g.:
[I] 08:11 me@laptop ~
[0]# ping 10.0.1.8 08:11:19
PING 10.0.1.8 (10.0.1.8): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
5 mins later with no changes:
[I] 08:16 me@laptop ~
[0]# ping 10.0.1.8 08:16:22
PING 10.0.1.8 (10.0.1.8): 56 data bytes
64 bytes from 10.0.1.8: icmp_seq=0 ttl=64 time=229.912 ms
64 bytes from 10.0.1.8: icmp_seq=1 ttl=64 time=46.247 ms
64 bytes from 10.0.1.8: icmp_seq=2 ttl=64 time=84.399 ms
Note: these are extremely long ping times, and also the same when pinging from the router:
admin@RT-AC88U-2280:/# ping 10.0.1.8
PING 10.0.1.8 (10.0.1.8): 56 data bytes
64 bytes from 10.0.1.8: seq=0 ttl=64 time=65.940 ms
64 bytes from 10.0.1.8: seq=1 ttl=64 time=88.947 ms
64 bytes from 10.0.1.8: seq=2 ttl=64 time=111.269 ms
64 bytes from 10.0.1.8: seq=3 ttl=64 time=159.139 ms
And then some random time in the future it will stop responding to pings and luban disconnects. Sometime later it will start to respond to pings again. And the cycle repeats.
Request timeout for icmp_seq 45
ping: sendto: Host is down
Request timeout for icmp_seq 46
ping: sendto: Host is down
Request timeout for icmp_seq 47
ping: sendto: Host is down
Request timeout for icmp_seq 48
Request timeout for icmp_seq 49
64 bytes from 10.0.1.8: icmp_seq=50 ttl=64 time=19.050 ms
64 bytes from 10.0.1.8: icmp_seq=51 ttl=64 time=41.959 ms
64 bytes from 10.0.1.8: icmp_seq=52 ttl=64 time=66.361 ms
64 bytes from 10.0.1.8: icmp_seq=53 ttl=64 time=186.642 ms
64 bytes from 10.0.1.8: icmp_seq=54 ttl=64 time=103.617 ms
Because of this it seems to be very problematic to "discover" so I've had to downgrade to Luban 3.11 in order to be able to manually connect and not get a blank screen (Snapmaker/Luban#640)
Is it possible to add on the info page, or in a new maintenance page, of the touchscreen the total working hours of the machine? I think it will be very useful if we could have the n. of the hours the machine worked (printing, CNC, laser…) so that we can see if some maintenance is needed or not.
Also a reset button will be fine so that we could reset after maintenance or cleaning up or…
What do you think?
Reference: @Airmonkdev
Source: ITmaze/snapmaker-firmware#1
G26 Mesh Validation Pattern is designed to be used in conjunction with mesh-based leveling to test the accuracy of the probed mesh.
It's currently off in Snapmaker2-Controller.
This is a duplicated issue from Luban repo (Snapmaker/Luban#246).
When the Snapmaker 2.0 detects the filament runout by the sensor going open could it send a message out the serial port so Octoprint could detect it? If it sent "echo:busy: paused for user" then the plugin called "OctoPrint-PauseForUserEvent" could be used to detect that user intervention is required.
I saw we can pause a 3D Print job from the touch screen and resume later.
When the job is in paused state the module is in home position and we can access and modify some parameters from the touch screen (bed temperature, nozzle temperature ....).
Would it be possible to add the possibility to also change the filament in paused state with the two button ''load/unload"?
This feature will let us change manually the filament color of the printing object just manually pausing the job at the wanted point.
When you start the calibration routine, the z-axis moves down first until a level that is expected to be a bit above the printbed. The bed sensor however is located just behind the the bed and thus can not detect it.
If you are using another type of printbed (let's say you have put it on top of the cnc wasteboard) then it could be too thick and the print head smashes in to the print bed. When the something is detected below the bed sensor it halts as expected.
See the location on start of callibration:
I would suggest to move towards the first position by moving X&Y first and only then Z. That would prevent this problem completely.
It would be amazing to be able to reconnect to the controller without needing to hit yes on the display.
As a avid android developer (having worked on BSP for mobile phones and other devices) I'd love to be able to tweak and play with the android version running on the touch screen. In other words, if possible, please share repo for building android for the HMI 😄
Thanks
Having the Snapmaker 2 being able to connect to our computers through WiFi is very nice, but it turns into a pain for people who’s computer are a ways away from their printer. I feel there should be a trusted computer feature so you still have the security of verification on outside computer, but for you, you can access it much easier.
Tried with USB connection. Just says "OK"
If it wasn't intended to work, then it should be removed from the help list.
Issue from Snapmaker/Luban#270
I had stock firmware before updating to the latest Snapmaker2_V1.11.4 114
https://forum.snapmaker.com/t/snapmaker-2-0-firmware-updates-and-downloads/5443/12?u=tamer1an
Machine always connected to the same WiFi that was active before shutdown
After wake up it was connected to the same WiFI network again
After Power On machine often connecting to the network that was used on initial unboxing stage or stays not connected to WiFI at all and I have to type a complex password every time and there is no forget WiFi network option
Steps to reproduce
At this point the controller crashed with the error “fabscreen has stopped”. After recovering, the files I had uploaded appeared to be missing. I cycled power and found that the files were still there.
ref forum thread: https://forum.snapmaker.com/t/fabscreen-has-stopped-error-after-attempting-to-run-boundary-in-cnc-mode/13440
Note that the job mills ok. Only boundary run is crashing. Gcode has been uploaded to forum.
Occassionally when running multiple jobs, or cancelling a job and starting a new one, the Auto material thickness will set the origin to the wrong location.
The correct calculated initial work origin is the middle of the bed at the laser focal length. I have had incorrect locations include the maximum Z as the Z height, X max, a Z=97 once, and a few of other incorrect locations.
I found a workaround. When starting a job, go to manual, save origin, then back to auto and continue, it will recalculate the correct work origin.
With Luban connected over Wifi, if I issue a command like M501 the response is not shown in Luban. Supposedly if you connect over USB it would show, I haven't tested that.
The wireless network I use has a captive portal meaning I cannot connect to the machine. This combined with wpa2-enterprise would make it a lot nicer for ease of use.
I just clicked start on a job by accident. The door is open so it wouldn't start anyway, but the controller will not let me cancel the job now, which is awkward and inefficient. I will close the door and then cancel the job but there should just be a way to cancel the job from this screen.
every time attempting M303 the controller get stuck in a loop that only solved by powering off the machine.
tried both via WiFi and via Serial connection..
always getting same error of thermal runaway error :
"Error: Heating failed, system stopped! Heater_ID: 0 - thermal run away of hotend!"
(true - actual temperature doesn't go up)
*also tried with the recent firmware V1.11.4
Add the capability to start a print using Luban, but having the status of the print job showing on the Snapmaker touch screen. My computer room is far from the printer and I don't stay in there unless I am actively using the computer. My Snapmaker is in my game room which I can see from the kitchen and the living room, so the status of the print job is very important to me to be on the touch screen. This may need to be addressed in both the software forum and the firmware forum.
3D printing is the most important aspect of this request, although it could also be used for Laser and CNC, with the expectation that the user (me) knows the paths are clear on the workspace and safe. I always have the Snapmaker 2.0 A350 ready to print before sending any file to it with the enclosure ready as well.
This is a duplicated issue from Luban repo (Snapmaker/Luban#247).
Please add an optional setting that turns on enclosure light by default during startup from power on.
issue from Snapmaker/Luban#268 by @tonejaco.
I find the large interpolated version of the matrix a BIG distraction. :-)
With Snapmaker 2, Firmware V1.10.1_20200822, i run regularly into the situation, where a print job is started, but temperatures are set to 0 after a few seconds. (G code is generated by either Luban v3.12.3 or v3.13.1)
Steps to reproduce:
The only way to persuade SM2 to start another print I've seen so far is to powercycle the whole machine.
Does anybody else have this issue as well?
Feature Request: About Laser Image Capture
If you have a private LAN connection to Snapmaker 2.0 via WI-FI, Luban can capture images using the camera on the laser unit.
However, when connected to the Snapmaker 2.0 control unit via USB COM1/COM2, the button to use capture with the camera on the laser unit is not visible.
This is a very unfair situation for users who do not (or cannot) connect in a WI-FI environment.
That is, in the case of WI-FI connections, this feature is not available in network environments with MAC address restrictions (e.g. universities, companies, home LANs like mine, etc.).
You can use the countermeasure for MAC address restriction that I raised earlier or
#23
It is necessary to enable laser camera capture regardless of USB COM connection or WI-FI connection.
Please address this issue as the feature that should be available is not available due to Snapmaker.
The enabled flag is never assigned. The default value is true, thus the door event is always processed and door detection cannot be disabled. I suspect it is meant to be assigned in the Enable and Disable methods.
Issue from Luban repo (Snapmaker/Luban#251).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.