Mindroid

Built by experienced full-stack software developers, Mindroid is specifically designed to let you write software for highly-complex ECUs hosting a multitude of application with fundamentally different requirements. Since its inception in 2012, Mindroid has substantially grown in functionality and capability to keep you developing efficiently well into the future.

Discover how

Features

Mindroid. Secure and lightning-fast embedded software development.


  • Secure

    • Security as cross-cutting concern is designed into every aspect of the platform

    • A security-hardened Linux Kernel forms a rock-solid base

    • SecureBoot guarantees the integrity of the device software starting from a hardware root of trust up to the system partition


  • Fast


  • Scalable

Architecture

Mindroid is the epitome of modularity. Battle-tested and continously refined.

Mindroid Application Platform

Applications

  • Over The Air UpdateRemote UnlockData Collector
  • ...

Applications
Applications are the fundamental building blocks essential for creating real-world use cases. Instead of providing a monolith which is hard to handle, Mindroid applies a more efficient modularity.

Key benefits

  • Within Java, updates can be executed on application level

  • Applications are restricted in their access through a permission model

  • The Mindroid application structure allows for a more efficient development process due deconstruction of complexity

Services

  • Location ManagerPower ManagerPub/Sub Message Broker
  • DiagnosticAlarm Manager...

Services
Mindroid offers a plethora of system services out of the box. All services developed within Mindroid are based on “classic” RPC-style communication with all interfaces being described using the Mindroid Interface Definition Language (MIDL).

Key benefits

  • API first design - service interfaces define public APIs

  • Every service is accessible from every runtime

  • Mindroid services can be reused across different projects

Runtimes

  • Java

    • Java VM
    • Core Libraries

    C/C++

    • Core Libraries

    Rust

    • Core Libraries

Runtimes
Mindroid offers three runtimes with different properties. All runtimes feature not only a service-based application model but also extensive and coherent SDKs.

Choose

  • C++ if you need maximum performance and control over resource consumption

  • Java if you need a secure environment for connected applications

  • Rust if you have special safety requirements

Mindroid Application Platform
Mindroid provides a service oriented application framework inspired by the Android application model.

Key benefits

  • Three different runtimes to build services and applications

  • Full interoperability of services and apps hosted in different runtimes

  • Application developers benefit from an extensive set of core libraries and system services

Mindroid Linux

Native C/C++ Libraries

  • Libc/bionicpthread...

Linux Kernel

  • Drivers

      • Binder IPC
      • DM Verity
      • Wake Locks
      • ...
    Power Management

Mindroid Linux
Mindroid is based on a highly-customized, optimized, and security-hardened Linux Kernel.

Key benefits

  • To increase security, Mindroid applies a separation between executables and data. This means that the root file system is mounted read-only

  • With a strong optimization for size and speed, Mindroid Linux avoids unused and space-wasting libraries

  • The Linux user space is based on non GPL/LGPL licensed libraries to allow for easier and less tedious commercialization of systems built with Mindroid

Versions

From idea to prototype to application in high volume projects.

1.0

Java and Native C++ runtime
The first full working version emerged from its prototyping stage to support the development of complicated connected-ECUs in the context of connect-applications in one of our most significant projects ever.

2.0

High-performance
For the first time, Mindroid leveraged the development of a high-performance computing platform inside a high volume automotive project.

3.0

Distributed Mindroid
With version 3.0 we introduced Mindroid as a distributed system. At the heart of it are many Mindroid runtimes communicating with each other. The underlying communication framework is not only language and protocol agnostic but also multi-process capable. Additionally, the utilization of MIDL allows supporting code generators for various protocols and runtime systems.

4.0

Rust runtime
High computing platforms are on the verge of becoming the next automotive standard. That is why Mindroid 4.0 will feature a full implementation of the Rust runtime to allow for even more diverse applications.

FAQ

Make sure to contact us in case you have remaining questions.

  • What does full-stack software platform mean?

    Mindroid provides a consistent, gapless stack of modules from bootloader to applications. This translates into less work and therefore faster development from concept to implementation.

  • Which communication protocols does Mindroid support?

    MQTT, REST, SomeIP, and vendor-specific proprietary protocol implementations.

  • What are the runtime costs of applications?

    Mindroid applications are meant to be event-based and should therefore not waste any resources in e.g. cyclic operations.

  • What are the conceptual differences between Adaptive AUTOSAR and Mindroid?

    If you compare both application frameworks, Mindroid offers a defined rep-model and the interoperability between Java and C++ applications.

  • How does it compare to Android?

    While Mindroid and Android share a conceptually similar application framework, Mindroid is headless and focuses on the development of embedded applications.