Basic GCODE processing over MCU UART (Brings TJC and Nextion Support)

I’d like to add a base feature so that UART ports on the MCU can be used to process GCODE commands.

The primary end goal is to port my existing 3D printer interface to Klipper. A proof of concept can be seen here:


Reserved .

Having no good leads to follow, today I will begin reading Klipper’s source from the beginning.

This file has a lot of interesting things in it. It appears to be doing exactly what I want but instead for pysimulavr.

I’ve made the following bookmarks as I go through the code:

Here is an interesting post about prior attempts to integrate other types of screens, possibly serial based.

My general understanding is that another developer worked on serial port forwarding in the past - GitHub - Desuuuu/DGUS-reloaded-Klipper: DWIN T5UID1 touchscreen firmware for 3D printers running Klipper. . I’m not aware of the current status of that code.

In general, it seems most developers have focused on higher-end touchscreens connected directly to the Raspberry Pi (or similar host) and controlling them via KlipperScreen, Moonraker, or web browser.


I’ve rewritten the title and first post to better reflect this feature.

I have made significant progress on my own by studying the works of ETET100, E4ST2W3ST, and Desuuuu, even conversing with some of them. I have also examined pull requests and forks for BTT, Ender, and Neptune screens, reading the Klipper codebase, and studying UART and microcontroller code.

Instead of integrating any specific screen, I aim to provide a small, foundational feature that will support a variety of use cases.

Last week provided a great success. This output is using UART2 on the Octopus to send serial data to my FTDI USB to serial adapter.


In celebration I whipped up a new home screen design: