**NOTE: The Touch-Screen Display Service is in Beta (Most functions work and recieves frequent code updates). An alternative until the service is completed is the mobileraker phone app **
LED’s, ADXL & WiFi Working on all Variants
Credits:
- Community Members: SQUIRRELYMOOSE, DanDonut, Jaerax, SmartHome42/Printernbeer & Tom's Basement
- Projects:
- Armbian 24.02.0-trunk Bookworm with Linux 6.1.67-current-rockchip64 (Credit)
- Elegoo Services Removed (No Z-Axis Issues)
- KAMP configured and installed
- Bed Leveling Macros
- Axis_Twist_Comp_Tune - Macro (Klipper Docs)
- PID Calibration Macros
- Easy WiFi config
- Axis Twist Compensation Configured
- Working segmented bed heaters (N4Pro)
- Armbian packages updated (as of Dec 2023)
- No need for Elegoo Firmware Updates (Updated in Fluidd GUI or Kiauh)
- Crowsnest Current (Main) w/ ustreamer
- Orca Slicer Profiles Provided
- Simplified printer.cfg (Credit: Modified SmartHome42/Printernbeer & Tom's Basement Neptune 4 Config)
- Renamed variables for readability
- Corrected instructions for Flashing v0.12 Klipper MCU Firmware
- Firmware Retraction configured
- E & Z Steppers configured for 32 microsteps
- X & Y Steppers at 16 microsteps with Interpolation and stealthChop enabled
- SPI ADXL345 & Mellow Fly-ADXL345 USB Accelerometer configuration included
Overview:
- Determine stepper motor current & PCB version (N4 & Pro Only)
- Flash eMMC with the latest OpenNept4une release image
- Update third-party modules in Kiauh / Fluidd or Mailsail
- Run the OpenNept4une script and select: 0ption 1) Install the latest OpenNept4une Printer.cfg (Select y for all prompts)
- After reboot re-run the OpenNept4une script and select: Option 4) Update MCU & (Virtual) MCU RPi Firmware (Select Both)
Preparation (N4 & N4 Pro Models Only: If Plus or Max skip to - Requirements for Flashing the Image):
The setup script will prompt you for two inputs: the stepper motor current, as well as the PCB version (N4 and N4 Pro only). ELEGOO has released the printers with two different types of steppers using different current and multiple board revisions. Warning: Choosing the wrong current might damage the stepper motors permanently, so it is better to double check, before picking a value.
Determining Stepper Motor Current: There are multiple ways to determine which current the steppers are running at, you may chose either of them to determine which current your servos use:
-
Checking the serial number (as suggested by ELEGOO): In the official firmware upgrade guide ELEGOO suggests to use the serial number that is printed onto the bar code of your printer, to determine which servo is used:
For Neptune 4: Before July 2023, it is using the 0.8A steppers, in and after July 2023 the 1.2A ones.
For Neptune 4 Pro: Before June 2023, it is using the 0.8A steppers, in and after June 2023 the 1.2A ones.
-
Checking the stock
printer.cfg
that shipped with your printer: If you still have access to your printers files, you can check theprinter.cfg
for the current value. In the "TMC UART configuration" section, you will find thetmc2209
stepper configuration. Therun_current
value of thestepper_x
andstepper_y
will either say "0.8" or "1.2", that is your printers stepper motor current to input into the install script. -
(Most safe) checking the inscription on the steppers themselves: Check the side of the X/Y stepper motors, they should either say "BJ42D15-26V77" which is the 0.8A or "BJ42D22-53V04" which is the 1.2A current variant. See this image for a comparison.
Determining the PCB Version:
The second value needed by the install script is the PCB version. When you remove the eMMC for flashing make sure you keep an eye on the silkscreening on the PCB, it should either state V1.0 or V1.1, that is the input value when prompted in the script (see the yellow squares in these images for reference):
Requirements for Flashing the Image:
- Makerbase MKS EMMC-ADAPTER V2 USB 3.0 Reader For MKS EMMC Module: AliExpress
- Alternatively, a spare eMMC & eMMC > microSD adapter: AliExpress
Printer Terminal Access Options:
Terminal / Shell access via SSH (Requires ethernet connection) -
ssh mks@printer ip
Password = makerbase
User: root can login via - root:makerbase\ (not advised)
------------------------------------------------
PuTTY / Serial terminal access (Without Ethernet) -
Connect N4P USB-C port to PC Then connect via Serial COM8 (yours
will be different) set baudrate to 1500000
User: mks
Pass: makerbase
------------------------------------------------
Installation:
- See the Releases section for the latest pre-configured OpenNept4une eMMC Image. Flash with balenaEtcher or dd.
- Recommended to Back-Up original eMMC beforehand.
- Run the following startup scripts with Ethernet connected (as user mks)
Run Kiauh for the latest Updates
~/kiauh/kiauh.sh
- In the Kiauh menu, select Option (2), type key (a), and press ENTER.
- Once complete quit out of Kiauh.
Install latest OpenNept4une Printer.cfg & Update MCU & (Virtual) MCU RPi Firmware
cd ~/OpenNept4une/ && git fetch --all && git reset --hard origin/main && git clean -fd
~/OpenNept4une/OpenNept4une.sh
- Perform Option (1): Install the latest OpenNept4une Printer.cfg, When prompted answer (yes) to updating other configurations (KAMP / moonraker etc).
- Once you have rebooted re-run:
~/OpenNept4une/OpenNept4une.sh
- Then Perform Option (4): Update MCU & (Virtual) MCU RPi Firmware (Select Both)
Follow these steps to configure the basic settings on your Neptune 4 printer's custom Armbian image:
- Access Armbian Configuration: Open the terminal and enter the following command:
sudo armbian-config
- Set Timezone:
- Navigate to
Personal
. - Then select
Timezone
. - Choose and set your correct timezone.
- Access Network Manager: Use the following command in the terminal to open the network manager:
~/OpenNept4une/OpenNept4une.sh
Option (2): WiFi Config 2. Connect to Wi-Fi:
- In the network manager, navigate to
Activate a connection
. - Select your Wi-Fi network and enter the necessary credentials to connect.
Remember to save your settings before exiting any configuration menus.
- Download the latest Official Release OrcaSlicer
- Configure Orca defaults for your machines model before import.
- Check/confirm Bambu Network Engine install
- Download the latest OrcaSlicer Profiles
- In OrcaSlicer click [File > Import > Import Configs...]
Config / Tuning Macros below (found pre-configured in Fluidd |
BedTune/Level macros will begin after heating- do Probe Z Offset
cold):
------------------------------------
BED_LEVEL_SCREWS_TUNE
[Klipper Docs]
(Rerun macro after each round of corrections)
CALIBRATE_PROBE_Z_OFFSET
(Paper Thickness Test. When you determine a value, click Accept and
run a SAVE_CONFIG command after)
AUTO_FULL_BED_LEVEL
(Not required as using KAMP meshes before print, but useful
to see how level the whole bed is - Click Save Config & Restart
after)
-------------------------
(Note: Do each of these separately and from a low temp not whilst
hot if Non-Pro only do the inner bed PID macro after tuning
the extruder)
PID_TUNE_EXTRUDER
PID_TUNE_INNER_BED
PID_TUNE_OUTER_BED (N4Pro only)
-------------------------
Pressure advance value will need your own data.
[https://www.klipper3d.org/Pressure_Advance.html]
Input shaping values will also need your own data
[https://www.klipper3d.org/Resonance_Compensation.html]
(SPI ADXL345 & Mellow Fly-ADXL345 Pre Configured for tuning)
After editing configs or calibrating, save in the fluidd
interface, then in fluidd select the top right menu > Host >
reboot. Avoid direct power cycles; this ensures changes are saved from
RAM to eMMC.
(If using the provided OrcaSlicer profiles you can skip this)
START CODE
NOTE all text including PRINT_START and after must be on one line
;Nozzle diameter = [nozzle_diameter]
;Filament type = [filament_type]
;Filament name = [filament_vendor]
;Filament weight = [filament_density]
PRINT_START BED_TEMP=[hot_plate_temp_initial_layer] EXTRUDER_TEMP=[nozzle_temperature_initial_layer] AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]}
PRINT END CODE
PRINT_END
Displaying Thumbnails on the Original Display
All Slicers that generate thumbnails that moonraker is capable of understanding should work. The display uses 160x160 pixels to display the thumbnail, so your generated thumbnails should be at least that size.
START CODE
NOTE all text including PRINT_START and after must be on one line
;Nozzle diameter = [nozzle_diameter]
;Filament type = [filament_type]
;Filament name = [filament_vendor]
;Filament weight = [filament_density]
PRINT_START BED_TEMP=[first_layer_bed_temperature] EXTRUDER_TEMP=[first_layer_temperature] AREA_START={first_layer_print_min[0]},{first_layer_print_min[1]} AREA_END={first_layer_print_max[0]},{first_layer_print_max[1]}
PRINT END CODE
PRINT_END