×

Happy to Help!

This website doesn't store cookies. Enjoy the experience, without worrying about your data!

Great, thanks!

Category Archives: HMI/UI & Infotainment

  • 0

Dual-display Android Infotainment Solution Development for an Electric Vehicle Startup

 
About the Customer

Our customer, a US based Electric Car Startup, partnered with us to develop a dual display infotainment solution for their high-end Electric Cars.

Our engagement with customer involves development of a Proof-of-Concept (POC) and also a Production Grade Infotainment solution.
 

Business Challenges

The customer’s requirement was to develop a quick POC to be tested in their design vehicle.

The initial challenge, faced by our customer, was to choose the best suited hardware that could offer the desired speed and connectivity options to handle multiple displays.

Our customer’s design team was also confronted by the following challenges:

  • Designing a custom UI that would be ideal for a 15’’ screen.
  • A car Head-up Display that delivers the critical information (fetched from the CAN network) to the driver.
  • Keeping the security of the car network and automotive ECUs intact.
  • Challenging time-line of less than 3 months for the prototype development

 

Embitel’s Solution

The development of infotainment solution started with the selection of the hardware platform. After a series of discussions and analysis, Freescale/NXP IMX.6 was found to be the best suited hardware platform for this infotainment project.

Our team of Android-based infotainment developers started to build the prototype system based on which the production grade solution would be designed. It took our team less than 3 months to build a prototype of infotainment system for the customer.

We had a ready-to-deploy car head-up display solutions that we customized to the requirements of the customer.

dual display infotainment system
Source: Texas Instrument

Such agile software and hardware development was possible due to:

  • Our extensive experience in infotainment system development
  • Availability of re-usable software and hardware components
  • Readily available HUD functional prototype designed and developed by Embitel

Project Deliverables:

  • Android based central infotainment system with a 15’’ display.
  • Head-up display for minimizing driver distraction.
  • Integration of the third party Navigation engine to the central display unit.
  • Customized UI on top of Android OS
  • Custom Applications for Infotainment

 

Infotainment Solution was developed with Following Features

  • Audio App supporting– CDDA/MP3, USB Music Playback.
  • Android smartphone and iPhone connectivity through Bluetooth- call and contact synchronization
  • Connectivity options such as GSM, GPS-Navigation Internet, USB, Wi-Fi Tethering option, etc.
  • Bluetooth Profiles (A2DP, AVRCP, PBAP, MAP, HFP)
  • HVAC/Climate controls
  • Vital Vehicle Parameters over CAN
  • Powered by Android 7.1
  • Integrated third party Navigation Engine

 

Features of our Car Head-Up Display (HUD):

  • Battery and charge percentage
  • Vehicle information- RPM, vehicle speed, vehicle range etc.
  • Rear-view camera integration
  • Gear indicator
  • Navigation(Route, Turn by Turn)
  • Voice control
  • Gesture control

 

Tools and Techniques

  • Cross compiler tool chain for ARM
  • Freescale MFG tool for flashing
  • Android 7.1 Nougat OS
  • Android SDK
  • Eclipse IDE for application development
  • Redmine tool for project management
  • Bitbucket for version control

  • 0

Porting of Android OS on Toradex SoM for a Smart Electric Scooter

 

About the Customer:

A prominent electric vehicle startup, our customer has embarked on the journey of ‘Make in India’. This company of young entrepreneurs is designing Smart Electric Scooters, from the ground up, in India.

Headquartered in Bangalore, the automotive startup is working towards bringing the electric vehicles to the mainstream market and providing a superior commute experience.
 

Business Challenge:

The customer had been working on making connected Smart electric scooters with the help of an in-house team. The critical areas of software and hardware development involved designing of the battery management system, dashboard HMI, battery pack, vehicle suspension and more.

The proposed fully connected, smart electric scooter boasts of advanced features such as on-board navigation, remote vehicle diagnostics and Android Infotainment system. This advanced infotainment platform had been initially built on a Toradex SOM and was running on the Linux 3.14.28.

But owing to the growing popularity of Android as a dominant OS that caters to a wide array of Android Apps, the customer wanted to port Android 6.0 (Marshmallow) onto their Toradex SOM with carrier card.

Here the challenge was that the Toradex module does not inherently support Android Operating System capabilities.

Thus, our customer started looking for a reliable embedded product development specialist who could help them with seamless Android 6.0 (Marshmallow) porting and provide technical support on Toradex platform without affecting the performance of their infotainment system running Linux.
 

Embitel Solution:

Porting of Android
During the brainstorming sessions and technical workshops, customer developed trust and confidence in the embedded software and hardware expertise of our team. Also, our past experience in developing an end-to-end Infotainment and Automotive Head-up Display systems proved to be a value-added advantage for our customer.

Equipped with a technically strong and experienced team, we took up the challenge of migration to the Android 6.0 OS without affecting the performance of the infotainment system running on Linux.

The Embitel team took charge to build an Android based solution that involved:

  • Setting up the Build Environment.
  • Porting of Android 6.0 (Marshmallow) onto Toradex SOM which was running Linux 3.14.
    • Porting Bootloader
    • Porting kernel
    • Porting Android file system
    • Porting the flashing mechanism from NXP to Toradex
    • Porting the Go Application from Linux OT to Android
  • Integrating Android with the following modules
    • Ublox SARA-U270-00S GSM module with data profile
    • Ublox EVA-M8M GPS modules
    • LSM9DS1 IMU module – A, G,M
    • LVDS based display
    • I2C based touch screen
    • TI CC2564 based Bluetooth module connected over HCI UART.
  • User acceptance testing and document testing

 

Embitel Impact:

Our customer was able to make a smooth and effortless transition to Android M, which seemed quite challenging for them in the beginning.
 

Tools and Technology

  • Cross compiler tool chain for ARM
  • Freescale MFG tool
  • Android 6.0 OS
  • Android SDK
  • File Editors such as Vim , gedit

  • 0

Linux OS Porting for a Europe Based Telematics & Fleet Management Solution Provider

 
About the Customer:

One of the global leaders in fleet management solutions, our customer has headquarters in Belgium. Their fleet management software and hardware solutions have been deployed in over 1,15,000 connected vehicles.

With customer base of more than 1,400 customers spread across 23 countries, this European innovator has been delivering fleet management products for the transport industry for more cost –effective and efficient processes.
 

Business Challenges:

Android Porting case study
 
One of the successful commercial telematics products of our customer has been designed on Windows CE operating system. But Windows being a proprietary OS meant that our customer had to pay high costs every time the Windows OS had to be installed or updated or a technical support was required. All this lead to the additional license cost and investments in software/hardware development.

Hence our customer decided to make a switch to a more robust and open source platform such as Linux, which is available for zero license cost, is more flexible, compatible, and came with multiple technical support options available in the market for free.

Customer was also looking for a trusted and experienced embedded product development company who could make the transition seamless without affecting the performance of the Telematics application.

The Embitel Solution:

After the first technical workshop, the customer developed trust in our embedded product development expertise.

Since our Linux team had previously worked with other customers for Android/Linux porting projects, we were well-equipped for this new challenge

In this telematics project, our team was tasked to ensure that the ported Linux OS should be of production grade quality ; within the challenging timeline set by the customer.

Linux porting on Telematics Unit:

  • Establish and Customize YOCTO Build System for different versions of hardware platform
  • Customizing u-boot, kernel and rootfs
  • Provide SDK for further development at customer end
  • Integration Of:
    • Vendor Provided device drivers
    • 3rd party drivers
    • Open Source Drivers
  • Customizing standard Linux drivers
  • Implementing power management as per customer requirement
  • Develop Hardware Abstraction Layer for modules GPS, GSM etc…
  • Develop Validation Test Framework for required modules like GPS, GSM Power Management, CAN etc..
  • Design and develop Firmware Over-The-Air (FOTA)
  • Testing and Integration

 

Embitel Impact:

Our customer was able to successfully switch from a licensed platform (Windows CE) to an open source and a more cost effective platform ( Linux).
 

Tools and Technology

  • Cross compiler tool chain for ARM
  • Pin Mux Configuration Tools
  • AM3354 processor from TI
  • TI’s SDK

  • 0

Portable ECG Device Development for Global Medical Equipment Company: Bootloader, Firmware, HMI, FOTA Update Features

 
Customer:

Our customer – a Europe based renowned and world’s largest manufacturer of medical equipment – was working on a flagship product development project

Their vision was to develop a connected & portable ECG solution for early diagnosis of cardiovascular diseases. The device is designed to offer simplified workflow to both patients and healthcare professionals or doctors.

 

Business Challenge:

Customer’s in-house R&D engineering team kick-started product development of portable ECG device with an ARM based embedded controller.

However, the in-house product engineering realized the need for additional embedded software and hardware developers for the project. Hence customer was on a lookout for an experienced IoT and embedded product development partner in Bangalore.

After diligent software and hardware vendor evaluation,customer partnered with our team in Bangalore. Following are some of the technology challenges that were discussed during our requirement gathering workshops:

  • Design and development of a device HMI to display patient’s ECG data in real time and enable end-users to record ECG of the patient remotely from host application and/or locally.
  • HMI allows easy interface to end user (technical assistant) to quickly browse through patient data and prepare the device to record ECG for a particular patient.
  • HMI was also required to support wireless up gradation of the ECG software and firmware (FOTA).
    (Using PC/mobile application over WiFi).
  • During the technical discussion, customer shared the challenges they faced in automation of the software code testing and production environment programming.
  • Our customer required expertise in firmware development of the power management modules of the ECG device. The designed firmware modules were required to comply with strict safety tests mandatory for medical devices

 
Embitel solution:

  • Our team implemented FOTA (Firmware update Over The Air). To ensure safety and security, adequate measures were taken in the bootloader level. Also strict authentication mechanisms were established to ensure validity of the application as well measure to revert back the update in case of any issues found during the process.
  • Devise settings are stored locally and were synchronized with the remote server to ensure proper synchronization.
  • Automated software testing solutions: Our embedded software developers designed an unit test code for automation of the software code testing with the help of CppUTest unit test framework
  • Design and development of end-to-end HMI for portable ECG device.
  • The designed HMI framework is used to simulate the interface on any Windows based desktop.
  • Our team implemented a firmware for a robust fail safe power management module to overcome the power related hardware limitations.
  • Automation of production server programming: We developed a command line software tool for automation of the production software programming.

 

Embitel impact:

  • Helped our customers in implementation of several key components of firmware, bootloader and UI.
  • The Firmware over the Air (FOTA) updates mechanism designed by our team is very robust, secure and reliable. This ensured that the end-users of our customer’s ECG device will have a seamless consistent experience with secure and updated application
  • Developed custom solutions wherever standard frameworks or off the shelf components are not available.
  • The unit test and production programming automation solutions has helped our customer achieve time and cost savings on testing and programming

 

Tools and Technologies used:

  • Segger’s graphical library – EmWin
  • Controller: 32 Bit ARM Controller from ST Micro.
  • IDE : IAR Workbench
  •  Language: Embedded C

  • 0

QR Unique ID Code Analyzer – iPhone App

Development of QR code analyzer and building an application for tracking the status of lost, stolen and in possession status of an item.

Main Features
  1. Decode all types of QR code using iPhone camera
  2. Automatic recognition and decoding of valid unique QR code and re-directing to the correct URL
  3. Automatic flash enabling under poor light condition
  4. High speed logic implementation for reverse QR codes
  5. Minimum key stroke and screen transition design for a quick and easy user interaction

  • 0

Emergency Alert Rescue App for iPhone & Android Phones

The Rescue app allows users to alert the emergency services in case of any distress with a single tap. Application fetches the users GPS Location details and sends these details to emergency service and selected people through SMS.

The location coordinates used will be of accuracy less than 100 meters. App reverse geocodes the location coordinates with help of iOS APIs for iPhone and Android APIs for Android phones to provide exact location details of the user to the emergency services.

The App also has fake calling feature which can help user to escape from stalkers.

Main Features
  • Fetch and reverse-geocoding user’s location
  • SMS with location details to multiple contacts
  • Map with user location details
  • Instruction on performing CPR
  • Fake Calling
  • Multiple language support

  • 0

Android Application for Automotive Control Units

 

Introduction:

Access to the in-Car network from a smart phone creates an innovative platform to create various applications to control and analyze automotive control unit functionalities. Embitel created such a platform by developing a Bluetooth gateway which can transmit/receive information to/from CAN and LIN networks in the vehicle.

 

System Overview:
  • Android based smart phone application to interface body control units over Bluetooth interface
  • Design and development of Android application, firmware for body control modules and Bluetooth interface
  • Android application supports configuration, flashing and monitoring of the control unit functionalities
  • Integrated Arduino Bluetooth with the control unit hardware over SPI interface
  • Integrated Amarino Bluetooth stack with control unit firmware
  • Design and development of CAN and LIN stacks to network body control modules
  • Implemented CAN/LIN gateway to support flashing the slave ECUs over LIN
  • Boot loader to support re-flashing the control units
  • Encryption/Decryption and seed-key algorithm to ensure data security and data integrity

  • 0

Desktop shop client Development for openDesktop.org

Desktop shop client
Requirements

Design and development of a native desktop shop client for an on-line platform openDesktop.org. This provides a user a good way to buy/sell digital content via the network with flawless experience. This application should work for every operating system supported by Qt framework. It enables users to download wallpapers, applications and documents for free or buy it from the store.

System Overview

A marketplace, AppStore client, for opendesktop.org, to buy, sale, upload and download digital content. This client application have same look & feel across various operating systems including Windows, Macintosh, Linux, Windows Mobile and S60(Symbian). Threaded implementation makes this application able to display a list of available items quickly and images thereafter one by one. 
The application communicates with the network website using a REST based web-service which is already in place and exported to the public. All the transaction logic, account management, data storage and payment are handled by the website only.


  • 0

Qt Application Module Testing Over Windows Mobile

 

At embitel, we have extensive experience in embedded software posting to various flavors controller architectures and platforms. We offer complete software stack porting and last mile services for software porting requirements.

 

Objectives of Porting

A porting project has one for combination of following objective:

  • Migration of software stack to a different processor architecture
  • Migration of software stack to a different operating system
  • Migration of software to a different technology platform

 

Requirements for Porting

To begin with any porting project, we would normally require all the available documentation and source code. For example:

  • Original design document, interface documents, test specifications
  • Details of tool chain used for source system
  • Details of tool chain of target system if already identified

In case the current system under port does not have sufficient documentation, we would start the porting activity with preparation of code flow diagram, interface diagram and hardware and software integration documents.

 

3P Framework for Porting

We follow 3P strategy (three phases) with distinct objective at every phase:

1.    Feasibility analysis phase
2.    Implementation phase
3.    Testing and validation phase

The objective in feasibility analysis phase is to bring out all dependencies and detailed statement of work. This phase also helps in verifying suitability of target system for software stack under port.

The objective in Implementation phase is to progress as per outlines tasks in statement of work. The involved detailed design study, source code walk through, tracing portable and not portable code, looking for performance optimization issues, HW and SW integration requirement, communication channel requirements, and operating system and hardware abstraction layers and re-writing of non-portable code.

The Testing and validation phase starts in parallel to porting phase and ends after the porting phase. During this period, the test strategy is decided. All test plans, test data, test code are written in this phase. The basic objective of testing are to ensure that software functionality of the system is not after porting to new target system and also to ensure performance requirements.

 

Feasibility Analysis Phase

We do a feasibility study to ensure porting objective and features of existing system.

The feasibility phase includes following decision point:

    • Understanding the source system

This includes studying the original design documentation or user documentation to know about the s/w functionality and behavior in details. If the supporting documents are not available, knowledge transfer from customer is expected.

    • Deciding Target Development Tools

Deciding upon the suitable target development tools can be a critical step for simplifying the task of porting. These are finalized with mutual discussions with customer.

    • Deciding About Porting Strategies

Porting strategy includes identification of portable and non-portable code. Non-portable architectural differences include moving among 8-, 16-, and 32-bit architectures; support for different controllers and peripherals etc

    • Testing strategy

Before starting the port, we determine what test cases and procedures are in place or need to be developed. Possibility to apply the test vectors and measure the results on both the source and the destination systems for comparison are also ensured.
 

Implementation Phase

The implementation strategy varies based on the porting objective. The strategy followed here is “A step at a time” that is to get the basic main framework of the software stack, with bare minimum functionalities, on the target platform, at the earliest.

A typical work-flow for migration to new processor architecture is,

  • Get the OS up and running on the target hardware.
  • Port the Hardware and operating system abstraction layer
  • Port all required component driver, protocol stacks etc
  • Port the application software module by module
  • After a functional port is ready, optimize the software modules
  • Do a system validation against predefined system vectors
  • Complete the process by updating relevant documentation

 

Testing and Validation Phase

We perform standard Quality assurance practices to ensure quality of deliverables.

Our Testing Strategy Includes:

  • Automated testing – Code coverage, memory leak detection, performance profiling and UML tracing
  • Unit testing – Module level testing to validate individual units of code
  • Functional testing – Validation against functional requirements
  • System testing – Verification of total software system for all of its functional, quality attribute and operational requirements