Making The Most Out Of Hardware

Our software development experience stretches to multi-core embedded systems applications. These range in complexity from single core to very high multi-threads processes, capable of ultra-high data transmission speed.

We are specialised in real time operating systems/RTOS, image analysis processing and high performance databases.

We also design and implement applications for both Android/iOS.

Linux-Based Embedded Systems

Our own version of embedded Linux, optimized for our ARM-based hardware, gives us more flexibility to integrate all kinds of specific devices. This  allows us to create complex systems capable of managing a high number of position and image sensors simultaneously.

Image Processing / Neon Assembler

For real-time encoding and image processing, we make use of several sub-systems of the ARM microprocessors. Also, the NEON instructions set is programmed in its native NEON assembler.

Gyro Processing

When optical systems are used in moving environments, it is critical to have the right modules to ensure stable imaging. We have developed a special positioning module which processes multiple data, deriving from different sensors such as gyroscopes, magnetic field and acceleration sensors. The collected data generates the stabilization parameters needed for stable video streaming.

Web Back-End / Cloud

Our highly scalable content management and distribution systems provide tight control over sharing and publishing data and are designed to run seamlessly on embedded hardware as well as on standard servers and third-party cloud providers.

Multi-Threading / Real-Time / Multi-Processor

Driven by the needs of distributed image processing in real-time, we have created our own software layers. These provide synchronization of processors, with a few microseconds accuracy and a multi-threading environment, that supports load-sharing within a processor group.

Android / IOS Applications

Our client applications for Android, Apple iOS and the Web all use the same base code. This simplifies the compiling and building processes on the different platforms, and makes efficient use of clients’ resources for a more fluid user experience.