Skip to main content

Usage Instructions

This guide is for installing and configuring moon2uart on a Raspberry Pi system, enabling the Nova 3.5 serial screen to communicate with the Klipper host via UART.

ItemDescription
Reference SystemRaspberry Pi OS with Desktop
Reference VersionDebian GNU/Linux 12 (bookworm)
PrerequisitesKlipper and Moonraker installed, with browser access to Mainsail or Fluidd
Operation MethodRequires SSH login to the Raspberry Pi

Before starting, please confirm the system version:

cat /etc/os-release

If the output contains something like PRETTY_NAME="Debian GNU/Linux 12 (bookworm)", the system version matches this guide.

Loading...

If using another Linux host system, you may still refer to this guide, but file paths, serial port names, or service management methods may differ and need adjustment according to your actual system.

Wiring Instructions​

Power Off Before Wiring

Before starting, completely turn off the printer and disconnect the power supply. Do not plug or unplug wiring harnesses, adjust connector pin order, or touch terminals while powered on.

Nova 3.5 uses UART serial communication. Wiring requires connecting 5V, GND, TX, and RX. On the Raspberry Pi side, the UART pins are GPIO14 (TXD, physical pin 8) and GPIO15 (RXD, physical pin 10). When wiring, connect the screen's TX to the Raspberry Pi's RX, and the screen's RX to the Raspberry Pi's TX. Connect 5V and GND according to the screen's silkscreen labels. The specific wiring diagram is being supplemented; after wiring is complete, proceed to the software configuration below.

Installing Components​

Run the following command in SSH to automatically install moon2uart:

curl -sSL https://cnb.cool/3dmellow/public/Moon2Uart/-/git/raw/master/scripts/install.sh | sudo bash
Loading...

Editing System Serial Configuration​

Step 1: Enable Raspberry Pi UART​

Open the /boot/firmware/config.txt file:

sudo nano /boot/firmware/config.txt

Add the following content at the end of the file:

enable_uart=1
dtoverlay=miniuart-bt
force_turbo=1
dtoverlay=uart0
Loading...

After adding, press Ctrl + S to save, then Ctrl + X to exit the editor.

Step 2: Disable System Serial Console​

Open the /boot/firmware/cmdline.txt file:

sudo nano /boot/firmware/cmdline.txt

If the file contains console=serial0,115200, delete this part to prevent the system console from occupying the serial port.

Loading...

After modification, press Ctrl + S to save, then Ctrl + X to exit the editor.

Step 3: Adjust Log File Permissions​

Run the following command in SSH:

sudo chmod 777 /home/pi/printer_data/logs/moon2uart.log

No output usually indicates success. If the system user is not pi, replace /home/pi/printer_data with the actual printer_data path.

Loading...

Step 4: Modify moon2uart Configuration​

Open the Klipper web interface via browser, such as Mainsail or Fluidd, then open the moon2uart.conf file.

Loading...

Find the SERIAL_PORT= configuration item and change the serial port address to:

SERIAL_PORT="/dev/ttyAMA0"

Also ensure PRINTER_DATA_PATH points to the actual printer_data path on the current system, for example:

PRINTER_DATA_PATH="/home/pi/printer_data"
Serial Port Name

The UART device name on the Raspberry Pi may vary depending on the system version, hardware model, or system configuration. If /dev/ttyAMA0 is not available, try /dev/ttyS0, or modify it based on the actual serial device name in your system.

For other host systems, use the corresponding serial port name. For example, FLY hosts typically use /dev/ttyS0.

Loading...

After modification, click SAVE in the upper right corner to save the configuration.

Loading...

Step 5: Reboot the Raspberry Pi​

After saving the configuration, reboot the Raspberry Pi to apply the system serial configuration:

sudo reboot
Loading...