Schlagwort: Zephyr

  • Introducing Arduino cores with ZephyrOS (beta): take your embedded development to the next level

    Introducing Arduino cores with ZephyrOS (beta): take your embedded development to the next level

    Reading Time: 3 minutes

    Last July, when we announced the beginning of the transition from Mbed to Zephyr, we promised to release the first beta by the end of 2024. Today, we are excited to announce the first release of Arduino cores with ZephyrOS in beta!

    ZephyrOS is an open-source, real-time operating system (RTOS) designed for low-power, resource-constrained devices. We are transitioning Arduino cores to ZephyrOS to ensure continued support and innovation for developers. This change follows ARM’s deprecation of MbedOS, which has historically powered some of our cores. By adopting ZephyrOS, we are introducing a more modern, scalable, and feature-rich RTOS that aligns with the evolving needs of the embedded development community. This ensures that Arduino users have access to a robust, actively maintained platform for creating advanced applications.

    With this brand new beta program, we invite our community to explore, test, and contribute to this significant new development in Arduino’s evolution – one that will allow old and new Arduino users all around the world to continue using the language and libraries they know and love for many years to come.

    What is ZephyrOS?

    ZephyrOS is a state-of-the-art RTOS designed to enable advanced embedded systems. It is modular, scalable, and supports multiple hardware architectures, making it an excellent choice for the next generation of Arduino projects.

    Its key features include:

    • Real-time performance: Build responsive applications requiring precise timing.
    • Flexibility: Customize and scale the system to your specific needs.
    • Extensibility: Benefit from a rich ecosystem of libraries and subsystems.
    • Community-driven innovation: Collaborate with a vibrant open-source community.

    What’s new in this core?

    The Arduino core for ZephyrOS brings significant changes to how Arduino sketches are built and executed. However, the integration between Arduino core and ZephyrOS operates seamlessly under the hood, providing advanced RTOS capabilities like real-time scheduling and multitasking, while keeping the development process as straightforward as ever. This means you can enjoy the best of both worlds: the ease of Arduino and the power of a modern, robust RTOS.

    • Dynamic sketch loading: Sketches are compiled as ELF files and dynamically loaded by a precompiled Zephyr-based firmware.
    • Zephyr subsystems: Leverage features like threading, inter-process communication, and real-time scheduling.
    • Fast compiling: Since only a thin layer of user code and libraries are compiled, while the rest of the ZephyrOS is already binary, compilation is faster and resulting binary files are smaller.

    How to get started

    Ready to dive into the future of Arduino development with ZephyrOS? Head over to our repository for comprehensive installation instructions, troubleshooting tips, and detailed technical documentation.

    Contribute to the beta!

    This is your opportunity to shape the future of Arduino development! We welcome feedback, bug reports, and contributions to the core. Visit the GitHub Issues page to report bugs or suggest features. Your feedback will play a critical role in refining this integration and unlocking new possibilities for embedded systems.

    Visit the ArduinoCore-Zephyr GitHub repository today and start exploring this exciting new platform! Thank you for being a part of the Arduino community.

    The post Introducing Arduino cores with ZephyrOS (beta): take your embedded development to the next level appeared first on Arduino Blog.

    Website: LINK

  • The end of Mbed marks a new beginning for Arduino

    The end of Mbed marks a new beginning for Arduino

    Reading Time: 3 minutes

    As you might have heard, on July 9th, Arm announced that the Mbed platform and OS are officially destined to reach end of life in July 2026, and therefore will no longer be maintained.

    The news has sent ripples through the embedded development community, particularly affecting brands like micro:bit, Raspberry Pi and, of course, Arduino – all of which received Arm’s support over the years and “gained momentum in educational settings and among the maker community, enabling many of the features that Mbed offered to become more widespread and accessible, from browser-based IDEs and hardware abstraction to code hosting and remote build services.”

    So, if you found yourself wondering how will Mbed’s retirement affect Arduino? – as a recent Hackster article did – this blog post is for you!

    We’re always ready to innovate

    At Arduino, we consider every new development in technology an opportunity to improve our platform and offer better and better tools to all our users. In the case of Mbed, which primarily affects a subset of our boards (see below), we knew the end of life was nearing and began proactively searching for a substitute years in advance. Spoiler: we found an excellent one in ZephyrOS! This is one of the reasons why we joined the Zephyr® Project as Silver members in 2023, as announced in our latest Open Source Report.

    We are actively working to enable Arduino users to continue using the language and libraries they are familiar with. This involves creating an Arduino core based on an underlying Zephyr layer (you can dive deeper into some of the details about our progress with the project during the 2024 Arduino Days, with a conversation between our own Martino Facchin and Zephyr’s Benjamin Cabè).
    We plan to release the first beta of this transition by the end of 2024, with a rollout for various boards starting in 2025 – so we hope you’ll stay tuned and join the testing phase to support our efforts! 

    How is Mbed used in the Arduino ecosystem? 

    Every Arduino board has its corresponding “core,” i.e. the implementation of the Arduino programming language for its particular microcontroller architecture. The goal of Arduino cores is to expose the same commands and instructions (APIs) regardless of what board is being used. 

    For some boards – mainly GIGA, Nano 33 BLE, Nano RP2040 Connect, Portenta, Nicla family, and Opta – we implemented the Arduino core on top of an abstraction layer provided by Mbed OS in order to speed up development. The Arduino cores for other popular Arduino boards in the UNO, MKR and Nano families are implemented differently, and do not use Mbed OS. 

    In general, whether an Arduino core is based on Mbed or other underlying software layers does not have any practical impact on how end users program our boards.

    We’re built for longevity

    The advantage of using Arduino as an abstraction layer lies in its universal language, which remains consistent regardless of the underlying implementation. Therefore, programs written for Arduino will continue to work whether Mbed is there or not. 

    This is a significant reason to use Arduino for projects that need to stand the test of time.

    We face change as a community

    What do you think? Do you have any concerns about Mbed reaching its EOL two years from now? Comment below to let us know, or reach out to us on social media. We love to hear from you and want to support all our users in this transition.

    The post The end of Mbed marks a new beginning for Arduino appeared first on Arduino Blog.

    Website: LINK