If you have an Elegoo Neptune 4 series printer and are in the Elegoo Facebook group you may have heard of OpenNept4une by now. If not, you have now. From what I can tell there are two current thoughts about the Elegoo Neptune 4 series printers. One – the printer has a bunch of flaws and just won’t print properly and it is due to Elegoo’s touch of the Klipper software and installing OpenNept4une will resolve all of these issues. Two – the printer is fine and works fine, but you want community Klipper and to be able to update the software without things breaking. You want to be able to add things and be more up to date following the community with its version of Klipper.
I have not had any issues with my Neptune 4 Max for the few months I’ve owned it, I have printed about 20 rolls of PETG so far. But I noticed Elegoo’s Klipper is a few versions behind and they don’t offer updates much. There are a few things I would like to get play with and get working (Spoolman) and I would like to be able to use KIAUH. Plus I like to tinker. With a stock Neptune you cannot update the OS either, which I don’t like. Anyway, I decided to take the OpenNept4une plunge and I documented my process.
The Wiki/install guide on the OpenNept4une GitHub is fantastic. You can head over there and you should be able to follow that guide, it’s a bit more technical so I decided to write up what I did. I have a Neptune 4 Max so all of these instructions here on my blog are for the Max. They may or may not be the same and/or work for other Neptune 4 printers I have no idea. There are probably other steps for other printers, check the Wiki – you have been warned.
Index
- Run down & things you’ll need
- Remove the bottom panel
- Expose the micoSD card slot
- Flash the eMMC
- Power on and configure
- Configure OS
- Update everything
- Flash the MCU
- Get the touchscreen working
- Expand that new 32gb eMMC
- Webcam/Crowsnest
- Adaptive Bed Mesh
- Input shaping
- Meta data and how to power off correctly
- Obico (Spaghetti Detective)
- Spoolman
- Reset to factory
- New OpenNept4une profiles for Orca Slicer
- Some links
Quick run down of what to do
- Flash the eMMC module with OpenNept4une on a computer
- You will need to remove the bottom panel of the printer
- You will need to remove the eMMC module
- You will need to remove the front cover
- (optional) print a new replacement front panel with SD card cutout BEFORE
- You will need a micro SD card to flash the ZNP-K1 motherboard
- You will need to SSH into the printer to run some Linux commands
Things you’ll need
- Buy an eMMC module and/or USB reader ($20-30)
- Small philips screwdriver to remove the eMMC module
- Hex wrench to remove the bottom panel (came with printer)
- Micro SD card – any size
- Hex wrench to remove the front panel (came with printer)
- It is easiest to install if the printer is connected via an Ethernet cable to your router
First off yes, you will probably need to buy something. Either an eMMC USB reader to re-flash your current eMMC module, losing the stock firmware and stuck with a small drive size. Or buy a new eMMC module with the USB reader, and keep the stock eMMC safely stored away just in case. I went the new eMMC and grabbed a 32gb module while I was at it. I hated the lack of storage space on the stock module, I was always deleting files and I hated that. It is also the easiest to work with when the machine is plugged into your router via an Ethernet cable. You are going to want to bring your printer to an area that has space to flip it on its side to access the bottom and hopefully it is close to your router. Otherwise you may need a long Ethernet cable. It is possible to connect a laptop/PC without a router, you can connect them using an Ethernet crossover cable. You can do anything you could on a normal network after hooking them up. I just won’t cover that here. The printer is basically a small computer, it is an SBC (single-board-computer).
Buy an eMMC adapter and a USB3 reader. This is the module I purchased. Once you have that in hand you can start the process.
Backup printer.cfg and others
Before you do anything backup your existing printer.cfg and any other config files if you’ve made any changes. You never know. Just visit Fluidd in your browser and go to the configuration tab and download the config files.
Remove the bottom
Power off the printer, remove the power cable and network cable if you had one and remove the touchscreen and set it aside. We will not need that until the end after we have installed the new touchscreen service. I flipped my printer on its side to gain access to the bottom. Be careful with the print head and the bed. They will want to slide all over so secure them with a zip tie if needed or carefully lay it down. Now you need to remove the bottom panel to expose the motherboard. There are a ton of tiny screws. Your printer should have come with the allen wrench for the screws. If you have a multi-tool set or bits even better. The short screws go in the center and the front and the back. The long ones go on the sides.
Warning – When removing the bottom panel be careful to not damage the wire harness or motherboard. The fan is connected to the bottom plate an plugged into the motherboard. Carefully remove the fan plug as you take it off – careful. Remember where it plugs back in, take a picture if you need to.
Expose the SD card slot, remove the front plate
Next step is we have to expose the motherboards micro SD slot on the front of the printer. Elegoo in their wisdom decided to hide the card slot, thanks. We have to expose the SD card slot so we can flash new firmware to the MCU of the printer. On the N4M there are four screws on the front of the printer. Remove all four, then underneath/behind the plate there are a series of small screws attached to the front face plate. Remove those too.
[https://github.com/OpenNeptune3D/OpenNept4une/wiki/Hidden-microSD-Slot-Access#neptune-4-max]Print a new front panel before you start the whole process.
Remove the eMMC module
Now we have to remove the eMMC itself. You will need a small phillips screwdriver to remove the two tiny screws. One the screws are removed gently wiggle it back and forth while pulling straight up and it should just pop off.
Flash OpenNept4une to the eMMC module
Time to flash the eMMC module with OpenNept4une on your computer. Download the current release from GitHub.
[https://github.com/OpenNeptune3D/OpenNept4une/releases/]Use balenaEtcher or the like (PuTTY, Rufus, etc) to flash the OpenNept4une image to the eMMC module on your computer. Be careful and make sure you select the right drive to flash.
The module I bought is the MKS Makerbase 32gb eMMC module with USB3 adapter/reader. When you look at the USB adapter board you will see a little screen printed image. This image tells you the direction to install the eMMC module. On my module I plugged the eMMC module in away from the USB plug.
Plug it into your computer and it should be recognized as a drive. You should see a bunch of files on it. Don’t worry about formatting it, that will happen when we flash OpenNept4une to it. Using Etcher (or one of the other programs) select the image you downloaded and select the proper drive from the list then flash. It will take a minute for the machine to unpack the OpenNept4une file and flash it. It is a USB3 adapter so make sure you use a USB3 port on your computer if you have one.
This video shows you a good portion of what you need to do with the module.
[https://www.youtube.com/watch?v=3_FyLXlapsA&t=222s]After the module has been flashed successfully install it back into the motherboard, if you are replacing the eMMC save the old original one in case you ever need/want to revert back to stock Elegoo easily. Make sure you line up the screw holes when putting it back on, then add the scews.
Power on and connect, configure WiFi
Now that the eMMC module has been flashed with Armbian for the ZNP-K1 motherboard and installed back into the board we can start the rest of the configuration for OpenNept4une. We need to SSH into the printer over a network. Since the printer is now running OpenNept4une it has not been configured yet so the WiFi will not be working. The screen will also not be working, yet.
SSH into the printer
1 2 |
ssh mks@printers_IP_address password: makerbase |
Once we are connected we can configure the wireless. Run the nmtui command to get access to the setup screen.
sudo nmtuiSelect Edit a connection , Add , Wi-Fi . Give it a name and select your SSID. Choose WPA & WPA2 Personal and add your password. Leave IPV4/6 on auto. Then quit. You should now be able to connect to your printer over WiFi with its new IP address.
Configure OS
Now we need to setup the basics for the OS like hostname, and timezone. SSH into the printer.
1 2 |
ssh mks@ip_address Password: makerbase |
Once connected run: sudo armbian-config System > Avahi – enable this, then go back. This will allow you to use the hostname to connect (ex: neptune.local vs the IP address).
You may run sudo nmtui to set and configure Wireless networks. [https://github.com/OpenNeptune3D/OpenNept4une/wiki#configure-wifi] Personal > Timezone – change to your timezone.
Personal > Hostname – change this to what you want to name the printer. This is also the name you can use to connect to via a web browser.
Update everything
SSH back into the printer if you’re not still there. Now we need to run KIAUH (Klipper Install And Update Helper) to update everything we are installing.
To run KIAUH type/paste: ~/kiauh/kiauh.sh . It may tell you that KIAUH is out of date, if so go ahead and update it, then run the command again.
Select 2 for Update, it might take a second as the printer pulls all the new updates. Then press a for Update all.
Now we need to run the OpenNept4une install scripts.
1 |
cd ~/OpenNept4une/ && git remote set-url origin https://github.com/OpenNeptune3D/OpenNept4une.git && git fetch --all && git reset --hard origin/main && git clean -fd |
then
1 |
~/OpenNept4une/OpenNept4une.sh |
This will open up an OpenNept4une panel. Choose option 1 to install the latest configurations and updates. Then the system will reboot.
In the future this is also how you can update your installations. You can also update items via the Fluidd update screen. But if you like to SSH in and do things like I do then just run ~/kiauh/kiauh.sh whenever you want to update. I noticed when it goes to check for OS updates it can timeout. I started doing apt-updates before running KIAUH and then that stopped for me.
To update the OS normally, without KIAUH:
1 2 |
sudo apt update sudo apt upgrade |
Flashing the MCU with OpenNept4une
We have already installed the new eMMC module, the new OS and OpenNept4une. Now comes the time to flash the MCU so it will talk to the printer part of the motherboard. This is also pretty straight forward, the directions are straight from the Wiki.
SSH into the printer and run the command: opennept4une
- Select Menu Option 4- Update MCU & Virtual MCU Firmware to update MCUs
- Select Option 4 - All
- The STM32 (main) MCU firmware .bin files will be generated first
- Visit: http://your_printer_ip/#/configure
- Click the Firmware folder in the Configuration Files column (left)
- Right-click and Download X_4.bin and elegoo_k1.bin
- Copy both files to a FAT32 formatted microSD card
- Safely eject your microSD card (don’t insert into the printer just yet)
- Continue with the script y
- The virtual MCU rpi firmware will now be generated and flashed automatically
- After the auto reboot completes enter your Fluidd interface, then Shutdown the host (top right menu)
- Wait about 20 seconds for it to shutdown. It is now safe to power off the printer at the power/mains switch
- Insert the microSD card once the printer is fully powered down
- Power on the printer, then check the MCU versions in Fluidd’s system tab v0.12.x .
- You can now remove the SD card from the printer.
- Note: One of the .bin files on the microSD will be renamed to .CUR if the update was successful.
Install touchscreen service
The touchscreen needs a special OpenNept4une service to run and work correctly, but beware it is still a bit buggy and a lot of the commands are not available via Fluidd/Mainsail only – like leveling.You are honestly better off using a tablet or your phone to connect to Fluidd/Mainsail vs using the touchscreen. If you want a full blown usable touchscreen you would need to replace all of the guts of the Neptune with something like a BTT-CB1 and BTT SKR Pico. Then you could use the BTT Pi50 touchscreen. But that is a bit more work and ads about $100 to the BOM.
This is pretty easy and straight forward. Run the command: opennept4une
Select Option 5 - for touch-screen install
Check on the touchscreen itself, in Settings > About Machine > UI Version for the version number.
Reboot the printer sudo reboot now [https://github.com/OpenNeptune3D/OpenNept4une/wiki#install-touchscreen-display-service]
Expand the new eMMC module
When we flashed the OpenNept4une image it was at a fixed size for the eMMC. If you have upgraded to a larger module than stock you will need to expand and resize the file system to get access to all of the modules space. SSH back into the printer and run opennept4une .
Then option 6 for Advances Option Menu .
Then option 3 to resize the eMMC to 32gb. Then it will reboot.
Once rebooted you can SSH back in, df -h will show you the drives size.
Fluidd or Mainsail?
Fluidd and Mainsail are both installed and accessible to use.
- Fluidd is the default web interface for OpenNept4une, accessible at http://your_printer_ip/
- Mainsail is also installed and can be accessed via http://my.mainsail.xyz/
- Enter your printers IP address for Mainsail to connect
Webcam Configuration
If you have a USB webcam connected it should work out of the box but you can auto-configure it with the following: opennept4une
Select 6 - Advanced Options Menu Then 2 - Webcam Auto-Config (Crowsnest) Note: Fluidd might need to be refreshed in the browser
Replace the bottom panel and front panel if all is working.
If everything is working you can now safely put the bottom and front panels back on. If you printed the replacement front end plate you will not have to remove the front again to access the SD card slot, a major bonus. You do not have to print the plate in pieces either. The Max has the room to print it. Place it on the bed and auto-orientate and it should place it diagonally on the bed. Love this printer. If you do not use the new printed front plate you may have to remove the stock plate in the future if the MCU needs to be flashed again. You should avoid leaving the front plate off as it can affect cooling of the motherboard as well as small pieces may get sucked up inside.
Link to Neptune 4 Max front plate with SD card slot
[https://www.thingiverse.com/thing:6485924]
Adaptive Mesh
Adaptive messing is now included already in OpenNept4unes Klipper. But you do need to tell Klipper to use the adaptive mesh or it will still check the entire bed. In the start gcode section you need to add a new line and possibly comment out the old bed mesh gcode.
This is where the community cannot seem to agree on things.
From what I can tell the most common way to add adaptive meshing is to place this in your start gcode in printer.cfg. This will make an adaptive mesh for each and every print.
1 |
BED_MESH_CALIBRATE ADAPTIVE=1 |
The above has worked for me with no issues and is what I currently use. I believe you can also call the adaptive mesh with the following but I have not tested it:
1 |
BED_MESH=ADAPTIVE |
The adaptive meshing in Klipper allows for you to call BED_MESH=ADAPTIVE , BED_MESH=FULL , BED_MESH=NONE .
- Adaptive: will create an adaptive mesh around your part
- Full: will probe the entire bed for a new mesh
- None: will not probe a new mesh and will load the default mesh already saved
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
;ELEGOO NEPTUNE 4 MAX M220 S100 ;Set the feed speed to 100% M221 S100 ;Set the flow rate to 100% M104 S140 M190 S[bed_temperature_initial_layer_single] G90 G28 ;home ;BED_MESH_CALIBRATE ;BED_MESH_PROFILE LOAD=default BED_MESH_CALIBRATE ADAPTIVE=1 G1 Z10 F300 G1 X165 Y0.5 F6000 G1 Z0 F300 M109 S[nozzle_temperature_initial_layer] G92 E0 ;Reset Extruder G1 X165 Y0.5 Z0.4 F300 ;Move to start position G1 X265 E30 F400 ;Draw the first line G1 Z0.6 F120.0 ;Move to side a little G1 X260 F3000 G92 E0 ;Reset Extruder |
Now it will make an adaptive mesh.
Input Shaping with OpenNept4une
Input shaping is done a little bit different with OpenNept4une, you cannot access input shaping from the touchscreen anymore. You now have to utilize Klipper and the console. Enter one of the following in the printers console and it will automatically handle the rest. You can also make these macro buttons if you wish.
SHAPER_CALIBRATE will calibrate both the X and Y axis SHAPER_CALIBRATE AXIS=X calibrates the X axis SHAPER_CALIBRATE AXIS=Y calibrates the Y axisWhen you are done enter SAVE_CONFIG into the console to save the shaper settings.
Slicer Meta Data
In one of my previous posts for the Neptune 4 Max I described how to add a plugin to Orca Slicer to get the thumbnails working. Well the great news is that OpenNept4une does NOT need it! OpenNept4une can read Orca Slicers meta data just fine – and all of it!
Calibration
New software means it is time to rerun all of those calibrations all over again! Yes! Do them all! Don’t forget to do the input shaping also (see below).
Z-offset, screws tilt, flow calibrations, speed tests, retraction. All of em.
[https://github.com/OpenNeptune3D/OpenNept4une/wiki/Printer-Calibration-%E2%80%90-Klipper-&-OrcaSlicer]
Obico
I wrote up a guide for install Obico on a stock Neptune and self-hosting the service on a computer I already had. Since this is a new install there is a different way to install Obico, a much easier way. Launch ~/kiauh/kiauh.sh from an SSH session and run the install menu for Obico. It will handle the printer side of things, you still configure your self-host the same way as I posted before. If something goes wrong you you need to edit it you can also link Obico from KIAUH. I had no issues walking through menus and it linked right away.
Spoolman
Default back to factory
[https://github.com/OpenNeptune3D/OpenNept4une/wiki/Reverting-back-to-Original-Elegoo-Firmware-&-Software] [https://github.com/NARUTOfzr/neptune4plus_4max_klipper_images/releases/]
Orca profiles for OpenNept4une
[https://github.com/OpenNeptune3D/OpenNept4une/tree/main/orca-profiles]
Important OpenNept4une Links
OpenNept4une GitHub release page
– OpenNept4une Orca Slicer profiles
– How to power off the printer properly
OpenNept4une GitHub issue tracker
Discover more from Its_All.Lost
Subscribe to get the latest posts sent to your email.