Internet of Things

Because the IoT encompasses a diverse collection of smart connected devices and capabilities, developers need to satisfy a wide range of software requirements, especially in terms of communication and security.

SEGGER has the solution to these complex requirements. Our complete software portfolio provides the solid foundation on which to built your application. With SEGGER software, you can accelerate your time-to-market with software and tools that simply work.

Key features

  • Complete end-to-end solution for any IoT scenario
  • Optimized for resource-constrained embedded systems
  • Algorithms optimized for performance of your target device
  • High performance with low memory footprint

What is an IoT Device?

First, there is the functional side of the IoT device. This functional part is essentially an embedded system as we have known it for years. Second, IoT devices interact with each other, a server or the cloud. To achieve this, the device needs to find its counterparts; this is supported by protocols such as MQTT. The connection itself is handled via IP or UDP based protocols.

Communication increases the exposure of the IoT device, which makes it more important to keep the different aspects of security in mind during development. There are multiple ways of compromising an IoT device, therefore the use of secure components is highly recommended. Such components may include transport layer security, secure shell, digital signatures, and certificates to block out unwanted communication or snooping.

As the environment for the IoT device constantly changes, another security component is its ability to adapt to these changes. This makes it a requirement to allow in-field upgrades.

How does SEGGER support the development of IoT devices?

We offer a complete end-to-end solution. Our customers have access to a comprehensive IoT package that covers all areas from development tools to standard firmware components.

Software IP components from SEGGER, such as emSSL Transport Layer Security (TLS), emSSH Secure Shell, emSecure Digital Signature suite, emCrypt Encryption libraries, emWeb HTTP Web server, and emNet TCP/IP stack, to name a few, can be used as foundations for your securely connected IoT device. Our software works on virtually any MCU. We work with all major silicon vendors, keeping our fingers on the pulse of their latest developments to enable the next generation of designs. Take our embOS-MPU RTOS for example. This super-reliable OS works effortlessly on today’s Cortex-M based MCUs and is already primed to support the next generation ARMv8-M architecture.

IOT

Connected devices requiring User Interface (UI) or Human Machine Interface (HMI) support can take advantage of SEGGER’s popular graphics package emWin. Licensed by many of the top semiconductor companies, its popularity is a testament to its robustness and flexibility, perfect for implementing your custom graphical interface.

In addition to our software suites, system developers can also take advantage of SEGGER’s Embedded Studio IDE, our SystemView tracing tool, and our industry-leading J-Link debug probe, all from one reliable, established vendor.

Custom IoT solutions can be developed on demand, utilizing SEGGER’s embedded engineering know-how and expertise.

Example IoT projects

The range of IoT applications is almost endless. Almost every product can be built to connect to other devices, or the internet, and to publish or receive data. We developed some projects to show how to create a “Thing”. The examples were developed to demonstrate useful IoT applications. To get started, set up the hardware (usually a development board and some sensors), download the firmware, and then see what the Thing does. Want to make your products IoT-ready? Download the example projects to find out how you can create an IoT application with SEGGER Software.

SEGGER Weather Station

IOT Weather Station

Focused Features:

  • Secured communication via MQTT
    • MQTT over TLS
    • MQTT Publish
  • Secured communication via HTTPS
    • GET from a REST API
  • Device configuration and provisioning
    • User data storage
    • Client certification
  • Creating and parsing JSON data
    • Parse server responses
    • Publish messages

The SEGGER Weather Station demonstrates how to create an IoT Node to communicate with an IoT Cloud Service. The IoT Temperature Node registers with the service and publishes its sensor data.

The data is analyzed in the cloud and made available on a website: weather.segger.com

The core of the project is built with embOS as the operating system to handle the different tasks, and emWin for the graphical user interface and user input.

To connect to the internet, the IoT Node uses emNet with optional WiFi support. The connection is secured with TLS, powered by emSSL.

The registration is done with the HTTP Client and JSON Parser of the IoT Toolkit. Device signatures, certificates, and verification is done with the cryptography algorithms of emCrypt

The main communication of the IoT Node, publishing the sensor data, uses the MQTT Client, emMQTT, also secured by emSSL

Create your own IoT Temperature Node

SEGGER—IoT products

emPower OS

emPowerOS

Features

  • Complete embedded software suite:
    • Available in source code
    • OS libraries
    • Security libraries
    • Connectivity libraries
  • One-stop solution developed and supported by SEGGER
  • Start application development immediately
  • Runs out-of-the-box on various popular evaluation boards
  • Royalty-free

Software Platform for Embedded Systems and IoT Devices.

The emPower OS source software package includes our core components (RTOS, GUI, File System) and communication software (TCP/IP, USB-Device, USB-Host, Modbus), as well as our IoT Toolkit, Security and Compression modules serving all software needs of modern embedded industrial and IoT devices. Each component is supplied as libraries for any Cortex-M microprocessor and can easily be enabled in your new projects.


Iot Toolkit

Iot Toolkit

Features

  • Easy to use API to get started with IoT applications
  • Supports REST API
  • Supports handling data encoding like JSON

Effortless communication with modern IoT devices

The IoT Toolkit is a collection of libraries that enables communication with modern IoT based environments and devices. It is a high-performance collection of libraries optimized for minimum memory consumption in RAM, ROM, high speed, and versatility working on any device.

emMQTT

emmqtt

Features

  • Full MQTT version 3.1 support
  • Support for Quality of Service data delivery
  • Low memory footprint
  • Independent of the TCP/IP stack: any stack with sockets can be used
  • Project for executable on PC for Microsoft Visual Studio included

Full support for the so-called IoT protocol

emMQTT is an MQTT client using the socket interface. It can be used with any IP stack supporting the socket interface such as emNet.


emWeb

emweb

Features

  • Provide easy to use graphical interfaces for control or data acquisition
  • Supports modern standards like WebSockets (additional add-on), REST, SSE and many more
  • Can be used on embedded targets or PC (Windows/Linux/…) and Mac

Provide easy to use graphical user interfaces that can be accessed from anywhere!

emWeb allows you to use the most widely accepted language for providing Graphical User Interfaces in the world, HTML.

emNet

emnet

Features

  • IPv4 and IPv6 ready
  • Connections limited only by memory availability
  • Developed from ground up for embedded systems
  • Various application layer protocols like MQTT, HTTP, FTP available

Ideal for Any Network Application

emNet is a high-performance TCP/IP stack that has been optimized for speed, versatility and a small memory footprint. It is written in ANSI C and can be used on virtually any CPU.


WiFi Support

Wifi Support

Features

  • Seamless integration with the emNet stack
  • Simple, easy to integrate, unified API regardless of the WiFi module used
  • No need for re-certification by using WiFi certified modules
  • Access Point support (depends on module features)
  • Support for all Ethernet based protocols (not only TCP/UDP)
  • Support for various host MCU interfaces like UART / SPI / SDIO / RMII
  • Add-on modules for the emPower eval board available

WiFi Connections Supported by Unified API

WiFi support is a solution to add WiFi (IEEE 802.11) support to your product. It supports various WiFi modules from different vendors to be added to your product easily.

Mobile Networks

Mobile Network

Features

  • Low memory footprint
  • Supports PAP authentication protocol
  • Support for PPP over Ethernet

Get Your Mobile IoT Device Connected at Any Location

Connect your embedded system with an LTE / UMTS / GPRS modem via PPP (Point to Point Protocol) and get access to a network. The emNet PPP implementation is an optional extension which can be integrated into your TCP/IP application seamlessly. It combines a maximum of performance with a small memory footprint.


emSSL

emssl

Features

  • Secures your connection
  • Compatible with any modern server
  • Easy to understand

Reliable, Secure and Built for IoT Devices

emSSL is a software library that enables secure connections across the Internet. emSSL offers both client and server capability. SSL/TLS is a must-have in nearly every application which is connected to the Internet. Products of the IoT, smart grid or home automation markets benefit from securing their communication.

emSSH

emssh

Features

  • Secures your connection
  • Compatible with popular SSHv2 clients
  • Supports popular hardware cryptography accelerators

Provide Security for The Administration Interface of Your Device

emSSH is a software library that enables secure login to your embedded system. emSSH offers the possibility to establish a secured connection to any server application in your product. It can be used both target independently in native computer applications and in embedded targets.


emCrypt

emcrypt

Features

  • Proven modern cryptography standards
  • NIST-validated implementations of many algorithms
  • Secure, fast, and cleanly-written code

Secure Data and Communication Protocols for Your IoT Device

emCrypt is a secure and efficient implementation of all essential cryptographic algorithms specifically designed for embedded systems and IoT devices.

emSecure

emsecure

Features

  • Asymmetric algorithms – Dual keys, private and public make it 100% safe
  • Different algorithms available – Fitting any requirements
  • Hardware-independent, any CPU, no additional hardware needed

Secure Your Device and Prevent Cloning

emSecure is a software solution to securely authenticate digital assets. It can be used to secure products against hacking and cloning at no per unit cost.


emCompress

emcompress

Features

  • Highly efficient compression
  • Small decompressor ROM footprint
  • Wide range of codecs to choose from

Save ROM to Save Money

emCompress is a compression system that is able to reduce the storage requirements of data that must be embedded into an application. Compress on the host in advance, decompress in the target on demand.

emLoad

emload

Features

  • Straightforward configuration
  • 100% save & fast: CRC check implemented
  • Completely portable and runs on any target

Make Software Updates of Your IoT Device Easy

emLoad allows straightforward updates of embedded applications either with a USB stick, with an SD card or via USB-connection to a PC – or else via a serial connection (type RS-232, RS-485).


emFTP

emftp

Features

  • Multiple connections supported
  • Independent of the file system: Any file system such as emFile can be used
  • Independent of the TCP/IP stack: Any stack with sockets such as emNet can be used

Efficient File Transfer for IoT Devices

emFTP is the ideal software solution to exchange files using the FTP protocol. Edge devices can easily transfer their collected data to a server or provide them as a service via FTP.

emFile

emfile

Features

  • Multiple device driver support. You can use different device drivers with emFile, which allows you to access different types of hardware with the file system at the same time
  • Cache support. Improves the performance of the file system by keeping the last recently used sectors in RAM
  • Works with any operating system to accomplish a thread-safe environment

Reliable Data Storage for Your IoT Device

emFile is a file system for embedded applications which can be used on any media for which you can provide basic hardware access functions.


embOS

embos

Features

  • Available for all popular cores, compiler and development tools
  • Unlimited number of tasks, event flags, semaphores, message queues, mailboxes and software timers
  • Deployed in several million devices in a wide range of application areas

The Heart of Every IoT Project

embOS is a priority-controlled real time operating system, designed to be used as a foundation for the development of embedded real-time applications. It is a zero interrupt latency, high-performance RTOS that has been optimized for minimum memory consumption in both RAM and ROM, as well as high speed and versatility.

emModbus

emmodbus

Features

  • Supports ASCII, RTU and Modbus/TCP (and UDP) protocol
  • Sample applications for all protocols included
  • Modbus/TCP can be used with standard socket interface and any TCP/IP stack

Add Industry Standard Protocols to Your IoT Device

emModbus is SEGGER’s implementation of the Modbus protocol. It supports communication via UART (ASCII, RTU) and Ethernet (Modbus/TCP and Modbus/UDP) and is capable to communicate with any Modbus compliant device.


emUSB-Device

emusb-device

Features

  • Support for various device classes like MTP, MSD, CDC, HID and RNDIS available
  • Highly efficient, portable, and commented ANSI C source code
  • Hardware abstraction layer allows rapid addition of support for new devices

Boost Your Connectivity

emUSB-Device is a high performance USB device software specifically designed for embedded systems. The software is written in ANSI C and can run on any platform. A variety of target drivers are already available.

emUSB-Host

emusb-host

Features

  • Control, bulk and interrupt and isochronous transfers
  • Runs out-of-the-box
  • No configuration required

Enhance Your IoT Device Through the Use of USB Host

emUSB-Host implements full USB host functionality, including external hub support, and optionally provides device class drivers. It enables developers to easily add USB host functionality to embedded systems.


emWin

emwin

Features

  • Any 8/16/32-bit CPU; only an ANSI “C” compiler is required
  • Any (monochrome, grayscale or color) LCD with any controller supported (if the right driver is available)
  • Virtual display support; the virtual display can be larger than the actual display

Visualize Your Ideas

emWin is designed to provide an efficient, processor- and LCD controller-independent graphical user interface (GUI) for any application that operates with a graphical LCD.

emDropbox

emDropbox

Features

  • Uses the official Dropbox access API v2
  • Allows your application easy access to a Dropbox account to list files, rename, remove files and more
  • Support for up- and download of files from/to a local directory
  • Available as source package for your own integration upon request

Easy and Secure Data Exchange via Dropbox

SEGGER’s emDropbox is a software library that allows you to easily gain access to your Dropbox account using emSSL and any TCP/IP stack that supports sockets. This allows you to share files between different devices or to publish files like updates to your devices using a Dropbox account.