The Linux Foundation Projects
Skip to main content
BlogLF EdgeOcre

Project Ocre is Live: OCI Type App Containers for Tiny Devices!

Author: Jason Shepherd, CEO of Atym

Atym is pleased to announce that we have dropped code to officially launch Project Ocre in LF Edge!  Leveraging WebAssembly and Zephyr, Ocre supports OCI-like application containers in a footprint up to 2000x lighter than Linux-based container runtimes such as Docker and Podman. Our mission is to revolutionize how applications are developed, deployed, and managed for the billions of resource-constrained edge devices in the field.  Developing applications for constrained edge devices with Ocre should be as easy as building cloud-native applications. You can find the code on the project GitHub.

As I relayed in a recent blog post, I see Project Ocre as the last stop on what I colloquially call the “Magical Mystery Tour”.  Over the past 10 years, I have been collaborating with a lot of great people to extend lessons from the cloud further and further out to the edge. We have leveraged technologies such as Linux, virtual machines, Docker and Kubernetes for edge solutions, but there has been a practical limit in terms of the required device footprint.  

Breaking the “Linux Barrier”

Ocre extends cloud-native principles past the “Linux barrier”, which we believe is well-aligned with where the market is headed as traditionally-embedded devices such as sensors, smart cameras, controllers, robots, drones and cars continue to get more complex to develop and maintain, increasingly leverage onboard AI, and are faced with growing security challenges. 

“We look forward to Project Ocre’s work within the LF Edge umbrella,” said Arpit Joshipura, General Manager, Networking, Edge and IoT, the Linux Foundation. “Ocre extends LF Edge’s scope to constrained devices that are increasingly being software-defined and is highly complementary to the great work of the rest of the LF Edge portfolio as we collaborate to foster interoperability across the edge computing continuum.”

Compared to traditional monolithic embedded firmware and software, Ocre abstracts the hardware and enables functions to be broken out into containerized applications that are developed and managed independently. This brings benefits that we take for granted today in the cloud such as code reusability, portability across different hardware platforms, better IP protection when collaborating with partners, fractional field updates, improved security and compliance, and more.  

Ocre Containerization vs. Traditional Embedded Software

Ocre application containers can be written in any language. We believe a common pattern will be starting with a “lift and shift” of existing embedded C code onto the Ocre runtime, followed by developing and deploying new applications written in languages such as Rust or GoLang. And because a lot of the container dependencies are built into the Ocre runtime, a simple containerized app can be as small as 300 bytes!

Not just for MCUs

With a memory footprint of just 256KB, Ocre makes it possible to run containerized apps on microcontroller-powered devices.  However, it can also be an attractive alternative to using Linux with Docker for lightweight IoT gateways, set top boxes, and networking gear because it will free up 256-512MB of memory for applications, or enable an OEM to reduce their BOM cost for RAM. As such, the sweet spot for Ocre is devices with 1MB to 1GB of memory, powered by M3 to A9 class Arm, RISC-V, ESP32, and entry-level x86 silicon. Meanwhile, LF Edge projects like EVE and Open Horizon are great choices for more capable hardware.

Example software breakout in 1GB of available memory – Ocre vs. Docker

You can learn more about the technical details of Ocre in our CTO Stephen Berard’s recent blog and the Project Ocre Wiki.  Read on for more about how we plan to work within the community and align with other industry efforts. 

Welcome to our first TSC members!

Over the past several quarters, we have been getting feedback and sharing ideas with a variety of connected product OEMs and this has enabled us to hit the ground running on our collaboration in Project Ocre. Joining the Atym team as initial Technical Steering Committee (TSC) members is Dan Dumitriu, CTO of Midokura (a division of Sony) and Marshall Meier, Director of Engineering for Emerson’s Measurement Solutions group. 

Stephen met Dan a little over a year ago when he discovered that Midokura was also pioneering app containerization for embedded devices using WebAssembly.  Given our collective interest in driving a standard, we decided it makes sense to join forces to collaborate on the project in the Linux Foundation. Stay tuned for a future blog with more details on Midokura’s efforts, which are initially focused on deploying AI models on constrained imaging sensors for computer vision use cases.

“We at Midokura are thrilled to support the launch of Project Ocre”, said Dan Dumitriu, CTO, Midokura. “When we serendipitously met Atym co-founders Stephen and Jason, it became clear that we share a common vision for modernizing the development of embedded systems. Project Ocre’s innovative approach to containerization for constrained devices aligns perfectly with our efforts to bring advanced AI models to IoT devices. We believe this collaboration will drive significant advancements in IoT, making development as seamless and efficient as building cloud-native applications. We’re excited to contribute to this transformative project and look forward to the groundbreaking developments ahead.”

Marshall from Emerson will bring valuable expertise from the industrial space. Emerson is a Premier member in LF Edge and has been working with ZEDEDA and Project EVE for their Delta V system over the past year. Emerson is interested in exploring how Ocre can extend similar benefits to devices such as industrial sensors.

Committed to standards

In addition to building code and defining APIs, Project Ocre will also be committed to aligning with and contributing to other industry standards. A key tenet of the project is to assemble standards and technologies in novel ways to meet the needs of constrained devices, rather than reinventing. 

One example is the new Embedded and Industrial Special Interest Group (SIG) within the WASI CG which is part of the ByteCode Alliance.  Stephen is a co-chair alongside representatives from Siemens, Bosch, Midokura, Intel and others.  The SIG will define standards and recommendations for utilizing the WebAssembly System Interface (WASI) on highly-constrained devices. In turn, we intend to codify the group’s output within Project Ocre.  

“As the name suggests, the WebAssembly Embedded Special Interest Group, or ‘E-SIG’ for short, is focused on ensuring support for embedded systems within the WebAssembly ecosystem.” said Chris Woods, Siemens Technology. “This ideally includes the hard task of supporting binaries that are portable across embedded systems. It’s awesome to see companies like Atym join us to help drive these innovations.”

We’re also pleased to announce that Atym has joined the recently-formed initiative Margo by the Joint Development Foundation, a part of the Linux Foundation family, as a contributing member. Margo is focused on driving orchestration interoperability across industrial edge infrastructure solutions. Companies involved include ABB, Capgemini, Cosmonic, Dianomic, Intel, Microsoft, Rockwell Automation, Schneider Electric, Siemens, SUSE, ZEDEDA, and more. We’ll be working with the Margo community to explore how Ocre can extend the architecture and APIs to support highly-constrained devices like sensors and controllers that are ubiquitous in the industrial space.  

“We are excited to have Atym join the Margo initiative as a Contributing Member,” said Armand Craig, Technical Working Group Chair, Margo and System Architect, Rockwell Automation. “With Project Ocre specializing on constrained devices and their associated workloads, Margo sees this as a natural progression to expand the interoperability vision. The Margo initiative looks forward to collaborating with Project Ocre’s community members.”

Project Ocre will continue to work closely with the Zephyr community in the Linux Foundation. The Ocre runtime can be ported to any RTOS, but we chose Zephyr for the reference design because of its robust, modern architecture.  Also beneficial is the vibrancy of the Zephyr developer community and that there are currently over 500 boards known to run the Zephyr RTOS.  This reduces the time to bring up the Ocre runtime on new silicon. 

“We’re pleased that Project Ocre has chosen Zephyr as the reference RTOS,”  said Kate Stewart, Vice President of Dependable Embedded Systems, the Linux Foundation. “We’re excited to collaborate with the Ocre community and continue to grow Zephyr adoption,  including by developers that don’t have embedded expertise because the Ocre runtime enables containerized applications written in choice of programming language to be deployed on resource-constrained devices.” 

Further, we continue to work hard to make Ocre containers look and feel just like OCI containers, while accommodating the unique needs of highly-constrained devices. As part of this, we will seek to work with the CNCF to align with and shape the OCI specs with respect to embedded hardware. 

“The ultimate promise in this hybrid cloud-to-edge world is being able to develop container-based applications and securely deploy them everywhere.”, said Joe Pearson, TAC Chair, LF Edge. “The constellation of resource-constrained devices has not been invited to the cloud- and edge-native party until now. I’m looking forward to seeing Ocre containers completing the last piece of the puzzle, adding support for common architectures, software development, and secure lifecycle management for field deployments to embedded systems.”

In closing

We’re excited to donate our code to the Linux Foundation to kickstart Project Ocre and collaborate with the community to bring the cloud development experience to resource-constrained edge devices. The project includes core functionality today and we’ll be dropping additional code and documentation in the coming months.

We welcome your participation in the project, whether it be joining the TSC to shape the architecture, or simply diving in and contributing code.  After all, the best way to influence open source is with your keyboard.  We can also help connect you to the other related industry efforts – wherever and however you’d like to get involved to shape the future of this groundbreaking technology!