Embedded Tech & IoT
Our team has worked on many different embedded software components for a wide variety of target applications: from low power IoT devices to complex SoCs deployed in mobile and automotive devices. We have worked on software across the embedded stack, controlling the hardware, enabling communications, and adding multimedia functionality to enable user interaction.
Our approach is technology independent, so we’re equally at ease with Arm and x86, embedded Linux, Windows, and “bare metal” platforms. We’re also technology independent experts in both cloud and device-side tech for IoT.
Device drivers and Board Support Packages
All electronic hardware requires device drivers to control its individual components, and to read and write data to them. Digica has created device drivers for peripheral hardware from simplistic serial devices such as SPI on “bare metal” platforms to sophisticated USB host drivers deployed on mobile platforms for high-speed IPC.
As hardware performs more complex application functions like graphics acceleration while supporting standardised APIs, so the architectural complexity of the drivers increases. We’ve not just developed such software, we’ve contributed to the development of international standards for it too.
An entire product is based on a set of such software, which is known as a board support package. The Digica team can take responsibility for an entire BSP or contribute to it as part of a larger programme.
Application developers make use of the underlying hardware using middleware including multimedia codecs, communication protocols and hardware abstraction layers. The Digica team has developed such components, and integrated third-party components—both open source and proprietary.
As middleware architecture is highly dependent on the underlying hardware and the use cases to be supported, it is crucial to model the system as a whole before committing to a technical approach. Our team has performed this type of system analysis for automotive, TV, mobile, and industrial systems.
The Digica team has built embedded applications, with or without user interfaces for a broad range of sectors, including an embedded Android TV launcher integrated with a custom back end, a mobile “pop up” art AR system, and a web-based computer vision application for identifying and classifying cars in car parks.
At Digica we aren’t wedded to one technology. We select the most appropriate platform to develop applications for each project. Our team has built applications for all of the major operating systems, using platform-specific and cross-platform technologies.