Software Development Kits (SDKs)

These kits provide building blocks to developers building UPnP devices and services. There are solutions offered by UPnP Forum Members as well as Open Source Providers.

SDK and stack solutions offered by UPnP Forum Members (alphabetical by name):


Allegro bva@allegrosoft.com www.allegrosoft.com/romplug.html
Allegro’s RomPlug suite of UPnP/DLNA  toolkits offer your engineering team flexible and robust technology to build state of the art consumer electronics and mobile devices. In addition to core UPnP / DLNA technology, Allegro offers a variety of UPnP/DLNA application specific toolkits to create Digital Media Players (DMP), Digital Media Servers (DMS), Digital Media Renderers (DMR) and Digital Media Controllers (DMC). Additionally, Allegro supports link protection protocols with the RomPlug DTCP and RomPlug WMDRM toolkits. Allegro's RomPlug IGD toolkit provides a UPnP framework for creating an Internet Gateway Device.

Applied Informatics info@appinf.com http://www.appinf.com/
Cross-platform UPnP stack for devices and control points, implemented in C++, based on the POCO C++ Libraries (http://pocoproject.org). Works on Linux, Windows, Windows Embedded CE, Mac OS X, iOS, QNX and other platforms. Includes sample applications implementing Media Server and Lighting Controls. Royalty-free licensing, delivered with full source code.

Atinav gyasika@atinav.com www.atinav.com
ANSI-C and Java stack. Solution is integrated with Bluetooth (PAN support and LAN support). Solution optionally provided with OSGi bundle.

AwoX contact@awox.com www.awox.com
AwoX provides SDKs integrated in over 50 million products: TVs, mobile phones, tablets, set-top-boxes, gateways, and computers. AwoX Renderer SDK (DMR) turns your device into a DLNA certified renderer. Framework for easy integration with your media player. AwoX Controller SDK (DMC/DMP) build a DLNA certified media player/controller user experience, including Remote User Interface Control. AwoX Server Plugin SDK (DMS) turns your device into a DLNA certified server. Serve local or internet content to any DLNA player/renderer. Plug-in architecture for transcoding, remote access, Internet radios & TVs, and includes Remote User Interface Server. We also provide DTCP Sink and Source SDKs to enable link protection streaming for your devices.

CyberGarage skonno@cybergarage.org http://www.cybergarage.org/net/upnp
Open source UPnP frameworks for major programming languages C, C++, Java, Perl and Objective-C. Supports major platforms, Linux, Windows, MacOSX, WindowsCE, Android and iPhonOS etc.

DigiOn, Inc. sdksales@digion.com http://www.digion.com/en/pf/hmsdk/
UPnP Stack for both of ControlPoints and Devices. Includes practical sample source codes to develop DLNA Device Classes and Capabilities. Available for Linux, Windows, VxWorks, Android and iPhone OS.

EBS Inc. vikram@ebsembeddedsoftware.com www.ebsembeddedsoftware.com
Advanced, extremely portable embedded UPnP Stack written in ANSI-C is available royalty free. For more details visit http://www.ebsembeddedsoftware.com/product_UPnP_overview.htm

Intel ylian.saint-hilaire@intel.com http://opentools.homeip.net/dev-tools-for-upnp

A complete set of open source tools for creating and testing UPnP solutions. They include Device Spy a generic control point and Device Builder a code generation tool.

New! A DeviceProtection open source implementation is now available at the link above.


Microsoft dcampbel@microsoft.com http://msdn.microsoft.com/embedded/windowsce/default.aspx
Windows CE .NET Supported processors: http://www.microsoft.com/windows/Embedded/ce.NET/evaluation/hardware/processors.asp

Microsoft henryr@microsoft.com http://msdn.microsoft.com/en-us/library/aa382303(VS.85).aspx
Next edition of Platform SDK. UPnP Device Host APIs provide a set of APIs for building PC based UPnP devices and bridges. The platform SDK will include documentation, tools, samples and headers for using these APIs. Download and install Core SDK and Internet Development SDK.

Plutinosoft platinum@plutinosoft.com http://www.plutinosoft.com/platinum
The Platinum UPnP SDK is a dual-license, royalty-free cross-platform C++ library used in many commercial applications and open source projects. The SDK includes full source code access, documentation and samples for building control points and devices. Available for Linux, Windows, Mac OS, Android and iPhone iOS.

Wipro Technologies arvind.jayabal@wipro.com http://www.wipro.com/industries/consumer-electronics/solutions/home-networks.htm
Wipro UPnP SDK is available as a C++ and Java implementation including documentation and samples. Supports IGD NAT Traversals. 

SDK and stack solutions offered by Open Source Providers (alphabetical by name):

Disclaimer of Non-endorsement: This page contains links to other sites which UPnP Forum provides for informational and convenience purposes only. UPnP Forum does not control or monitor these sites, nor does their inclusion mean that UPnP Forum recommends or endorses these sites, the organizations or companies that run the sites or anything contained within the sites. UPnP Forum in no manner endorses, sponsors, recommends, certifies or approves these open source providers and/or their products or offerings.


Cling UPnP SDK http://teleal.org/projects/cling
Cling is an effort to create a UPnP-compatible software stack in Java. The project's goals are strict specification compliance, complete, clean and extensive APIs, as well as rich SPIs for easy extension.

GUPnP UPnP SDK http://www.gupnp.org
GUPnP is an elegant, object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible. It provides the same set of features as libupnp, but shields the developer from most of UPnP's internals.

Herqq UPnP (HUPnP) UPnP SDK http://www.herqq.org/
A software library for building UPnP devices and control points conforming to the UPnP Device Architecture version 1.1. It is designed to be simple to use and robust in operation. It is built using C++ and the Qt Framework following many of the design principles and programming practices used in the Qt Framework. It integrates into Qt-based software smoothly and enables truly rapid UPnP development.

igd2-for-linux UPnP IGD:2 device http://gitorious.org/igd2-for-linux
This is The Linux UPnP Internet Gateway Device 2. It is modified from the original Linux UPnP Internet Gateway Device [http://linux-igd.sourceforge.net/] according UPnP InternetGatewayDevice:2 specifications.

linux-igd UPnP IGD:1 device http://linux-igd.sourceforge.net
This project is a deamon that emulates Microsoft's Internet Connection Service (ICS). It implements the UPnP Internet Gateway Device specification (IGD) and allows UPnP aware clients, such as MSN Messenger to work properly from behind a NAT firewall.

MediaTomb UPnP AV MS:1 device http://mediatomb.cc
MediaTomb is an open source (GPL) UPnP MediaServer with a nice web user interface, it allows you to stream your digital media through your home network and listen to/watch it on a variety of UPnP compatible devices.

MiniUPnP UPnP IGD:1 device and CP http://miniupnp.free.fr
The MiniUPnP project offers software which supports the UPnP Internet Gateway Device (IGD) specifications.

pupnp UPnP SDK http://pupnp.sourceforge.net
The portable SDK for UPnP Devices (libupnp) provides developers with an API and open source code for building control points, devices, and bridges that are compliant with Version 1.0 of the Universal Plug and Play Device Architecture Specification and support several operating systems like Linux, *BSD, Solaris and others.

QT-BRisa UPnP SDK http://brisa.garage.maemo.org/
BRisa is a project focused on the development of UPnP technologies. It provides two projects: the python-brisa and qt-brisa, while a third project is under development: a java version. BRisa Python and Qt implement the UPnP specification 1.1 and shares the same framework API to building UPnP devices, services and control points. This means that developers are able to implement application in one of these programming language reading only a common programming API. In this way, developers only needs to learn just one API and implement UPnP applications in the programming languages BRisa project provides, this prevents, among other problems, have to learn other UPnP stack/API in case it is necessary to migrate codes from one programming language to other. BRisa project is released in MIT License (Python version) and in LGPL License (Qt version).

UPnP-DM_Linux UPnP DM:1 http://sourceforge.net/p/upnpdm
This is a Linux UPnP Device Management version 1 that implements Basic Management and Configuration Management services, according UPnP DeviceManagement:1 specifications.