FreeRTOS

A device or wearable with significant hardware constraints doesn’t have to mean bypassing a real time operating system. With FreeRTOS we can help you deploy a fully featured IoT or IIoT product at scale with a trusted, reliable, secure and safe operating system that makes the most of even very limited resources.

What is FreeRTOS?

FreeRTOS (Free Real Time Operating System) is an operating system designed for and popular with vendors of devices and systems that are resource constrained. FreeRTOS is an open source project and the FreeRTOS kernel and libraries suitable for use are available to all based on the MIT open source License. The Kernel was developed by Richard Barry in 2003 and supports many architectures. Where compute power is relatively low, memory limited, and power or battery draw is low, rationed, or restricted, FreeRTOS can work as a real time operating system with many of the benefits of one of its larger, heavier, and resource hungry competitors.

The main challenges of FreeRTOS

books blue

No background

While FreeRTOS is distributed freely and a popular operating system, maintaining internal teams capable of developing on FreeRTOS can be a challenge. Not only does the FreeRTOS kernel and libraries evolve over time, but having the deep background in that evolution and how best to exploit the OS is something that only comes with regular engagement with FreeRTOS, something internal teams often lack.
secure development blue

Thread Safety

FreeRTOS has strong documentation and working on multiple threads safely is possible. However, if your developers do not have experience in working with FreeRTOS, there is a chance that they will create unsafe threads and deliver an insecure, unstable code package.
scalability blue

Experience at scale

FreeRTOS is open source and has been available to developers to experiment with for decades, and this has allowed many engineers to build projects on top of this OS. Yet what can work well on a small private project or within the confines of internal network often runs into problems when deployed at scale. Knowing the basics of the kernel and libraries, FreeRTOS includes, is rarely enough to deliver quality at commercial magnitudes.

Key elements to consider to write FreeRTOS code

Review & mapping

  • Code review
  • Recommendations
  • Modular development

Development

  • Coding
  • Testing & validation
  • Documentation & delivery

Post-delivery

  • Maintenance
  • Security workshop

SUCCESS STORY

Global Firmware Update System for Smart Building Sensors

Adeunis’ Building Management System is a comprehensive wireless solution that enables the monitoring of a building’s energy efficiency and security by using sensors to transform it into a “smart building.” To ensure the system stays up-to-date with new features and security improvements, its radio module sensors require regular security updates. However, manually updating hundreds of sensors, especially those located in hard-to-reach areas like a building’s basement, can be challenging. Witekio assisted Adeunis by providing:
  • A complete software system design and integration service, including firmware update architecture for dual MCU systems
  • A network tree mechanism designed to enable “hop” functionality and extend the update range
  • Design of a custom radio protocol
  • Security and cryptography layer design and integration
  • Application development focused on a UX-driven approach

HOW TO DEVELOP WITH FreeRTOS

Every FreeRTOS project is different and, depending on whether you are starting from scratch or updating a current FreeRTOS device, the starting point for our teams can vary. For existing FreeRTOS projects, the first step is a complete code review by our expert teams. This review enables them to understand the current state of the codebase, identify any underlying issues of the source code, locate bugs and problem areas, and develop a plan for updates and improvements. With the code review complete or, for new projects, the goals and expectations defined, our team makes recommendations about how the FreeRTOS project should proceed. These recommendations will eventually result in a roadmap that our team will use to advance their work. Importantly, our engineers adopt a modular development approach so that what is built can be updated in the future with fewer issues. A modular development approach empowers developers to add and remove elements of the codebase without disabling the device or impacting essential components.
With the recommendations accepted and a development roadmap in place, our teams can get to work developing the code for your FreeRTOS device. With years of expertise in coding for FreeRTOS, our developers work quickly to write the source code for your device. Throughout the development process, they check in regularly with your teams, delivering on milestones and meeting deadlines to ensure that the project advances as agreed. An important part of our development process is testing and validation. Every module is tested, their interactions are assessed and tested, too, and the code is validated to ensure that it will not be shipped with bugs that cause the system to crash, brick, or deliver a sub-par user experience. All of the code is fully documented so that your internal teams will be able to maintain and update the code in the future. In combination with the existing and extensive documentation on the FreeRTOS platform, this means your device can be fully supported long after handover. Finally, with the development, testing, validation, and documentation complete, our teams deliver the final code and all of the documentation to your internal teams and the product owner. With the development roadmap concluded, the device is ready to deploy.
While the code has been handed over and the device is ready for marketing, many Witekio customers choose to continue their work with our teams to ensure that their device is secure and well maintained. Clients often choose a maintenance contract to be sure that they can leverage the skill and experience of our teams in keeping their device optimized and secure. With security threats only increasing and integration with new devices a constant challenge, regular maintenance can add value and enhance reputations. Additionally, our teams often maintain connections with clients in training sessions, including our popular security workshops. These workshops are targeted to the needs of your development teams and help to inform and upskill your developers in the shadow of threats from bad actors.

The main benefits of FreeRTOS

Operating systems allow embedded devices to multitask, completing different operations at the same time in separate threads. An advantage for developers and users, this capacity to multitask also comes with some disadvantages if the operating system deployed is too much for the constraints of the device, like arm cortex microcontrollers. FreeRTOS offers all the benefits of multitasking for developers, like symmetric multiprocessing, and users but is a lighter option for systems constrained by memory, compute power, and battery life. It brings the multitasking that adds significant value to an application but without the weight and bloat of a larger operating system.
While it is true that FreeRTOS is a bare bones operating system, FreeRTOS includes everything that is required to power a high-performance application and commercially successful device and supports many architectures. It is lighter than its competitors, includes the FreeRTOS kernel and a growing set of libraries, like AWS IoT, and it is easier to develop on being so well-documented and supported. Altogether, this means that FreeRTOS is a solid choice in a competitive market and – distributed freely under the MIT open source License – one that is cost-effective, too.
FreeRTOS has been developed with the world’s leading chip companies and is available for more than twenty years and it has built a strong reputation for quality among key suppliers. Almost all of the microcontroller hardware platforms support FreeRTOS and it comes as a standard one-click install option on many. What’s more, Amazon’s embrace of FreeRTOS and its stewardship of the FreeRTOS code since 2017 means you can confidently choose FreeRTOS for your project and devices without the worries that come with industry support collapsing as vendors shift interest. With FreeRTOS, the support from microcontroller platforms, the FreeRTOS community and from Amazon make it a safe choice.

Witekio can support your FreeRTOS project

Over the last two decades we’ve developed deep experience in delivering FreeRTOS projects for clients in a variety of domains and industry sectors. Whether powering solar panels in the new renewable economy or deployed in factories manufacturing the next wave of innovative industrial machinery on small microprocessors, Witekio engineers have built expertise in developing on FreeRTOS for a diverse customer base and a comprehensive set of various projects. Our teams are experts in the operating system and can help you whether you are starting from an idea or troubleshooting an existing codebase. Contact our business development team today to discuss your needs and how Witekio can help.
witekio team

Your trusted embedded software, application and connectivity partner

flag_line

4 Countries

4 countries

iso_27001_02-1024x704

ISO 27001 certified

ISO 27001 certified

Avnet_logo

Fortune 500 owned

Fortune 500 owned