SlideShare a Scribd company logo
eclipsecon France 2016© IS2T S.A. 2016. All rights reserved.
EDJE PROJECT
The Software Foundation for IoT Devices
https://projects.eclipse.org/projects/iot.edje
eclipsecon France 2016
PRESENTER
Stéphane Mainchain
Director, Customer Care
stephane.mainchain@microej.com
The information contained herein is not warranted to be error-free.
IS2T® and MicroEJ® and all relative logos are trademarks or registered trademarks of IS2T S.A. in France and other Countries.
Java™ is Sun Microsystems’ trademark for a technology for developing application software and deploying it in cross-platform, networked
environments. When it is used in this site without adding the “™” symbol, it includes implementations of the technology by companies other
than Sun. Java™, all Java-based marks and all related logos are trademarks or registered trademarks of Sun Microsystems Inc, in the United
States and other Countries.
Other trademarks are proprietary of their respective owners.
eclipsecon France 2016
ABOUT MICROEJ
eclipsecon France 2016
ABOUT MICROEJ
Independent Software Vendor, global player in the IoT industry
• http://www.microej.com/about
• Software tool & runtime licenses
• Professional services, training & consulting
KEY FINANCIALS
• $5M Series B funding end 2011 – $20M R&D total investment
Offices in France, Germany, USA
Partnerships with key IoT, silicon, embedded SW and HW (EMS) vendors
Expertise in embedded, virtualization, software engineering & process
eclipsecon France 2016
OPERATING SYSTEMS FOR ENABLING THE IOT
RTOS Linux
Volume
75%
IoT = “sub-gig” things:
• Processor < GHz
• Memory < GB
25%
SW Foundation
MPU (>$10 ASP)MCU ($1-6 ASP)
eclipsecon France 2016
EDJE AND IOT
INTRODUCTION
eclipsecon France 2016
EDJE PROJECT
The Hardware Abstraction Java API for the IoT embedded systems
• Peripheral management
• Controller Communication Interfaces (Serial connection, CAN, SPI, I²C)
• Digital and Analog I/O (GPIO, ADC, DAC)
Scope
• Target resource-constrained micro-controller
• Provide ready-to-use software packages for target hardware
• Define a modular and easy to port framework
Project Status
• Eclipse IoT project
• Incubation
• Initial contribution in review
eclipsecon France 2016
IOT TOPOLOGY
IOT DEVICES GATEWAY SERVER
8/16/32-bit MCU Mono-Core
Frequency: < 200 MHz
Flash: < 1 MB
RAM: < 512 KB
32/64-bit MPU Multi-Core
Frequency: in GHz
Flash: in GB
RAM: in GB
MCU
MPU
eclipsecon France 2016
IOT HARDWARE
STM32F4 Discovery Raspberry PI 2
• Processor: 32-bits quad-core
Cortex-A7 (BCM2836)
• Frequency: 900 MHz
• RAM: 1 GB
• Flash: SD Card
• Processor: 32-bits Cortex-M4
(STM32F407VGT6)
• Frequency: 168 MHz
• RAM: 192 KB
• Flash: 1 MB
eclipsecon France 2016
EDJE APPLICATION FIELD
Sensors/Actuators
Local Network
Internet
A library at the edge of the IoT for
sensor hubs and devices
eclipsecon France 2016
EDJE DEVICE
CONFIGURATION
eclipsecon France 2016
List of Java API
• The minimum execution environment provided by an Edje compatible
device
• Intersection between Java SE, Java SE Embedded, MicroEJ and Android
• Includes java.lang, java.util, java.io, …
EDJE DEVICE CONFIGURATION
J2SE
J2SE
Embedded
MicroEJ Android
Edje
eclipsecon France 2016
List of Java API
• The minimum execution environment provided by an Edje compatible
device
• Intersection between Java SE, Java SE Embedded, MicroEJ and Android
• Includes java.lang, java.util, java.io, …
EDJE DEVICE CONFIGURATION
Edje Device Configuration
Edje API
Edje Application
Library
Execution
Environment
eclipsecon France 2016
EDJE API
eclipsecon France 2016
EDJE API
Edje comes with the following services
Controller
Communication
Interfaces
Serial Port
CAN
Digital and
Analog I/O
GPIO
Peripheral
Management
LCD
USB Devices
Analog Input
eclipsecon France 2016
EDJE API
Peripheral Management
• List the peripherals of a platform
o MCU peripherals (UART, timer, USB controller, …)
o Board peripherals (screen, button, LED, sensors, …)
o External peripherals (USB devices, bluetooth devices, …)
• Peripheral plug/unplug notification system
eclipsecon France 2016
EDJE API
Controller Communication Interfaces
• Some peripherals can establish a connection to external devices
o Serial Connection (UART)
o Serial Peripheral Interface (SPI)
o Inter-Integrated Circuit (I²C)
o Controller Area Network (CAN)
• The peripheral implements Connectable interface
• Connection is described by a String
• Example with serial ports:
List<SerialPort> serialPorts = PeripheralManager.list(SerialPort.class);
for(SerialPort serialPort : serialPorts){
Connection connection = serialPort.openConnection("baudrate=115200;bitsperchar=8");
…
connection.close();
}
eclipsecon France 2016
EDJE API
Digital and Analog I/O
• Manage controller pins
• API inspired from Arduino C API
• General Purpose Input/Output (GPIO)
o LED, Buzzer, Button
• Analog to Digital Converter (ADC)
o Potentiometer, Temperature Sensor, Light Sensor
• Digital to Analog Converter (DAC)
o Speaker, Light Dimmer
• Pulse Width Modulation (PWM)
o Motor
eclipsecon France 2016
REFERENCE
IMPLEMENTATIONS
eclipsecon France 2016
REFERENCE IMPLEMENTATIONS
Features
• Peripheral Management
• UART, USB CDC, GPIO, DAC, ADC
Hardware
• Raspberry-Pi 2
• Quad-Cortex-A7 @ 900 MHz
• RAM: 1 GB RAM
Platform
• Kura
• OpenJDK
• Linux
eclipsecon France 2016
REFERENCE IMPLEMENTATIONS
Features
• Peripheral Management
• UART, USB CDC, GPIO, DAC, ADC
Hardware
• STM32F746G-DISCO
• Cortex-M7 @ 200 MHz
• RAM: 8 MB
• Flash: 16 MB
Platform
• MicroEJ OS
• FreeRTOS
• STM32Cube
eclipsecon France 2016
REFERENCE IMPLEMENTATIONS
Features
• Peripheral Management
• UART, USB CDC, GPIO, DAC, ADC
PC Simulation
• Java® SE
• Hardware In the Loop Simulation (HIL)
Execution
Flow
Ethernet
or Serial
eclipsecon France 2016
DEMO
=
+ +
over MicroEJSTM32F746G-DISCO Arduino Multi-function
Shield
eclipsecon France 2016
THANK YOU!
www.microej.com
eclipsecon France 2016

More Related Content

PDF
Eclipse IoT Edje project: the software foundation for IoT devices
PPTX
Eclipse Edje: A Java API for Microcontrollers
PDF
Edje Project: The Software Foundation for IoT Devices
PPTX
MicroEJ software solution for IoT and embedded devices
PDF
Why the Need for Special Operating Systems for IoT and Wearable Devices?
PPTX
Introduction to the new MediaTek LinkIt™ Development Platform for RTOS
PDF
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
PDF
Boards for the IoT-Prototyping
Eclipse IoT Edje project: the software foundation for IoT devices
Eclipse Edje: A Java API for Microcontrollers
Edje Project: The Software Foundation for IoT Devices
MicroEJ software solution for IoT and embedded devices
Why the Need for Special Operating Systems for IoT and Wearable Devices?
Introduction to the new MediaTek LinkIt™ Development Platform for RTOS
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Boards for the IoT-Prototyping

What's hot (20)

PDF
MediaTek IoT power management webinar
PDF
Developing IoT devices. Creating wearables with the new LinkIt™ 2523 HDK by SAC
PDF
MediaTek Linkit Smart 7688 Webinar
PDF
Creating a successful IoT product with MediaTek Labs
PDF
MediaTek Labs Webinar: Getting Started with LinkIt ONE
PDF
Geek Pic-Nic Master Class
PDF
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
PPTX
Developing a NodeBot using Intel XDK IoT Edition
PDF
Présentation du système d'exploitation RIOT-OS
PDF
OCF/IoTivity for Healthcare/Fitness/Wearable
PPTX
Nio100 product guide 20150520
PDF
Overview of the Intel® Internet of Things Developer Kit
PDF
LinkIt Smart 7688 - a more connected world
PPTX
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
PDF
MicroEJ OS for IoT devices
PDF
Tizen Connected with IoTivity
PDF
Axessor_Brochure_US_04-16
PDF
Survey of Operating Systems for the IoT Environment
PDF
IoT Intro and Demo
PDF
Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...
MediaTek IoT power management webinar
Developing IoT devices. Creating wearables with the new LinkIt™ 2523 HDK by SAC
MediaTek Linkit Smart 7688 Webinar
Creating a successful IoT product with MediaTek Labs
MediaTek Labs Webinar: Getting Started with LinkIt ONE
Geek Pic-Nic Master Class
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
Developing a NodeBot using Intel XDK IoT Edition
Présentation du système d'exploitation RIOT-OS
OCF/IoTivity for Healthcare/Fitness/Wearable
Nio100 product guide 20150520
Overview of the Intel® Internet of Things Developer Kit
LinkIt Smart 7688 - a more connected world
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
MicroEJ OS for IoT devices
Tizen Connected with IoTivity
Axessor_Brochure_US_04-16
Survey of Operating Systems for the IoT Environment
IoT Intro and Demo
Webinar: Plataforma Renesas Synergy – Construindo sua aplicação MQTT com anal...
Ad

Viewers also liked (13)

PDF
How to Select Hardware for Internet of Things Systems?
PPT
Advanced Game Development with the Mobile 3D Graphics API
PDF
Embed your Ideas
PPTX
Eclipse Edje Project Status
PDF
Long-Distance Battery-Powered Sensors for the IOT- SigFox
PPTX
IoT Microservices at the Edge with Eclipse ioFog
PDF
RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccell...
PPTX
Introduction to Internet of Things Hardware
PDF
Research in Internet of Things' Operating Systems (IoT OS's)
PDF
Operating System fo IoT
PDF
Future of Integration | MuleSoft
PPT
Building IoT with Arduino Day One
PPTX
What's New in Docker - February 2017
How to Select Hardware for Internet of Things Systems?
Advanced Game Development with the Mobile 3D Graphics API
Embed your Ideas
Eclipse Edje Project Status
Long-Distance Battery-Powered Sensors for the IOT- SigFox
IoT Microservices at the Edge with Eclipse ioFog
RIOT and the evolution of operating systems for IoT devices (Emmanuel Baccell...
Introduction to Internet of Things Hardware
Research in Internet of Things' Operating Systems (IoT OS's)
Operating System fo IoT
Future of Integration | MuleSoft
Building IoT with Arduino Day One
What's New in Docker - February 2017
Ad

Similar to MicroEJ OS and Edje: the software foundation for IoT devices (20)

PDF
Software virtualization lessons for extreme IoT portability and scale
PDF
Eclipse IoT Overview
PDF
MicroEJ, the OS for IoT
PPTX
Lab Handson: Power your Creations with Intel Edison!
PDF
Android Things Linux Day 2017
PPTX
3 Software Stacks for IoT Solutions
PDF
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
PDF
56_Implementation
PDF
LAS16-200: Firmware summit - Tianocore Progress and Status
PPT
Eclipse RT Day
PPTX
Eclipse IoT slide deck [MASTER DECK].pptx
PPTX
Process control using Ethernet to io
PDF
Java Everywhere. Descubra la Internet de las Cosas
PPTX
Getting started with Intel IoT Developer Kit
PDF
An In-Depth Look Into Microcontrollers
 
PDF
Introduction to intel galileo board gen2
PDF
Peripheral Libraries and Drivers for Microcontrollers: A Comprehensive Survey
PDF
End-to-end IoT solutions with Java and Eclipse IoT
PDF
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
PDF
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2
Software virtualization lessons for extreme IoT portability and scale
Eclipse IoT Overview
MicroEJ, the OS for IoT
Lab Handson: Power your Creations with Intel Edison!
Android Things Linux Day 2017
3 Software Stacks for IoT Solutions
IoT projects in Eclipse Foundation using LwM2M (IoT World 2017 Workshop)
56_Implementation
LAS16-200: Firmware summit - Tianocore Progress and Status
Eclipse RT Day
Eclipse IoT slide deck [MASTER DECK].pptx
Process control using Ethernet to io
Java Everywhere. Descubra la Internet de las Cosas
Getting started with Intel IoT Developer Kit
An In-Depth Look Into Microcontrollers
 
Introduction to intel galileo board gen2
Peripheral Libraries and Drivers for Microcontrollers: A Comprehensive Survey
End-to-end IoT solutions with Java and Eclipse IoT
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Presentation for IoT workshop at Sinhagad University (Feb 4, 2016) - 2/2

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation theory and applications.pdf
PPTX
Spectroscopy.pptx food analysis technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Review of recent advances in non-invasive hemoglobin estimation
Chapter 3 Spatial Domain Image Processing.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Programs and apps: productivity, graphics, security and other tools
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation theory and applications.pdf
Spectroscopy.pptx food analysis technology
The AUB Centre for AI in Media Proposal.docx
20250228 LYD VKU AI Blended-Learning.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Digital-Transformation-Roadmap-for-Companies.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding

MicroEJ OS and Edje: the software foundation for IoT devices

  • 1. eclipsecon France 2016© IS2T S.A. 2016. All rights reserved. EDJE PROJECT The Software Foundation for IoT Devices https://projects.eclipse.org/projects/iot.edje
  • 2. eclipsecon France 2016 PRESENTER Stéphane Mainchain Director, Customer Care stephane.mainchain@microej.com The information contained herein is not warranted to be error-free. IS2T® and MicroEJ® and all relative logos are trademarks or registered trademarks of IS2T S.A. in France and other Countries. Java™ is Sun Microsystems’ trademark for a technology for developing application software and deploying it in cross-platform, networked environments. When it is used in this site without adding the “™” symbol, it includes implementations of the technology by companies other than Sun. Java™, all Java-based marks and all related logos are trademarks or registered trademarks of Sun Microsystems Inc, in the United States and other Countries. Other trademarks are proprietary of their respective owners.
  • 4. eclipsecon France 2016 ABOUT MICROEJ Independent Software Vendor, global player in the IoT industry • http://www.microej.com/about • Software tool & runtime licenses • Professional services, training & consulting KEY FINANCIALS • $5M Series B funding end 2011 – $20M R&D total investment Offices in France, Germany, USA Partnerships with key IoT, silicon, embedded SW and HW (EMS) vendors Expertise in embedded, virtualization, software engineering & process
  • 5. eclipsecon France 2016 OPERATING SYSTEMS FOR ENABLING THE IOT RTOS Linux Volume 75% IoT = “sub-gig” things: • Processor < GHz • Memory < GB 25% SW Foundation MPU (>$10 ASP)MCU ($1-6 ASP)
  • 6. eclipsecon France 2016 EDJE AND IOT INTRODUCTION
  • 7. eclipsecon France 2016 EDJE PROJECT The Hardware Abstraction Java API for the IoT embedded systems • Peripheral management • Controller Communication Interfaces (Serial connection, CAN, SPI, I²C) • Digital and Analog I/O (GPIO, ADC, DAC) Scope • Target resource-constrained micro-controller • Provide ready-to-use software packages for target hardware • Define a modular and easy to port framework Project Status • Eclipse IoT project • Incubation • Initial contribution in review
  • 8. eclipsecon France 2016 IOT TOPOLOGY IOT DEVICES GATEWAY SERVER 8/16/32-bit MCU Mono-Core Frequency: < 200 MHz Flash: < 1 MB RAM: < 512 KB 32/64-bit MPU Multi-Core Frequency: in GHz Flash: in GB RAM: in GB MCU MPU
  • 9. eclipsecon France 2016 IOT HARDWARE STM32F4 Discovery Raspberry PI 2 • Processor: 32-bits quad-core Cortex-A7 (BCM2836) • Frequency: 900 MHz • RAM: 1 GB • Flash: SD Card • Processor: 32-bits Cortex-M4 (STM32F407VGT6) • Frequency: 168 MHz • RAM: 192 KB • Flash: 1 MB
  • 10. eclipsecon France 2016 EDJE APPLICATION FIELD Sensors/Actuators Local Network Internet A library at the edge of the IoT for sensor hubs and devices
  • 11. eclipsecon France 2016 EDJE DEVICE CONFIGURATION
  • 12. eclipsecon France 2016 List of Java API • The minimum execution environment provided by an Edje compatible device • Intersection between Java SE, Java SE Embedded, MicroEJ and Android • Includes java.lang, java.util, java.io, … EDJE DEVICE CONFIGURATION J2SE J2SE Embedded MicroEJ Android Edje
  • 13. eclipsecon France 2016 List of Java API • The minimum execution environment provided by an Edje compatible device • Intersection between Java SE, Java SE Embedded, MicroEJ and Android • Includes java.lang, java.util, java.io, … EDJE DEVICE CONFIGURATION Edje Device Configuration Edje API Edje Application Library Execution Environment
  • 15. eclipsecon France 2016 EDJE API Edje comes with the following services Controller Communication Interfaces Serial Port CAN Digital and Analog I/O GPIO Peripheral Management LCD USB Devices Analog Input
  • 16. eclipsecon France 2016 EDJE API Peripheral Management • List the peripherals of a platform o MCU peripherals (UART, timer, USB controller, …) o Board peripherals (screen, button, LED, sensors, …) o External peripherals (USB devices, bluetooth devices, …) • Peripheral plug/unplug notification system
  • 17. eclipsecon France 2016 EDJE API Controller Communication Interfaces • Some peripherals can establish a connection to external devices o Serial Connection (UART) o Serial Peripheral Interface (SPI) o Inter-Integrated Circuit (I²C) o Controller Area Network (CAN) • The peripheral implements Connectable interface • Connection is described by a String • Example with serial ports: List<SerialPort> serialPorts = PeripheralManager.list(SerialPort.class); for(SerialPort serialPort : serialPorts){ Connection connection = serialPort.openConnection("baudrate=115200;bitsperchar=8"); … connection.close(); }
  • 18. eclipsecon France 2016 EDJE API Digital and Analog I/O • Manage controller pins • API inspired from Arduino C API • General Purpose Input/Output (GPIO) o LED, Buzzer, Button • Analog to Digital Converter (ADC) o Potentiometer, Temperature Sensor, Light Sensor • Digital to Analog Converter (DAC) o Speaker, Light Dimmer • Pulse Width Modulation (PWM) o Motor
  • 20. eclipsecon France 2016 REFERENCE IMPLEMENTATIONS Features • Peripheral Management • UART, USB CDC, GPIO, DAC, ADC Hardware • Raspberry-Pi 2 • Quad-Cortex-A7 @ 900 MHz • RAM: 1 GB RAM Platform • Kura • OpenJDK • Linux
  • 21. eclipsecon France 2016 REFERENCE IMPLEMENTATIONS Features • Peripheral Management • UART, USB CDC, GPIO, DAC, ADC Hardware • STM32F746G-DISCO • Cortex-M7 @ 200 MHz • RAM: 8 MB • Flash: 16 MB Platform • MicroEJ OS • FreeRTOS • STM32Cube
  • 22. eclipsecon France 2016 REFERENCE IMPLEMENTATIONS Features • Peripheral Management • UART, USB CDC, GPIO, DAC, ADC PC Simulation • Java® SE • Hardware In the Loop Simulation (HIL) Execution Flow Ethernet or Serial
  • 23. eclipsecon France 2016 DEMO = + + over MicroEJSTM32F746G-DISCO Arduino Multi-function Shield
  • 24. eclipsecon France 2016 THANK YOU! www.microej.com