Codethink has worked on a wide range of embedded software and hardware projects from tiny microcontroller-based systems through to connected multicore processor devices involving hardened electronics, graphics, sensors and actuators.
In many cases our deliveries include custom Linux-based operating system software, optimised to make best use of the target hardware and aligned with the upstream delivery process to minimise the cost of whole-of-life maintenance.
Example Embedded Systems Projects
Automotive Infotainment Systems
System architecture design, development, software integration and troubleshooting for a series of automotive infotainment systems for various silicon platforms based on 32-bit and 64-bit CPUs from Intel, NVIDIA, Renesas and Qualcomm.
EEG Medical Device
Design and development of electronics and system software for the management and operation of a magnetoencephalography system (brain scanner), including embedded Linux, server-side Linux, microcontrollers and CPLD/FPGA work to synchronise sampling at 100s of kHz across over 500 channels simultaneously.
Design and development of a multi-domain controller platform including custom hypervisor intended to support isolation of safety-relevant functions from non-critical applications. The design integrated Linux, Android and QNX guest environments on Renesas R-CAR silicon, with custom-designed passthrough of audio and video between guests.
Performance Data Recorder
Development of Linux-based Performance Data Recorder with race-day-style real-time video, graphics and data analysis for integration into a leading automotive brand's new flagship vehicle. Dynamic overlays driven by high frequency CAN telemetry were generated and synchronised with the video and sound streams. These were then composited before being scaled and either output to a display or compressed to be stored on an SD card.
Real-time Video Analysis
Development of a real-time video image analysis system for a leading sports entertainment provider. Using a combination of GStreamer, OpenCV and Tensorflow running on NVIDIA TX2 SOCs embedded in a set of cameras positioned around the field, the system could identify and triangulate game objects, as well as serving low-latency webrtc and slightly higher latency seekable HLS streams of 4k video.
Open Source Atomic Updates
Design and implementation of an open source atomic update mechanism for Linux-based systems, based on OStree, used in the freedesktop-sdk platform.
Deployment of AI/ML Images to EDGE
Design and development of end-to-end construction and OTA deployment pipelines for delivery of Machine Learning Applications system images to embedded EDGE devices.
Virtualized Storage Firmware
Firmware development for a storage appliance that provided low latency, high bandwidth shared (virtualized) flash storage capability to standard servers via a cabled PCIe connection.
Design and development of Lights-Out Management for a blade server containing 8x32-bit multicore ARM processors.
Graphics Passthrough for L4 Hypervisor
Proof-of-concept to provide virtio & GPU passthrough for a Linux guest on an L4re-based hypervisor as part of an automotive research project investigating safety for future vehicles.