Elegoo Neptune 4 Max

Elegoo Neptune 4 Max (Last Updated On: )


Let me start all of this with I am not an engineer nor an expert at 3D printing. This is all just shit that I have picked up over the years, read about or came across. I just want to spread some information and maybe help someone. Try the following at your own risk, I am not responsible for what you do. Don’t believe everything you read on the internet.



A month or so ago I upgraded my trusty old Monoprice Maker Select v2.1 to a Elegoo Neptune 4 Max. Wow. I’ve been printing non stop. This thing is a beast! Its freaking huge and it prints fast! My Monoprice is still going strong, and I actually gifted it to my son-in-law, but I needed a bigger build platform and I wanted speed. It was down to an Anycubic Kobra 2 Max or the Elegoo Neptune 4 Max. If you do your research you will find tons of posts of people that got the N4M and hated it, to return it and get the Kobra 2 Max. With just as many people who did the opposite and ended up sending the Kobra 2 Max back to get a Neptune 4 Max. I was sold on the fact that it runs Klipper. It may be an Elegoo version of Klipper but it is Klipper. There are people working on OpenNept4une, a firmware replacement for Elegoo’s Klipper. I have also heard that someone is working on a pure Debian version of community Klipper. That would be fantastic. Unfortunately this requires buying a USB to eMMC adapter to flash the machine which I don’t have. I have not done this yet and I am not sure if I will. But it is an option. You can find more information on the Elegoo Discord. Some are also upgrading the main board to something like a BTT Manta and Pi TFT50. One of the things I’ve heard when playing with the alternate firmware(s) is you may lose the functionality of the touchscreen, no bueno.

If you are new to printing or this is your first don’t expect a nice fat user manual or handbook to walk you through. You are going to have to survive off a collection of online help. Don’t expect to get a ton of super helpful customer support from a company in China like Elegoo. You are much better off on their Discord or in a Facebook group, and websites.

Even with my knowledge of the past few years it took me almost two full rolls of filament to get it dialed in. But now it prints beautifully every time, and fast. So expect to be tweaking your profile for a bit and doing lots of bed leveling and printing lots of first layer sheets and benchys along with XYZCubes. Run the tests, it helps.

The following is a mash up of some tips I have tried and figured out, or I have read about and found online.

Some of these steps may seem tedious or you just don’t want to do them, but it will save you time, headache, and filament – which is money. When I first started out for the longest time I never wanted to “waste” time with the calibration prints. Trust me you waste more time by not doing them. Orca makes it easy now anyway.



My experience so far

The N4M is very large and it moves very fast, weekly adjustments needed to get tolerances tight. If you don’t adjust your POM wheels/eccentric nuts after a weeks worth of printing you will get fat ugly layer lines or worse. The POM wheels wear and settle into the grooves of the metal tracks. This requires adjustment often. If you get tired of the POM wheels and adjusting there are linear rail upgrade kits for this printer for the X and Y axis. I plan on doing this in the future. After three weeks of printing I can see the wheels wearing and rubbing the material down. Your eccentric nuts should not be free moving. Nor should any of the other wheels be free moving. You should experience some resistance and you should not be able to turn them without some force. I’ll touch more on those below. If for some reason no matter which way you turn the eccentric nuts nothing tightens you  may need to disassemble your bed and tighten the screws.



I recommend you use Orca Slicer over Cura, but if Cura works for you so be it. You get much more control over your print settings with Orca. A lot of people say they get better or faster prints with slicer “X” over slicer “Y”. That is all in the profile you are using. You can totally take the speed or quality settings from Cura and put them in your Orca profile, or the other way around. Just because the default profile doesn’t work so great for you doesn’t mean the slicer is hot garbage. Just tweak the settings.

Orca also has some really useful calibration prints cooked in to the slicer. You will see a tab at the top that says Calibration that contains all the prints you need to calibrate your printer/filament. The Orca wiki is pretty good and covers all the steps needed to do all of the calibrations. Definitely start there.


Flow rate

Pass 1 will print nine squares with different flow settings. Pass 2 will use 10 squares. This will help you fine tune the flow for your filament. For both passes choose the square that is filled in the most and the most smooth. Then you have to do some math. Do flow pass 1, do math, do flow pass 2, do math. Done. This test is highly important for every new type and color of filament you use. This can help with over or under extrusion.

Here’s the math to use FlowRatio_old*(100 + modifier)/100 .

Pressure advance

Pressure advance tunes the flow of your filament even further. I prefer the line test as I find it easier to see the results. Attempt this test once you have really good first layer adhesion.

Temperature tower

This test starts at a temperateure and ends at a different ttepoarature to show you which one works the best.

Retraction test

This helps you ditch those strings and blobs, if you over do it you can get gaps in the prints.

Max volumetric speed

Run this one to help you determine how fast you can print with that filament.

max printing speed [mm/s] = max volumetric speed [mm3/s] x layer height [mm] x layer width [mm]

For more detailed information I highly suggest you check out the Orca Wiki for calibration.



Z-axis alignment

Your Z-axis might need to be realigned right out of the box. You can print Z-axis levelers, use soda cans, CD cases or any two objects of equal height. Just place the objects under the gantry and slowly (slowly!) lower it to the top of the object. This will help you gauge if they are level. Luckily the printer kind of comes with its own levelers. Using the touchscreen you can raise the Z-axis to line up with the striped lines on the gantry. Slide a small piece of paper or a ruler on top of the rail and line it up well on one side, compare it to the other. If the gantry is off you will need to loosen the collars at the top to adjust the threaded rods.

Here is a great video that covers most of everything that needs to be adjusted on the machine, I highly recommend you watch it.



How to SSH into the Neptune

Windows, Mac and Linux all have built in terminals which you can use to SSH into the Neptune printers. The commands should be the same for all systems I believe. You will need to know the IP address of you printer. You can find the IP address via the touchscreen.

  1. Open a new terminal window (command prompt in Windows)
  2. Type ssh mks@the_IP_of _your_printer
  3. It will ask for the password which is makerbase
  4. You should now be connected

Be careful what you do while you are connected. You can break things.



(As of 05/10/2024 the newest firmware has the camera enabled by defualt)

The printer should support most main brand USB cameras, if the camera does not power up you may need a powered USB hub. My Logitech C270 worked just fine.

  1. SSH into the printer
    username: mks password: makerbase

  2. Type sudo systemctl enable webcamd
  3. Then sudo systemctl start webcamd
  4. Go to the printers Fluidd web interface
  5. Navigate to Settings and then Cameras
  6. Select the Default  camera and activate it


Add extra storage for your gcode files

The onboard eMMC is just 8gb, that does not leave a whole lot of space left for storage after you account for the OS. The Neptune 4 Max only has about 1.8gb of free space and once you hit 1gb you get a low disk space warning. You have a couple of options to get some extra space.

Add a USB drive or external USB hard drive

You can add a USB thumb drive or an external hard drive (powered or via a powered USB hub). But if you are also using a camera you will need to choose one or the other or get a small hub.

Replace the eMMC with a larger one

You could also replace the factory eMMC with a larger one. This opens you up to other options as well. You can either clone the existing eMMC and just gain more space (requires some Linux Kung-Fu) or you can use the new eMMC to De-Elegoo your Neptune 4 and get something like OpenNept4une going. And gain space.

Swapping the eMMC

  1. You will need ab eMMC module

  2. You will need an image or the printer or you can copy/clone the default eMMC

  3. You will need to remove the bottom printer cover
  4. Using Balena Etcher you can backup the firmware off the stock eMMC and flash it to the new larger eMMC, or flash a new firmware
    (if you plan on copying the stock eMMC and just want space you will need to do some Linux-Fu to resize the partition)

  5. Replace the eMMC
  6. If you mess up with the new software/eMMC your old one is still intact

  7. Replace the cover when confirmed working


Neptune 4 slicer thumbnails – Prusa/Orca

(updated 04-15-2024)

A fellow user on the Elegoo Facebook group let me know that there is yet another thumbnail mod out there and this one provides all of the *time* meta data for Fluidd and the screen. So try this one first. The directions on the GitHub are fantastic and easy to follow with screenshots. Go there to see how to install it. But basically download the .exe  and place it in a folder somewhere (like C:\Users\YourName\thumbnail.exe ). Setup your printer profile in Orca to use a thumbnail of 600×600 or so, make it a PNG not ColPic . Then under the Others tab in the post-processing box add the path to the thumbnail.exe  in quotes, like "C:\Users\YourName\thumbnail.exe" .



This plugin is a Windows executable that must be placed in your Users path and called within the slicer. Some people have reported simply changing the thumbnail size being generated by the slicer has worked but this did not work for me. The install directions for this mod are the same as for the one above.


From what I have read the Fluidd meta data is not possible a this time with Orca because it does not have these features in the software yet like Cura does. If you really want the meta data in the job list you have to use Cura for now.


Eccentric nuts

The N4M utilizes a few eccentric nuts throughout the printer. These need to be checked on first assembly and I would suggest at least once every week of printing, The wheels settle and wear in the grooves. After a while you will see the wheels wearing off and leaving behind a residue. This info graphic explains the eccentric nuts very well.

What is an eccentric nut?



I could not for the life of me get the firmware to download from their website. It just would not load. I had to join their Discord to get the files, they have a completely different link there by the way. If you visit the Discord there is also a collection of printer profiles to use.

Do not update the touchscreen before the main board – you may lose connectivity to the printer


Updating the main board firmware

(all taken from Elegoo’s PDF)

  • (Using the Fix Pack will delete your job list, all of your files on the printer)
  • If your Neptune 4 Max has a firmware of v1.2.2.64  or lower you should run the fix pack before a firmware upgrade.
  • If your touchscreen is v1.2.11  you should upgrade the touchscreen firmware.
  • Make sure you have at least 500MB of free space on your printer via the Klipper System tab.


Updating the main board with the fix pack

Wtf is a fix pack?

Use a known good USB thumb drive to put the firmware on, do not use the one that came with the printer, that thing is garbage and corrupts and fails easily and will give you headaches. Its $3.94 for a 16GB USB drive at Walmart. A USB 2.0 drive is recommended. Format it as FAT32.

As of this writing the fix pack is Fix pack-4MAX_1.2.2.65_1.2.12 .

  1. Backup any config files if you have made changes.
  2. Copy the folder ELEGOO_UPDATE_DIR  from the Fix Pack zip to the root of a empty USB drive. The entire folder and its contents.
  3. With the printer off, insert the USB drive.
  4. Turn on the printer and it should reboot and update.
  5. To confirm the fix went through you can check the drive for the files fix_tag  and fix_klipper_succssed  files.


Updating the main board firmware, the actual firmware

The default firmware does not support upgrading to the most current version of the standard community version of Klipper. The Klipper on the Neptune is a Elegoo blend. Ugh. Why. Fortunately there are versions of Klipper being adopted to the Neptune, OpenNept4tune for example. To try those versions check out those sites, but I do know you will need an eMMC to USB adapter to use them. But I have not looked into it much, yet. To update the Elegoo firmware the process is the almost the same as the Fix Pack.

As of this writing the firmware is Firmware pack-4MAX_1.2.2.65_1.2.12 .

  1. Turn on the printer.
  2. Backup any config files if you have made changes.
  3. Copy the folder ELEGOO_UPDATE_DIR  to the root of an empty USB drive.
  4. Insert the USB drive in to the printer and navigate to [Settings] > [About Machine]. Click the arrow below and follow the instructions to confirm the update.
  5. To conform the process there is a file “update.log” now on the drive. If not, the printer did not update for some reason.


Updating the touchscreen firmware

(taken from Elegoo’s PDF)

You will need a micro SD card and adapter and an allen wrench (the printer should have come with it). Do not use the one that came with the printer. They are know to be garbage and cause more headaches than they are worth.

As of this writing the firmware for the touchscreen is Screen firmware(UI)-1.2.12 .

  1. Remove the four screws on the back of the touchscreen.
  2. There is an micro SD slot there on the board, this is where the card with the firmware update will go.
  3. Copy all the files ( ui_1.2.12_231225.tft ) from touchscreen firmware folder to the root of your SD card.
  4. Plug the SD card back into the touchscreen.
  5. Power on the touchscreen, the firmware should start to load. You should see the status on the screen.
  6. After complete remove the SD card and restart the machine.
  7. Check you version status on the About screen.
  8. After verifying that everything is functional you can replace the back cover.


Now that you are finished with the fix pack and the firmware and the touchscreen firmware there is a couple things left to do.

  1. You need to perform an automatic leveling and rest the z-offset.
  2. Re-run the input shapers form X/Y axis in [Settings] > [Advanced Settings] > [Input Shaper].
  3. I would run a test print.


How to update Moonraker (and get estimated print time meta data)

*Do not update anything via the Fluidd/Klipper web interface – things will break*

(updated 04-15-2024)

You do not need to do this step just to get print time meta data. You can use the thumbnail mod to gain that data. However if you need to update your Moonraker for some reason this is how.

We just updated the firmware why is it still outdated!? Thanks Elegoo. Unfortunately you cannot update the software via the web interface. The Klipper and Fluidd/Moonraker that the Neptune uses is modified by Elegoo. For now you have to follow some specific steps to update. You can upgrade Moonraker by itself, this will repair some broken information from not being shown on the Klipper job list I’ve heard. Remember – do not update the OS, you may break Klipper. I am not aware of a method to update Fluidd yet. The Elegoo Discord is where you would find all of this.

To update Moonraker:

SSH into the printer ssh mks@your_printers_IP_address , password makerbase .

  • Delete moonraker and mooonraker-env  folders (in /home/mks )
In the /etc/systemd/system  folder delete moonraker.service .

  • Install Moonraker by selecting 1  install then 2 Moonraker .
  • Choose 8  to go back and the Q  to quit back to the prompt
  • Now run cd ~/moonraker
  • Then run ./scripts/data-path-fix.sh




Heat that bed

The build plate on this thing is huge, a 17″ square. It usually takes about 15 minutes or so to reach temperature. But you should let the bed sink the head for about 30mins or so to evenly heat that huge bed. You might not want to wait that long but it is beneficial. Not 100% required but if I am printing something important or rather large I definitely do let the bed heat longer. Try it, run an auto level after it immediately hits temp and then again after another 30mins or so and you will see it has changed. That is not Elegoo that is just a huge print bed.

First layer

Download and use a first layer print. A nice big flat 0.2mm square. There are a bunch of fancy ones that put shapes all over but I prefer the simple square, I can move it around when and where I want if I need to. This will help you save filament and cut down on the pain as you level your bed. Seriously, spend a long time leveling that bed. The better the bed level the better off everything else will be. Do the manual leveling like3 times in a row at least. Then the automatic leveling. Then check your offset. Then save it all. Once the first layer goes down great move on to other test prints.

Bed mesh

A lot of the time the proper bed mesh does not get loaded. This is especially true if you bounce between probing on the touchscreen and via Klipper. They both save the mesh under a different filename. If you are using the touchscreen and 36 point standard leveling it is saved as 6 . If you are using 121 point professional leveling it is named 11 . If you level via Klipper it is saved as default . In my experience the bed mesh always defaults to 6  after prints, a cancellation or a new/reboot.

You can edit the start gcode in your slicer or in a Klipper config. Just add one of the following:

This is what I have modified my printer.cfg  to be (Neptune 4 Max setup for Klipper leveling profile – without KAMP) :

[https://www.reddit.com/r/ElegooNeptune4/comments/196p051/newest_firmware_11253_stopped_loading_bed_mesh/?utm_source=share&utm_medium=web2x&context=3] [https://www.reddit.com/r/elegoo/comments/18htbrh/comment/kdatjor/?utm_source=share&utm_medium=web2x&context=3]


Improve probe accuracy

Edit your printer.cfg  and change the default probe tolerance. By default this is a wide range.  A lot of people complain the probe varies widely, creating undesirable bed meshes. This is most likely due to these settings. Adjust the tolerance and it will tighten things up.

Decrease samples_tolerance . Default is 0.100mm . The probe is allegedly accurate down to 0.00250mm . Adjust to a value closer to 0.00750-0.00333  to get a much more accurate bed mesh.You can also increase the samples_tolerance_retries  to 5 .


Screws tilt calculate


Screw tilt calculate/calibration is probably the best way to get that bed level on the N4M. The bed has two center posts that do not adjust and six outer springs with adjusting springs/wheels. I see a lot of people shooting for and driving themselves crazy seeking that ~0.02mm leveled bed. Good luck, I also think that (with this printer) that is the wrong way to go about it. You do not want your bed leveled to 0.00mm, that ain’t gonna work out well for most people I’ve seen. And if your center posts do not measure 0.00mm you’ll never get a flat bed. That’s what you want, a flat level bed, not necessarily 0.00mm either. Run the screws tilt and it will probe home and measure the distance. In my case the center is 0.22mm. So if I leveled everything to 0.00mm the center of my bed would be a mound. Screws tilt will tell you how many turns to turn those bed wheels to get your bed leveled to the center. That is what you want. Once you get that down and set you’re off to a great start. Then do the Z-offset calibration. Then print a first layer. If you’ve done the screw tilt and the Z-offset correct you wont have to touch a thing on that print. Just run the calibration, make the adjustments, rinse repeat till you get it as close as you can get.

Screw tilt will measure the distance from probe to bed over the springs and tell you in hours and minutes which way to turn the wheels. So if the result says Front-Right CW 1.15, then turn the wheel 1hour and 15minutes, like on a clock. Instead of turns or degrees it uses time to tell you how much to turn the wheels. Simple.

To get screws tilt macro working you need to add it to a config file and call that file in printer.cfg. I prefer to add it to a custom config to help me keep track of my changes and so it wont be overwritten with an update.

Here is the file for you to grab and upload to your printer configuration tab, it is also listed below.

You will need to rename it from a .txt  to a .cfg : screwstilt.txt

Screw tilt macro cfg

Download the file or make your own by adding this code to a config file.

Now open printer.cfg and add at the very top or very bottom:

[include screwtilt.cfg]

Save and restart (or just save and restart after you’ve made changes for Z-offset also).


Klipper Z-offset calibration



Now we are going to use a built in Klipper macro to properly calculate the Z-offset to the bed. No more guessing. You will need to enter some commands into the terminal window on Fluidd. Luckily the probe X/Y offset is already calculated and entered into our printer config file, we just need to calibrate the probe.

In the terminal window (with a bed heated to your printing temperature) type: PROBE_CALIBRATE

This will perform an automatic probe, lift the head, move the nozzle over the location of the probe point, and start the process.If something does not work right or goes bad for some reason type ABORT  into the terminal window. Once it starts it will probe the home position and then set you up for the paper test. The nozzle will be lifted from the bed and you will need to enter commands to raise or lower the Z until the paper can be pulled but not pushed back under the nozzle.

To raise and lower the Z-axis while calibrating type into the terminal window:

To raise up 1mm: TESTZ z=1

To lower 1mm: TESTZ z=-1

To babystep up: TESTZ z=+

To babystep down: TESTZ z=-

Once you are good to go type ACCEPT into the terminal then SAVE_CONFIG , this will save and restart. You should now be good to print.

Check out this video for a more in depth instruction on the Z-offset calibration.


Bed Leveler 5000

You can get Bed Leveler 5000 at their GitHub. If you would like to watch some videos on BL5K visit their YouTube page. BL5K is pretty simple. Load it up and select the Neptune 4 Max and enter the printers IP address and connect. Now you can home and probe the points on the bed to get measurements as many times as you want in any order you want. The program does not make any changes to the printer or any files. It is just a tool to measure and report the bed height.


Silicone bushings

A lot of the printers bed leveling issues I believe are due to the springs. Just like on other build out of the box printers they all have crap weak Chinese springs. They flex too much. These are the silicone bushings I have seen being recommended and in a YouTube video or two. At this writing they are about $12 for 12 bushings, that’s not bad. Here is a video showing how to replace the springs with the same bushings linked. Think stiffer springs would be better? Stiffer springs vs silicone bushings.


KAMP – Klipper Adaptive Meshing Purging


In its stock form the Neptune when told to probe the bed will probe either a 36 or 121 point grid. With the bed springs and the sheer size of it almost every time you print you may need to re-probe the bed to get a good first layer. I have only been able to get away with 1-2 prints before having to recreate the bed mesh. If you are printing something like a benchy that is rather small compared to the N4M’s bed size this will be time consuming process for such a small print. KAMP, Klipper Adaptinve Meshing Puring allows the printer to re-pobe just the area where the model will be printed. So it would probe a small spot around the benchy then print vs probing the entire bed.

Its pretty simple to install and get going. However I would suggest you do not follow the installation instructions on the KAMP GitHub. They tell you to install it so that you may update it via Fluidd the web interface. While this is nice and all I am not sure if it will not break something that Elegoo did. If you’re running a community version of Klipper then you probably know what your doing enough to try it. I am not sure if OpenNept4une supports that or not.


  1. Download KAMP_Settings.cfg and Adaptive_Meshing.cfg from the KAMP GitHub.
  2. You need to edit KAMP_Settings.cfg  and uncomment line #3  to enable the Adaptive Meshing. You can do this before you upload or after and edit it via the configuration tab cause you also need to edit printer.cfg .
  3. Upload them (drag n drop) to Klippers configuration tab
  4. Edit your printer.cfg  file and add this line to the top: [include KAMP_Settings.cfg]
  5. While you are editing the printer file make sure the following is there, it was on mine so it probably is on yours too.  Just add it near the bottom if you do not see it there already: [exclude_object]
  6. We also need to add to the START_PRINT macro.
  7. Find that in printer.cfg  and add two new lines for KAMP so it looks like this (you can also edit your start gcode if you prefer):
Save and close.

If you want to call the new KAMP mesh in your slicer in the start gcode you need to add:


  1. Now open moonraker.cfg , we will need to add a line. It was missing from mine so you will probably need to add it also.
  2. Find [file_manager]  and add the line: enable_object_processing: True

Should look like this:

Save and close and restart. Once rebooted after saving power off the the printer and count to 10, power back on. I had issues until I performed the power cycle. The restarts of Klipper and Moonraker were not enough to load all the new settings.


Now in your slicer (hopefully Orca) enable Label Objects  (Others tab, G-Code Output section. Check the box).

That’s it! Go forth and slice a benchy or a XYZcube real quick and give it a shot. It should now only probe the area surrounding the print not the entire bed. Those were the directions as I pieced them together. I would highly suggest after making your config file edits to power off the printer and wait a few seconds then power it back on. I tried to rely on rebooting Moonraker and Klipper but the touchscreen froze. Once I did a power cycle everything is working great.


You are welcome to try the Line_Purge if you would like, I have no idea how or if it will work. I like the way the Neptune parks the head then primes and prints.

[https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging/blob/main/Configuration/KAMP_Settings.cfg] [https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging/blob/main/Configuration/Adaptive_Meshing.cfg]


My settings

I figured I would share my settings while I was at it. There are a few members of the Facebook group that have been sharing their settings but they print PLA and they did not quite work for me. If you need some profiles check the Discord and Facebook group.

I print primarily Overture PETG in the color of Light Grey, Space Grey if the Light Grey is all out. They both print very differently on my machine. I love the way the Light Gray prints.

My PETG Neptune 4 Max Printer Orca Profile (json)

My Overture PETG Light Gray Orca Profile (json)

My Overture PETG Space Gray Orca Profile (json)


PETG@Neptune4Max (0.4 nozzle)


0.16mm SLOW PETG No Supports



Fall away supports

I found some settings online somewhere, I cannot remember if it was Reddit or the Facebook group but I figured I would share. I am using these settings and my supports literally pop right off.



If you think something should be added or needs correction drop a line.

Hope all this helps!


Discover more from Its_All.Lost

Subscribe to get the latest posts to your email.

Leave a Reply