uPnP is implemented for most platforms that support it: uPnP relies on code
that is on the device, the hardware, so platforms like Windows and Linux will have no trouble handling it.
I am not quite sure what you mean. Do you mean to write uPnP code for a certain device? It is designed to be X-platform. And yes, that can be done with fpc-embedded if it has a supported chip.
In effect it is a protocol, not real hardware.
https://en.wikipedia.org/wiki/Universal_Plug_and_Play which is actually pretty good.