Skip navigation


SEGGER offers a complete portfolio for the developer of firmware for embedded systems. Below are examples where multiple components have been used to demonstrate different use cases.





Weather Station

The SEGGER Weather Station demonstrates how to create an IoT Node to communicate with an IoT Cloud Service.


Remote Display

This demo demonstrates how VNC can be used to create a "headless" system operated by an external user interface.


BASIC Computer

This application uses emBASIC, our feature-rich BASIC interpreter that runs on microcontroller systems and in Windows Simulation.

SEGGER Showcase projects

SEGGER Weather Station

The SEGGER Weather Station demonstrates how to create an IoT Node to communicate with an IoT Cloud Service. 


Highlighted 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

Creating and parsing JSON data

  • Parse server responses
  • Publish messages

Project description

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:


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.



Remote Display

The Remote Display showcase project demonstrates how an embedded system can be used as a remote display to another embedded system, separating the display unit from the control unit.


Products Used

IP based communication via USB

  • emNet
  • emUSB-Device IP-over-USB
  • emUSB-Host LAN

User interface and game controller

  • emWin
  • emWin VNC Server
  • emUSB-Host Vendor class

Project description

The project connects both units with a USB cable that actually serves as an IP connection in order to establish a Virtual Network Computing (VNC) connection. The second USB-Host port on the emPower-USB-Host board is used to connect the game controller.


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 the two systems, the project uses emNet with emUSB-Host and emUSB-Device using IP over USB. The user interface data is exchanged by using emWin VNC Server and a version of emVNC Client that runs on a microcontroller based system.

Using the application

The emPower-USB-Host and the STM32F746G discovery board are connected via USB (CN12 USB High Speed for the discovery board). Then both boards are powered. To establish the VNC connection a button appears close to the top right corner of the display. By touching the button, the two boards establish the IP connection.

Pressing button "A" on the game controller starts the game. To evade the asteroids, the game pad on the controller is used.

Download  Evader game for emPower-USB-Host via VNC

Download  VNC-Client running on STM32F746G Discovery



This application uses emBASIC, our feature-rich BASIC interpreter designed for embedded systems. This project is available on target hardware as well as the Windows simulation. It uses various SEGGER embedded software products such as embOS, emFile, emWin, emUSB and emNet, making it easy to create powerful applications using the components.


Products Used

User interface
  • emWin
  • emUSB-Host HID
File Storage
  • emFile
  • emUSB-Host MSD
  • emDropbox
  • emNet
Remote access
  • emSSH

Project description

This application can be used to learn the computer programming language BASIC, to easily "play" with SEGGER software, but also to create usable applications on real hardware without much effort. Created programs can be stored in the cloud or on the device. Generated programs can be executed stand-alone, by simply powering up the board.


The core of the software is emBASIC, SEGGER's implementation of the BASIC programming language for embedded systems. It can seamlessly interface to a lot of SEGGER software libraries, making access to the internet, cloud storage, USB Keyboards and easier.

In this application, emBASIC uses SEGGER's embedded software as key components. embOS provides the capability to run multiple tasks, servicing networking tasks and USB devices. emNet provides Internet and LAN connectivity. The IoT Toolkit, with emSSL, provides communication to Dropbox where programs can be stored securely. emUSB-Host provides access to flash storage devices for portable storage. emFile provides the file system framework for USB flash drives, on-board NAND devices, and removable SD cards. emWin provides the graphic capabilities of emBASIC and also enables it to display a console on an LCD. And built into emBASIC is the ability to shrink and expand data using emCompress.

Using the application

Two builds of the application are available, one for target hardware and one in the simulation. Both builds use the same source code of application and software libraries and behave in an identical way. BASIC programs written in the simulation can be executed in the same way on the target hardware. The simulator is a great way to write simple yet powerful applications in BASIC and is a great way to make first steps into the exciting world of programming.

Some sample BASIC programs such Conway's game of life are also available for download.

In a special version (available upon request), the command line interpreter can be controlled via network and secure shell using emSSH.

Download  emBASIC Simulation

Download  emBASIC for STM32F746G Discovery

emBASIC showing program code

emBASIC sample running on target

emBASIC demo application running in Windows simulation
emBASIC sample running in simulation

Flasher Portable Plus

Flasher Portable Plus is a portable handheld programmer. It uses various SEGGER embedded software products such as embOS, emFile, emWin and emUSB.


Product description

Flasher Portable Plus is a SEGGER product showcasing an end product intended for service technicians and application engineers. Engineers can easily select an image stored on this Flasher and start programming with just a couple of button presses.


Flasher Portable Plus has been developed by SEGGER engineering using Embedded Studio and J-Link and J-Trace probes during development. The core of the software is created by using SEGGER RTOS and software products. embOS provides the capability to run multiple tasks, programming tasks and USB communication tasks. emFile provides the file system framework to store the firmware images in the memory of Flasher Portable Plus. This can either be done by using the J-Flash software or by using the MSD mode of the Flasher. The user interface has been created using emWin.

Products Used

User interface
  • emWin
File Storage
  • emFile
  • emUSB-Device MSD
  • emUSB-Device
  • embOS

Customer Testimonials

"Using SEGGER's products has been a great move for our firmware. SEGGER’s product reliability and support have substantially facilitated our firmware development."

Jason Schlessmann, adidas Wearable Sports Electronics, U.S.A.

"The AppWizard software helps a lot in making nice UI’s. I think it is a great step for the embedded community using Segger emWin."

Alexander de Jong, Lextron B.V., Netherlands

"I am actively using the J-Link Debugger (Ozone) on several PCs and targets and I am very impressed with the functionality of this version. I am also using the SEGGER Real-Time-Terminal on my Cortex-M0 target (which does not support SWO), directly in J-Link Debugger and it works great as well."

Volkmar Schwert, Miele & Cie. KG

"I have worked using emWin for a week now and I am excited how fast and how well the library works and how easy it is to integrate. Fantastic."

Original: "Ich arbeite sei einer Woche mit emWin und ich bin begeistert wie schnell und gut die Library funktioniert und auch zum Anbinden ist. Echt super."

Thomas Karer, ARRI Cine & Video Geräte, Austria

"Since I started the ARM based project about 3 years ago, I have used your embOS, emFile, and your J-link emulator. They all work great. I am especially happy about the performance of the embOS. My application is a multitasking application including the audio, and real-time video capturing, Flashing writing, and at the same time sending the video to the remote site through a RF radio interface. Without your embOS, I can hardly imagine how I could do all these tasks."

Jimmy Wang, Working for a southern California based company, USA

"We bought a couple of Flasher-ARM devices. We could immediately use them for stand-alone programming of new boards. Flawless software, flawless hardware, a really beautiful product. Thanks for making this available."

Marcus Simons, YiG Engineering, The Netherlands

"I am using emWin for a week now and I am thrilled. This is a very good software package! Thanks to the good documentation and the many examples it is easy to get started. I think we made a very good choice."

Original: "Ich arbeite seit letzter Woche mit emWIN und bin total begeistert. Ein sehr gutes Softwarepaket ! Man kann sich Dank der guten Doku und den vielen Beispielen schnell einarbeiten. Ich glaube wir haben hier eine gute Wahl getroffen."

Dipl.-Ing.(FH) Martin Zeh, software developer, Erhardt + Leimer GmbH, Germany

"I would like to say HUGE THANKS for the incredible work and decision you have made with the Segger Embedded Studio. We have been using this tool a lot recently altogether with Nordic nRF52 (integrated on u-blox NINA-B1). We absolutely love this tool - it gives us great flexibility (simple project management via XML files), stability and speed. We have been using the IDE seamlessly across all OS platforms without a hassle. I can't see myself going back. Thank you."

Pavel Hübner, Co-Founder of HARDWARIO, Czech Republic

"I can vouch for 'It simply works!' I won't do any embedded stuff without at least a J-Link."

Gawie de Vos, Sulani, South Africa

"SEGGER embOS is implemented on each and every electronics control system in the Forze III hydrogen racing kart. During testing and racing, sensordata is vital to gain knowledge about the karts performance. Using emFile, we were able to log all of our sensor data on an SD card. For the live feed to the pit, we needed a telemetrics system. Using emNet made it possible to develop such a system on short notice, while guaranteeing reliability."

Koen Lubbers, Greenchoice Forze, The Netherlands