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.
| Item | Description |
|---|---|
| Reference System | Raspberry Pi OS with Desktop |
| Reference Version | Debian GNU/Linux 12 (bookworm) |
| Prerequisites | Klipper and Moonraker installed, with browser access to Mainsail or Fluidd |
| Operation Method | Requires 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.
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
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
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
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.
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.
Step 4: Modify moon2uart Configuration
Open the Klipper web interface via browser, such as Mainsail or Fluidd, then open the moon2uart.conf file.
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"
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.
After modification, click SAVE in the upper right corner to save the configuration.
Step 5: Reboot the Raspberry Pi
After saving the configuration, reboot the Raspberry Pi to apply the system serial configuration:
sudo reboot