@Proxima
If you develop on bare metal, you will still want to use a mature TCP implementation.
It is common to use lwip for those instances [1].
However .. the 1.3 branch uses the POSIX layer of lwip - which depends on threading.
If you go bare-metal, it is advised to use lwip-raw (and lwip-POSIX) w/o threading requirements.
Using lwip-raw can be done for open62541 >1.4 and was one of the use-cases for which the current "EventLoop" was designed.
We have a prototype for this - but not ready for public release.
Hit me up on a private channel if you want to discuss further.
Regards,
Julius