The RTPy story

You may not notice it immediately, but of course you know it well. Embedded systems are all around us. From standing desks to smart TVs, and production lines to medical equipment: nowadays, many devices contain a certain level of detection, control, and communication capabilities.


A programmer of embedded systems must therefore be skilled in both software and hardware. Additionally, there is a trend of increasing complexity but also capacity of these embedded systems with limited resources. This puts pressure on the embedded programmer as well as on the existing tools and programming languages being used. One of these widely used tools in the industry is Real-time Operating Systems (RTOS). This provides deterministic execution of tasks, priority management, and supports hardware interactions for time-sensitive applications.


To develop an embedded product, a team of embedded programmers is not enough; what needs to be managed is often conceived by a team of engineers. This team is capable of devising complex algorithms but often does not go beyond programming solutions in Arduino or Python on a Raspberry Pi. However, these options do not offer the reliability or real-time determinism that an industrial solution requires.


This is where RTPy comes in. RTPy stands for Real Time Python and combines the best of both worlds. For engineers, RTPy provides essential tools such as hot reloading and the ability to interactively inspect the application's state with graphs. Because RTPy works at a higher level than the C/C++ programming language normally used, it is possible to write code in complex systems that is more readable, maintainable, and reusable. For the embedded programmer, control is not taken away. RTPy is an add-on to the C/C++ code written by the embedded programmer and works with any RTOS.


Of course, there is a trade-off. The RTPy code is not directly converted into machine instructions but requires additional software on the controller. Modern controllers have become so powerful and cost-effective that this solution is a serious consideration for small to medium-sized product series.


RTPy opens doors to collaboration and accelerates development without compromising control, reliability, or efficiency. This is achieved by enabling engineers to leverage the expertise of embedded programmers.


Differences with MicroPython

As RTPy might at first sight look like another version of MicroPython, I think this deserves a dedicated chapter in the story of RTPy to show the differences.

Similarities

Differences

Creator

Kevin Robben

Driven by a passion for innovation, I am an energy technical mechanical engineer with a strong proficiency in Python and C programming. As the founder of Real Time Python, I am dedicated to crafting an inventive programming language tailored for embedded systems. Within a Dutch engineering firm, I assume the role of an Engineer & Consultant, actively engaged in diverse projects spanning energy generation, district heating networks, and solar PV systems. My professional journey encompasses R&D internships, service engineering in Solar Energy, and leadership in projects such as the software-based parametric design of technical spaces. Control technology resonates deeply with me, trying to integrate the best parts into embedded systems through RTPy.