ESP32 connection via UART bypassing USB-UART

Hello fellow developers!
Recently, my friends and I began to make a telegram bot for sending messages from the air to telegrams and operational control of the meshtastic network.
I make the hardware based on a meshtastic-device and Orange-Pi-Zero. I’m making a LoRa-Hat. With the classic experimental product, the meshtastic-device works well and there are no problems. The problems started when trying to optimize the hardware. The CLI-meshtastic application (Command line interface) refuses to see the ESP32 module without the USB-UART microcircuit.

Prototype :
LoRaRF → ESP32 → USB-UART → OrangePi
Everything works here.
meshtastic --port = / dev / ttyUSB0 --info
shows normal connection and test recall.

In second version of the hardware assembly:
I get rid of the USB to UART converter into the meshtastick-device and connect the ESP32 directly to the Orange-Pi-Zero through the activated UART-1.

The “setserial” command does a good job with the orange-pi hardware:
orangepizero: ~: # setserial -g / dev / ttyS *
/ dev / ttyS0, UART: 16550A, Port: 0x0000, IRQ: 49
/ dev / ttyS1, UART: 16550A, Port: 0x0000, IRQ: 50
/ dev / ttyS2, UART: unknown, Port: 0x0000, IRQ: 0
/ dev / ttyS3, UART: unknown, Port: 0x0000, IRQ: 0
/ dev / ttyS4, UART: unknown, Port: 0x0000, IRQ: 0
/ dev / ttyS5, UART: unknown, Port: 0x0000, IRQ: 0
/ dev / ttyS6, UART: unknown, Port: 0x0000, IRQ: 0
/ dev / ttyS7, UART: unknown, Port: 0x0000, IRQ: 0

Note: /dev/ttyS0 is the UART hardware console for accessing the Orange-Pi interface, I don’t touch it. I am working from /dev/ttyS1.

An error occurs at this point, because python cannot detect activated UART1:
orangepizero: ~: # meshtastic --port = /dev/ttyS1 --info
Traceback (most recent call last):
File “/ usr / local / bin / meshtastic”, line 8, in
sys.exit (main ())
File “/usr/local/lib/python3.8/dist-packages/meshtastic/main.py”, line 777, in main
common ()
File “/usr/local/lib/python3.8/dist-packages/meshtastic/main.py”, line 583, in common
client = meshtastic.serial_interface.SerialInterface (
File “/usr/local/lib/python3.8/dist-packages/meshtastic/serial_interface.py”, line 52, in init
StreamInterface .__ init __ (
File “/usr/local/lib/python3.8/dist-packages/meshtastic/stream_interface.py”, line 50, in init
self.connect ()
File “/usr/local/lib/python3.8/dist-packages/meshtastic/stream_interface.py”, line 74, in connect
self._waitConnected ()
File “/usr/local/lib/python3.8/dist-packages/meshtastic/mesh_interface.py”, line 362, in _waitConnected
raise Exception (“Timed out waiting for connection completion”)
Exception: Timed out waiting for connection completion

I tried to dig deeper into the problem and the only thing that I could find with my knowledge:
With the USB-UART converter, a call to the port check procedure shows:
orangepizero: meshtastic: # python3 -m serial.tools.list_ports
/dev/ttyUSB0
1 ports found

If we remove the USB-UART port, then:
orangepizero: meshtastic: # python3 -m serial.tools.list_ports
no ports found

I don’t know if it’s an operating system problem or a CLI-meshtastic problem or something else I don’t know.
Help Wanted!
Any ideas how to run СLI-meshtastic directly from UART to ESP32?
I want somewhere in the CLI-meshastic code to be able to hardcode the connection, let’s say on /dev/ttyS1.

I have kind of same plan: LoRaRF → ESP32 → OrangePi.
Now I read Meshtastic is supported on Raspberry Pi Pico W…
I’m trying to see if it’s possible to make it work as well on Raspberry Pi Zero W, maybe with the help of the Python CLI.