Evoca
ARM64 Migration and Next-Generation Coffee Machine Platform
Evoca already had numerous coffee machines running on Linux. One of them, the Maestro Touch, their top-of-the-line model, offers a fully customizable user interface for customers. The user interface is based on web technologies.
The goal was to bring these technologies, running on an expensive x86 hardware platform, to a more affordable ARM64 platform.
Evoca hired Lenewt to:
- Create a system and application proof of concept
- Design the Linux system for the new platform
- Integrate their supplier's BSP
- Integrate and adapt their application ecosystem
- Integrate communication features between the native application and user interface
As this new machine was the first of an entirely new generation, Evoca's goal was to reuse the system work across all their future machines.
The Lenewt Solution
Proof of Concept
Evoca knew what they wanted but weren't sure about feasibility and the required hardware performance. The first step was therefore to test the proposed System On Chip.
We configured a minimal Linux system using the Yocto Project, integrating the technologies used by the native application as well as those needed for the web user interface.
We then took the existing web application code from the Maestro Touch and made the necessary modifications for it to run on the new ARM64 platform.
At the end of this phase, we confirmed the project's feasibility and the selected SoC's ability to run everything with satisfactory performance.
Linux System Design
Following the proof of concept results, Evoca came back to us with their first electronic board integrating the validated System On Chip. With the project validated, we designed the final Linux system, integrating the BSP (Board Support Package) provided by the board manufacturer. We integrated all elements of Evoca's machine application ecosystem as well as their proprietary update tools.
We designed the system to be reusable for future projects with minimal adaptation and maintenance costs.
System Security
We worked on securing the Linux system, notably by implementing a chain of trust.
Application Development
In parallel with the system work, we modified the native application from the previous generation of machines to integrate the web user interface. We were able to reuse the work previously done by Lenewt on the Maestro Touch.
Thus, the connector responsible for communications between the native application and user interface could be easily reused thanks to the decoupled architecture we had implemented. The native configuration and interface update screens, along with their internal implementation, were ported and adapted.