“Andy and the team at The Good Penguin provided support for configuring and extending an embedded Linux system. Highly adaptable, friendly and knowledgable, they got up to speed very quickly, and soon became invaluable to us.”
– Kevin Blain, Head of Engineering at Entia, Trust Pilot Review
Entia Liberty
As a result of an ageing and growing population, as well as advancements in cancer diagnosis, the number of new cancer cases in the UK is projected to rise by 20% over the next 15 years. This will invariably add to the pressures already faced by our National Health Service (NHS), for which the nearly 1 in 2 people that will face a cancer diagnosis at some point during their lives, will interact with. This is why Entia, a UK based technology company, has been on a mission since 2015 to use technology to both improve the experience of those undergoing cancer therapies as well as to allow healthcare providers to improve patient outcomes and to more effectively use their limited resources.
Cancer therapies such as chemotherapy can reduce blood cell counts leading to increased risks of infection, anaemia and other complications. Regular blood testing, at the expense of additional hospital visits mitigate this, however undesirable results lead to appointment cancellations and delays in treatment. Entia’s solution is Liberty, the world’s first at-home full blood count analyser. It allows patients to test their own blood in the comfort of their own homes. The device is internet connected allowing for the sharing of results and symptoms with health care providers. The remote monitoring provides much more data which can provide early warnings of complications, provide a better picture of health throughout treatment, and allow for better management of outpatient appointments.
Our Work with Entia
Building any physical device requires a diverse range of skills and thus careful consideration should always be made in determining which skills should be developed and retained in house and which skills can be brought in externally. When Entia approached us early in the development of Liberty, they were aware that project velocity could be greatly accelerated with external embedded Linux assistance. They were looking for a partner that could not only take on development tasks but could also work very closely with the team and share their knowledge, thereby resulting in improved embedded Linux capability within the team which would be benefit subsequent developments. We agreed to work on a staff augmentation basis where our staff act as additional members of the Entia team and follow Entia’s agile software development processes. This allowed us to provide assistance where needed and be available to answer questions and unblock engineers.
Our initial work supported the hardware/software bring-up of Entia’s custom i.MX8 based PCB – this was achieved through a mix of both on-site and remote work. We brought up connectivity provided by Ethernet, Wifi and 4G. We brought up several DSI displays, along with touchscreen panels and backlights. We also ensured the LPDDR was configured correctly and that the device could boot from eMMC. This work required us to write device drivers for Linux and its bootloaders as well as interact with an STM32. We provided an embedded Linux distribution and ensured the team were able to flash, boot and understand what we had done.
The camera sensor is clearly an important part of this product as it is used along with computer vision models to measure the properties of the blood it samples. A Linux CSI image sensor driver was needed for this and Entia were keen to lead its development, we therefore supported them through this and used our wider team’s experience in video and camera sensors to quickly resolve issues that arose, for example Entia reported that occasionally some of the image frames captured appeared to have a strange checkerboard artifact when zoomed in. We quickly identified, based on the images, that this was due to a horizontal out-by-one error occurring before debayering. We quickly identified and resolved the driver issue, thus resulting in consistent image quality.
The SOC used by Entia was the i.MX8 M Nano, which doesn’t include any dedicated hardware for image signal processing. This lack of hardware acceleration for debayering images from the sensor resulted in additional processing time when capturing frames and performing image analysis on them. Entia asked us to investigate if anything can be done to improve processing time. We initially explored the use of NXP’s SoftISP, implemented a debayering algorithm on the GPU via OpenCL (we wrote a blog post about our findings) and compared performance against ARM NEON based implementations. The outcome was faster image processing times.
Once we had completed the hardware bring up and embedded Linux activities, Entia were keen to keep us involved in the project and so we started working on their embedded Linux applications. We developed C++ libraries (for example a library to manage networking and a library to upload blood results), implemented an IPC communication scheme and worked on Liberty’s LVGL based UI and we implemented many of the device’s UI screens by translating Figma based designs into LVGL based implementations. To improve efficiency, we also ensured that it was possible to run the device software in QEMU, allowing for much more rapid build, deploy, test, debug cycle.
Other areas of development include boot time reduction (power to UI in less than 5 seconds), and some initial ground work surrounding vulnerability management for their Buildroot based distribution.
Services Provided
- Hardware Enablement & Bring-up: i.MX8 MN, Connectivity, DSI Displays
- Distribution Development: Buildroot
- Image / Video Driver Development: CSI sensor driver development
- Microcontroller: STM32
- Optimisation: Boot time reduction, Debayer performance optimisation
- Application Development: C++, LVGL User Interface, Figma Translation
A Successful Outcome
Our engagement with Entia demonstrates the value that can be gained in leveraging external engineering resources. Our team of engineers spend day after day keeping up to date with Linux, debugging and fixing obscure problems and bringing devices to life – that “I’ve seen this before” experience can really make a difference. When Entia faced issues, rather than spending days or weeks learning about an unfamiliar area of Linux, they could instead rely on our experience to provide helpful insight, point in the right direction or identify the source of an issue. This allowed Entia’s engineers to focus, and pool their experience on the key aspects that distinguish this product in the market such as computer vision models and domain specific knowledge.
Entia were really happy with our work and enjoyed the close cooperation between our teams. This satisfaction was demonstrated in that they choose to retain our services after completing the initial low-level bring-up tasks. They also provided us with a TrustPilot recommendation.
We’re really pleased to have learnt that the Liberty device has been approved for market use in the UK and will be rolled out from September 2024.
Find out More
Entia is an oncology service provider supporting more effective cancer care by predicting and preventing treatment side effects. Their unique remote patient monitoring solutions, including the world’s first at-home full blood count analyser, identify patients at risk of complications early on and enable timely interventions that can result in more time on treatment, fewer unplanned hospitalisations and the potential to deliver better survival outcomes.
Reach out to us to find out how we can assist you.
Contact Us