Tailscale for constrained microcontroller-class devices

What’s the feasibility of developing a tailscale client for constrained IoT devices? By constrained I mean KBs of RAM (maybe 128KB at most?,) 100MHz single core, 1 MB of Flash, etc. In the world of microcontroller devices there aren’t general purpose operating systems, but rather purpose-built lightweight OSes called “RTOSes,” or real-time operating system (the real-time aspect is a red herring in this context.)

There exists a C library for WireGuard targetting these types of constrained devices. Besides protocol implementation (and some networking bits,) what else would be needed to implement a tailscale client for that kind of target? What are some additional challenges I might run into?

1 Like