Top 10 useful G-Code commands for 3D Printing
Вставка
- Опубліковано 2 чер 2024
- A big thanks to Micro Center for sponsoring this video!
New Customer Exclusive - Get the Creality Ender 3 Pro 3D Printer for $99: micro.center/pd3
Check out Micro Center’s Inland Filament: micro.center/8ti
Shop Micro Center’s Monitor Madness Deals: micro.center/gsf
Visit Micro Center’s Community Page: micro.center/06f566
The Ultimate Book of 3D Printing Tips and Tricks (FDM/FFF) - www.makersmuse.com/3dprinting...
Join the Maker's Muse Community - www.makersmuse.com/maker-s-mu...
3D Printing Quick Start Guide - www.makersmuse.com/fdm-fff-3d...
3D Printer Buyers Guide - www.makersmuse.com/purchasing...
3D Printing Essentials - www.amazon.com/shop/makersmuse
TIMESTAMPS:
0:00 Intro
0:46 What is G-code?
2:51 How to send G-code to your 3D Printer (over USB serial) using Repetier-Host
5:02 G28 Home Axes
5:56 G1 Linear Move
8:30 M302 Enable / disable cold extrusion prevention
9:45 G92 and M83 (Absolute vs Relative movement commands)
10:42 M92 Set axis steps per unit (usually MM)
11:23 Firmware EEPROM Config in Repetier-Host
11:50 Heating G-code commands
13:18 M303 PID Autotune
15:04 M300 Beep
15:57 M117 Set LCD Message - Наука та технологія
"The number one ocomplaint I hear is that you guys don't have a Micro Center near you"... Well, a new Indianapolis store is still the wrong continent, lol!
I'm in the right continent, but they don't sell to Canada :(
@@Julia________ I feel your pain. Since Brexit, it's easier to order things from China than bother with the EU. Shame really, so many EU companies went "do not ship to Britain" after Brexit. Has improved some, a lot of companies started shipping again, like Prusa!
My only complaint is that I don't have flocks of cockatoos flying through the skies where I live
@@ilajoie3 “hide yo lettuce hide yo wives”
I have one, one state over. I'm still not driving 475 miles (8hrs) to save $30 on a printer...
Knowing a few lines of gcode is super helpful to make the machine do non-printer things too... for example, I needed to clean some small parts so I put them in a small container of cleaning solution on the printer's bed, then wrote a bit of code to heat up the bed and shake it around for a couple hours. Instant agitating hot plate. I also have my printer play a distinctive tone just after it completes waiting for heater temperatures, so I'm warned before it starts moving (I have a bad habit of sticking my fingers in there).
Same, I set a beep after the bed leveling (I do a 4x4 grid) is done, so I can clean up the filament purge if it wanders into the print area, and 3 beeps at the end to signal it's done.
I like your heat/agitation cleaning idea. Another one I thought of is to use the heated bed to precisely warm up a smartphone before attempting to remove the screen, which is glued in. I also used the heated bed to accurately determine the minimum temperature difference that would keep my Kontax low temperature Stirling engine running.
I do an M300 & M0 after heating but before homing. I have an annoying habit of leaving an empty plate of food, a tool or just junk on bed of my printers (all on Octoprint).
I used it to heat up chocolate to melt and then reduce to the exact temp needed for tempering. 3d print a mold, vacuum form the 3d print and then make chocolate bars, chocolate coins, or chocolate Grogu. LOL
How do you loop the commands to move it back and forth?
In prusa slicer, I've set my color change gcode to let me insert nuts, magnets or anything else into a print with the G1 and M0 commands. This little bit of gcode will present the current print as if it were finished for 3 minutes before pulling it back in to complete it. It's very basic, but it works.
G1 X0 Y220 ;Present print for objects to be inserted
M0 S180 ;Resume print after 3 minutes
Never thought of pausing a print to embed something into a part, very cool idea lol
PrusaSlicer actually supports doing this -- pause at a specific layer, and wait until you press the button/knob before continuing. I've used it quite a few times to insert magnets or other "vitamins" into a print partway through.
G4 S180 do the trick also. G4 = Dwell, followed by P for miliseconds and S for seconds how long the machine should wait. The difference between M1 and M0 is that with M1 u can put a condition into the G code telling tha machine if it should care about the M1 or move on (Conditional stop) whilst with M0 the machine will always stop (unconditional stop) However from what I see this does not work on 3D printers, probably because M1 is mostly used with manual programming of CNC machines for test runs to avoid possible tool crashes on the first run and then when u seee the program runs properly u simply disable the condition and the machine will then ignore the M1 command and just continue. Like a debugging breakpoint in general programming. This is obviously not needed on 3D printers as there is no possibility for tool crashes like that and so only M0 is used here. M1 will maybee work as well (although it says deprecated on the Marlin page for M1) but u can I guess not put a stop condition in anywhere and so M1 and M0 will mean exactly the same to Marlin = unconditional stop.
To heat both extruder and bed at the same time, but not proceed until both are up to temperature, use all four temperature commands:
M104 S200 ; start heating the extruder and continue
M140 S60 ; start heating the bed and continue
M109 S200 ; wait for the extruder to reach temp
M190 S60 ; wait for the bed to reach temp
Much more efficient than waiting for one to heat and then the other.
Yeah that's a nice way to do it! I've always wondered if some companies choose not to do it for power draw reasons, or if it's just unoptimized code.
You could maybe calculate the time taken to heat each element, then do the following:
M190 S55; calculated intermediate bed value
M104 S200; start heading extruder and continue
M190 S60; finish heating bed
M140 S200; finish heating extruder
As long as your power supply has enough juice to do it and not trigger thermal runaway protection (which might trip if progress isn't being made fast enough), and if it won't trip a fuse or over current protection in your printer I have noticed that there are definitely better and worse patterns for heating up my old Replicator 2x: I think it heats one thing up part way, heats the other most of the way, then does "heat both the rest of the way"
@@WindyLion That's pretty much what I do, and it's easy to see whether you need to tweak the intermediate set point by looking at the temperature graphs (one of the reasons I love my Octoprint).
@@WindyLion I have my start GCode in Klipper and I'm calculating 90 % of the bed temp for 60 °C and 99.6 % for 100 °C (and linearly between those temperatures - it is good enough). Just after I reach this temp, I start heating nozzle and the rest of the bed temp. This way both heaters are finished almost at the same time.
So fun fact about the beeps. Its built into the firmware on the ender 3 that it just ignores the frequency. I compiled my own firmware from a community made one and it will totally change tones. I have it play the FFX fanfare at the end of prints.
IMPORTANT NOTE FOR ENDER 3! The ender 3 saves firmware changes to the SD card, which includes PID tuning values. If you have multiple sd cards you need to have these changes on all cards, so I just stick with 1 sd card. I had a hell of a time figuring out why my printer kept under extruding after repeatedly calibrating e-steps, and it was because I was swapping sd cards.
Edit: this is for all I know only for the v2 and other models running the same board.
I have multiple sd-cards, but I use git to version control the contents, to keep them all in sync. My process is quite simple...
When I switch to a different card, I pull the changes from it's remote before adding new designs.
After a successful print, I pop the card back into my PC, commit the changes and push the changes back to my remote, so it's up to date for the next time I need to switch cards.
Not only does this mean I have a record of all of my prints, it also means I have a record of how all of my settings are changing, over time.
@@markbooth3066 very interesting, if I ever need multiple sd cards I'll try this.
@Dylan Lasky : I read this and thought "I've never had that problem... what's he talking about!"
Then I realised that I have only ever used the same SD card for my file transfers! 🥴
I don't think a lot of people are aware of this... thanks for the "heads up".
I had the problem that the I only inserted the SD card that came with my printer into my printer twice (enough time to run the benchy) before it died, and I lost everything on it. As I hadn't even considered this as a risk, I hadn't backed up the card before doing anything with it. This made me rather more paranoid about my printer SD cards than I might otherwise be. *8')
Do you use Cura slicer?! I've been swapping and using random memory cards for years with no issues!
Another really useful gcode command is M0 (wait for user)... Waits for user to press confirm button on printer. It is very useful for scripts and after pre-heating. I also found it very useful for doing a levelling routing where the printer moves to directly over each adjustment wheel at 0.25mm (thickness of a metal ruler I have).
Also great for pausing the print to wait for the user to do something (like insert a nut or other captive object into a print)
M0 doesn't work on some newer boards... Replace with M25.. The printer will pause and you need to press the encoder wheel and select "resume print". It took me a while to work this out after updating to a 32 bit board.....
Sadly, some firmwares don't support M0 or M25, and may even be different between different models in the same range. I bed levelling script for the Ender-3, using M25 commands, completely ignored them on my Ender-3 V2.
Haven't come across that. I tend to keep my printers well up to date in firmware, but I compile my own Marlin for all my printers (even the Fabricator Mini) so that may be a factor!
@@balls2bone It May be just the creality 32 bit board for the Ender 3 as my copymaster 300 still obeys M0.
I compiled the copymsster code but the ender 3 is stock as supplied with the board.
M25 is a workaround. I am certainly not suggesting M0 has stopped working for all printers..
Respect...
When you start to get into the M commands you should specify what Gcode dialect you are using. M302 will work with Marlin, but might mean something completely different on another firmware, or for a laser engraver, or a CNC mill.
big facts man
So I spent £670 on a dumb gluegun lol
It’s not a very fast glue gun either.
WAAAAH! Microcenter in my city?! That's a sponsor spot worth watching! Woot!
Love the beep tip!! Added to my end G-code!
Super handy for that!
Glad Microcenter is still sponsoring you - makes me even more likely to just head to the nearby one in Long Island instead of buying elsewhere online. Also, this video was fun and now I will definitely mess with PID!
Note that g code is not universal, the specifics of the M codes in particular will differ between firmware projects, but I assume these are for Marlin which is the most popular. I think most of these but not all work with my old Sailfish-based printer (when piped through gpx, which is kind of like an early thing like klipper)
This relative x absolute extrusion mode got me the first time I tried to calibrate e-steps. Fun times
Yep! It's pretty tricky.
You forgot one super useful command to know about: M0 - Unconditional stop
It will pause execution of any further commands until input (encoder wheel or touchscreen) is pressed. it also has text display part like M117 so you can use it (especially with M300 beeper) to pause print when you need to insert some nuts or magnets that are meant to be fully encased
This is very useful! I can make my printer look haunted while I'm at work, and see if my wife freaks out!!! Well played, good Sir, well played!!!
Thanks Angus, its always good to be able to insert custom G-Code to make prints better.
Good introduction! In terms of Marlin development I always try to emphasize the philosophy of keeping the firmware "dumb" so it will be obedient to our commands and not try to do anything too creative. The real smarts are behind the scenes and deal with the things we don't want to worry about: decidng how best to carry out movement commands efficiently, following the contours of the mesh, keeping temperatures stabilized, and so on. Let the slicers and other G-code generators do the truly creative stuff.
Thank you, love your vids. I am a Machinist (30 years) and use g-code on a daily bases. It is great to understand a few of the basic codes to fine tune your printer. I used it to fine tune my filament change process. Thanks again.
I found this G-code online but its really helpful for auto bed leveling ( I was having an issue where the nozzle would ooze during the probing and cause the prints to not lay down a consistent first layer)
M140 S80.0 ; Set Heat Bed temperature
M190 S80.0 ; Wait for Heat Bed temperature
M104 S160; start warming extruder to 160
G28 ; Home all axes
G29 ; Auto bed-level (BL-Touch)
G92 E0 ; Reset Extruder
M104 S245.0 ; Set Extruder temperature
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
M109 S245.0 ; Wait for Extruder temperature
I print using PETG so 160c is warm enough to not ooze but also doesn't take too long to heat up the rest of the way. As long as you set up the Z offset with a fully heated nozzle, the probing can start as soon as the bed is up to temp. It also heats up the rest of the way in the starting position so as soon as it get there, it lays down the purge line (any oozing during the heat up wont cause any issues)
Made my ender 3 into a start it and forget it type of machine!
Probably the best G-code overview I have ever seen.
( I used to use G-code quite a lot with CNC, but I haven't really had to mess with it for 3D printing that much.
Thanks for a great video.
Agree 100%
I did also work with multiple CNC-machines and have picked up a lot of useful G-code and M-commands out of this video from Angus (again) 👍🏼
Like always, thanks so much Angus, another great video and very good info for the 3d printer users.
My fav command is M810 to M819. the Macro slots. they let you combine common groups of commands in to one line. i do a lot of manual editting of my gcode out of the slicer. I just recently added M808 to my firmware, which is looping. since i dont have a CR-30 treadmill style printer, i use some ending gcode to slap the part off the bed with the X gantry and then restart the gcode. between M808 and M810 for my "reset extruder axis" and M811 for my "go in to rel positioning, move the z axis up one layer, and go back in to abs pos" i can print "forever" on my ender 3 pro. in conjunction with filament sensors it could run forever with minimal interaction.
my next project is definitely going to be a filament splicer, so i can just load rolls of filament and print parts literally forever lol.
I think I'll have to add M300 to the end gcode in the slicer. It would be handy to have an audible indication that the print is done.
I never leave a video of yours without learning something new, thanks and keep it going please!
I've been using repetier host since 2013 and its amazing how well the program has worked even with all the innovations in the 3D printing space. Usually I use it for troubleshooting any sort of kinematic issues or bed level issues.
Congratulations on reaching the 1 million mark dude. Thank you for sharing your knowledge with us.
Thank you for finally allowing me to understand the difference between absolute and incremental. That was a brilliant explanation.
For sounds it depends on which buzzer is used. It can be active (making sound right after you connect power, no frequency control) or passive (you have to do some PWM to make it sound, therefore you can control frequency). Prusa uses passive one! So you can Google for some gcode melodies and put them in your end gcode. So printer can play an Imperial march if you want.
"My Imperator... the printing of the third death star is finished at last... " damdamdam dam da dam dam dadam* 🤣🤣
Dude, thank you for sharing the PID tune code! My nozzle temps on octoprint have been all over the place. Now I know how to fix it!
If you've got a printer that's pimped out with LED attached to the control board the G-Code for turning on/off or adjusting the color of the lights if they support it can be fun to play with. Flashing the lights a couple times after a print is done can draw attention if you don't want to use the beeper for that.
Really nice and very well explained, thanks
This is good to know Angus, appreciate the videos.
I think you have missed the pause/unpause commands M600/M601. Useful for inserting stuf in 3D prints or for manually changing filament. One problem with this command (at least on smooothie) is that it turns off heating, which is especially bad for bed heating mid print.
Exceptional video, I like how you split the screen as you entered the G-code.
:) All great info - think I'll start sharing this video with people as a great lead in to what else your 3dprinter can be programed to possibly do without much efforts! Keep up the awesome content!
This is perfect timing, thank you.
If you ever get a move out of range error when using Klipper it's normally because of absolute/realtive mode is wrong for X/Y/Z (G90 vs G91) or the extruder (M82 vs M83). It's a very common error people run into when writing macros for Klipper. To confuse matters even more some slicers let you set if gcode is generated in relative or absolute mode as well. Best way is to check what the current mode is, for example the variable printer.gcode_move.absolute_coordinates will be true if in absolute mode for X/Y/Z moves.
I can make my ender 3 beep? Why is it not an option by default?? Thanks for the tip.
Also wowzer great video. Thank you so much for the effort you put into this video.
Great video. Really useful info on G-code. Thanks. 🇬🇧
Also G2 is important, that's an arc move. This can help reduce stuttering especially for 8-bit motherboards, since it doesn't have to do many tiny G1 moves. The Arc Welder extension for Cura will do this automatically if you install it through the software marketplace and enable it in Special Modes. It'll also make smoother curves in your prints and reduce gcode file size.
I love Microcenter! I bought my printer and filament there!
Thanks for this awesome video.
Awesome video. Definitely needed to know how to save stepper changes.
About a month ago I started training on a new machine at work. It is a 30 ton CNC press and we fabricate high precision Sheet Metal, assemblies and products and I was pleasantly surprised when I saw the computer programming and it was the same exact thing I run my hundred dollar 3-D printer with.
That was interesting and informative Angus.... Thanks
M and G code is were I started in programing For FANUC CNC controllers 25 years ago, the thing that has got better is the GUI or interface software on computers to build the gcode file,
Computer power and graphics cards have grown alot. Thanks for the video !
4:15 You definitely want to prevent the USB from powering the printer.
A tiny piece of electrical tape over the 5V line on the USB connector can block the power. Or you can cut a USB cable open and reconnect all of the wires except the 5V. If you have steady hands, another option is to desolder the 5V connection of the port on the printer's mainboard.
It's a design flaw in some printer brands' USB implementation, which should be data only. There are multiple reasons why it's a bad idea -- you're basically giving 2 independent 5V power sources (which may even be at different grounds) to the printer's mainboard. Usually it'll be fine, but it could easily kill the printer mainboard (less likely, but it could even bite your PC's USB port or motherboard).
Angus... a little "Whoopsy" I think. At 7:25 your mouth said "X 100" but your hand said "Z 100". I think your hand got it right. 😉
Another great video, thanks. Thinking back to the 1980's (That's something I can do that you can't.) I used to get a real kick out of successfully making my BBC Micro perform something that I had coded directly in machine language, rather than BBC Basic. I have found that making something happen as I predicted, using G-Code, can give me similar "warm fuzzies".
Keep them coming. 👍
Heh yep mean Z 100! Making code do what you want is definitely rewarding.
M300 & M117 are super handy for debugging, and having the machine communicate what is up. I have several machines in the next room over from my work area. Each has different tune it plays at the end of a print to let me know which machine just finished. M600 for manual color changes is super handy for basic color swaps on just a couple layers.
Sadly and frustratingly Bambu machines have no serial interface and no support for M300, M117, or M600.
I've got two custom gcodes loaded into start G-code in prusa for my Ender 3 S1 (just below G28).
G28 ; home all axis
M420 S1 ; ensures the 16 point mesh from the probe is actually used for the print
M413 S0 ; prevent writing to the sd card after each layer which can potentially make blobs on your print
M500 and M503 are definitely codes to know, especially when configuring things like esteps
M300 and M117 could be used for diagnostics, in conjunction with the registers (i.e. Out of Work Area error could list what position it is trying to reach using an M117 code and then use an M300 code a couple times)
One set of absent codes is the G2 and G3 commands, which does Circular Interpolated movements. G2 is Clockwise, G3 is Counterclockwise.
G2/G3 reduce the size of the G-code and the stutters incredibly. Arc Welder for Cura is highly recommended in my opinion to make use of this, sadly not all printers support it. I find it quite dumb honestly, very few cases are so starving of storage that you should disable it.
Another one that takes some effort to use effectively but is pretty incredible is M486 - cancel objects.
With the appropriate post-processing script on Marlin, you can separate a multiple object print into individual parts entirely, and cancel each one individually if you see need.
The only time it doesn't work is with supports. If the support starts to fail on one part, you'll have to live with it and cancel everything or let it be, as Cura adds the Z change line right at the start of a support structure code if it has that.
The only G-code command that caught my attention over the years is M600, filament change, for simple but very effective multi-filament/colour prints.
I discovered that PETG & TPU can stick together in these multi-filament prints, but still haven't yet figured out any designs which could benefit from being part TPU & part PETG.
Vibration dampening?
@@timothymack7435 Yes that's a good one, like feet for a printer you could have the first layers in PETG with holes for screw mounts, with the rest in TPU for the actual feet part for dampening.
Printing a seal / gasket onto the rim of a case.
Thank you for the video
Good info.
I started with Repetier when I had my PrintrBot Simple 1405 print 7 years ago. FYI Simplify3D (even the 3yr old version 4.1.2), UltaMaker Cura, PronterFace, Prusa (I believe via Octoprint), Slic3r all support a serial connection and limited control (speed and E-flow). I have Prusa recommend not to print via serial with the chance an errant command being sent. I have printed via my Mac using serial (Simplify3D 4.1.2) almost exclusively for 7 years and had no issues (99.98% serial, 0.02% SD card).
Thank you for this video.
In the begining of 3D printing, it was almost required to know at least the basics of G Code.
Brings back the memory...
Or when the EEPROM wasn't implemented, and you had to tune your axises, and then reflash your board.
I'd recommend turning the power on while connecting to your printer. My Ender 3 has custom firmware installed, so my problems might not happen on your 3d Ender 3, but when I give it USB power and later turn on the Printer, all axies move at twice the configured speed and violently jam into the frame/buildplate (I actually lost a nozzle to this)
I just learned to always turn on the power before connecting my PC or Raspberry Pi
The joke at the beginning about ChatGPT is funny, but honestly it's not far from the realm of possibility. You can represent a 3d object as a sequence of geometric arguments (point clouds, or curves, etc). And GPT models (General Purpose Transformers) are really good at working with long sequences of values or tokens. So it's entirely possible for someone to train a vanilla GPT model on mesh data, and the corresponding slicer G Code. And what you'd end up with is something that could take an arbitrary mesh, and render a (hopefully) optimized sequence of G Code steps for any machine to use.
In fact, I'd be _very_ surprised if the major printer manufacturers are thinking about this as they iterate on their slicer designs and optimizations.
Thanks for this great video. I've known a good bit of GCode for a while, but I learned a thing or two anyway.
Very valuable video here.
I had the benefit of learning CNC prior to getting into 3D printing, so I had a foundational understanding of these concepts but the average person usually gets into this craft as a complete novice.
I definitely learned a few things here and I still have loads to learn.
Do you have any books that you might recommend to take a more in depth dive into the topic?
Thanks. This will be really helpful as I work on making filament changes more automatic. If there is no filament in the printer, there is no reason to wait for the hot end to heat up before loading filament.
Seeing microcenter sponsorships always reminds me how damn lucky I am to have two of them pretty close to me (I’m in nyc) I always recommend the inland filament both the PLA and PETG+ (the only ones I’ve used so far) have given me 0 issues and print amazingly
P stands for proportional, I for integrating and d for differential. In short the p part has a linear feedback with an amplification factor which can be 0 to very big numbers. The Integrating part provides a feedback equivalent to the surface between the signal and the x axis of the difference between the setpoint and actual value. The D part outputs a signal equivalent to the rate of change of its input. These three are put in series and if you tune them just right and provide them with the right feedback, they will regulate whatever you want.
Good one mate!
Most excellent video!! You have a great talent for clearly and succinctly covering a topic. Is there a printable list link you can share that shows each g-code and its function? Great topic universally useful! Thanks!!!
G Code to pause prints, maybe move to somewhere convenience, turn off nozzle heat to allow you to extract filament, then when your ready come back to temperature, extrude until new filament loaded (suitable amount purged), then stop, go back to where it left off even if you nudged it a bit while you were messing about and resume printing. Was going to try and sort out some G-Code to include to do all this on my Qidi X-Plus that I would insert at a particular layer height but, it all seemed a bit much so I have never tried it.
M300 is actually _super_ useful to audibly keep track of what the printer is doing, especially if your printer is very quiet and you are in another room.
I edited the start gcode for my Prusa Mini to play the Mario Kart start line beeps right before printing the purge line (while also "revving" the nozzle in time with the beeps over to the start position of the line, so it starts extruding immediately on the last beep, as if it timed its throttle just right to get the boost, and the purge line is a skid mark... :P), so I can go over and check on the first layers, without having to sit around waiting near the printer.
Likewise, I edited the end gcode to play the Zelda "Small Item Get" tune when a print is done, because that's exactly what happens:
I get a small item... :)
Lastly, I let it beep when the bed is cooled down enough for the fans to turn off, so I know I can go over and turn off the printer. This does inflate the estimated print time of every print though, since it's also part of the end gcode.
I haven't done so yet, but I plan on also using it to announce other things that require attention, such as pauses for hardware insertion, manual colour changes, or start of the next sequential print (to again check on first layers).
I recently compiled marlin for my ender 3 V2 with a bltouch and I discovered the "G35 tramming assistant" it helps you to level the bed probing on each corner
As a CNC programmer with 22 years of experience i can tell you its easy to get used to it. When i look at the G code i dont even see the code anymore.All I see is blonde, brunette, red-head. Hey, you uh… want a drink?
A cool thing to do is: put some electrical tape on the 5V on a usb cable (those to make your cable longer, dont know how they are called in english), then the mother board only gets on when the power supply is switched on o:
I only ever use inland... Its Awesome!
I did my Biqu B1 play the Super Mario tone when it finished a print with M300 very fun, while is useful because I can hear from the other room that my model is done.
Angus must be part google algorithm because I was just looking at this stuff yesterday. 😂 Keep up the great content!
16:00 Haha, I guess you can make the printer use morse code ... for example SOS when it's done xD
Awesome video
I was just starting to look into the M300 command for a custom 'Print is done' tone, so I'm by no means an expert, but could it be the S parameter requires higher values to be able to be heard (and maybe internally it defaults to some value if the value supplied is lower than the frequency us humans can hear)? So instead of M300 S200 you would use M300 S2000 or something? (Haven't tried it myself yet)
The number after S is the frequency in Hertz. 440Hz is middle C. Human hearing is roughly in the range 20Hz to 20000Hz.
The stock (modified Marlin) firmware on (some) Ender printers apparently overrides the frequency so all M300 sequences play at the same frequency. If you install the full-featured Marlin (eg compile your own) your Ender can play different frequencies.
@@jeremylaidman6525 THank you for that clarification. Something new learned every day ;-)
I watched another video that gave the advice to use your heated bed along with the box your filament came in as a dryer. They said cut the bottom side off the box, lay it over your filament to insulate it some, and heat the bed. So I want to write a simple GCode to set the bed temp, present the bed forward and raise the Z out of the way. Is there a way to do a timer where it'll sit for 4 hours and then go into cooldown on it's own? Maybe M85 but I can't find specifically what that command does for a shutdown sequence and don't know what the max value it'll accept is. I'm assuming too huge a number could crash it.
I found my Baud rate under “About this Printer” on my Ender 2 Pro. It is 115200 😁 I can’t wait to test this. Thank you!
Great video! Was actually going through some gcode for my Sovol SV06. I really like the M300 command. Does anyone know if the M300 commands can be added to a Prusa Mini+? I have yet to try it but was curious since its mentioned Prusa uses this in their printers. Thanks!
Cool video 😊
At my makerspace, the printers (Enders) are set via Gcode to play their namesakes after print completion, things like Goldeneye and Mr. Bluesky... it's really wacky.
Great video!
Question:
Have a Neptune 3 Pro. Would you happen to know the best settings for petg? I'm using the elegoo slicer and for the life me, I can't get it to print right. Noob here. No problem with pla.
Thank you 😊
You can add U1 after M303 to input the PID tunes after it is done, so you only need to then type in M500
My dear Prusa, don't be worried about Angus calling you a dumb computer controlled hotglue gun. I love you anyways ...
The main thing I would like to know is how to change the delay on my auto level. My cr10s ver1 has a short delay between steps. Before I finish the paper clearance test it returns all the way back to the home screen. Having to turn the dial and navigate back to auto level just to move the nozzle to the next step is such a pain. Is there a way to change it to a 20 or 30 second delay?
I live in Indiana so when I heard about the Microcenter opening over in Castleton I was super excited.... then my wallet started crying.
Pretty sure you can actually drain the battery if your laptop while connected to a printer via usb cable. I was helping my friend set up his Ender 3 Pro, (context: his laptop battery size/capacity is at or just about at the legal limit for here in the USA, and it’s in pretty good health), and in just about two hours it nearly completely drained his battery from about 90% to about 10%. We had Cura open & connected to the printer and his laptop was plugged into the Ender 3 Pro for most of the time, plus the ender was plugged into the wall (the laptop was running off battery power).
computer controlled hot glue gun was my nickname in college
Angus your wrong mate ...my printer sits there and looks pretty lol
Hey they can be dumb AND pretty!
I used to run my Prusa for few weeks during pandemic when LCD broke, I was able to print using the PC to manually control the machine etc. Then the bed heater broke :D but the printer was still going strong but only with PLA , those were the times when I sued that link a lot, I did lost few prints because windows updates restarting PC when I was not there..
I believe there is a command to power off machine. Useful at the end of a program with a long wait code for cooldown and then shut down if you won't be around when a print finishes
Best use of M117: Use your slicer's layer change custom G-code to insert variables, e.g. "M117 Layer [layer_number]"
When I first got my Ender-3 V2, I tried writing some G-code to help with bed levelling. It moved to the four corners of the bed and then to the centre but was intended to pause and wait for my Ok after each move, so I could adjust the dials. Sadly, this was when I found out that the stock Ender firmware did not support M25, It just carried on regardless, which is a real shame.
Thinking of this makes me wonder how many 3d printers *do* support M25, as it seems like a really useful thing to have available.
I'm a machinist and have been using g code for my entire life. Since getting into 3d printing, I've been wondering why printers don't utilize G2 and G3 arc commands. You could make a circle with one line of code instead of hundreds. My longest programs machining is about 200k of code. A simple 3d print of a toy was a few million. All because it only programs in linear commands. (A, J and, I command would be needed though). There are so many parameters that aren't being used. Anna what about, macros? Would a printer read it? Or the ability to pull up separate programs and run them within other programs. We should get together and blow the lid off printing. Right now it's so so basic.
Got a link to the model of the vase you made with the two-tone filament?
For the waiting in some of my printer profile i had a G4 S450 :wait 7,5 minutes to help my bed to warp properly before some printing. i use it before G28
Have you ever try circular interpolation (G2 and G3) on a 3D printer?
H Just wondering if there is a command to dump the firmware. As I want to update mine, but would like a backup of the current state, cheers Darren.