Designing Embedded Systems Using Micro Python
CEC Archives | CEC Semester Fifteen 2019 | Designing Embedded Systems Using Micro Python
MicroPython offers developers an interesting and unique strategy to rapidly accelerate product development by leveraging existing libraries and hardware modules to develop a product. In this session, we will examine what tools are available to developers and help them to understand the ecosystem surrounding MicroPython, which includes development boards, modules and software.
A critical component to accelerate development in any embedded system is to leverage existing modules and libraries to accelerate design. The PyBoard D-Series development board can be leveraged by designers, not just to prototype their systems, but to also be used in production systems. In this session, we will fire up the Pyboard D-Series module and look at how we can interface to it to write our first MicroPython scripts. Attendees will walk away with a better understanding of how to use the available software libraries.
A production-intent system may require that developers make modifications to the MicroPython kernel and recompile it themselves. Developers may want to do this to protect their own IP modules, to improve the robustness of the kernel, or to customize the start-up sequence. In this session, we will examine how developers can do just that.
The Python language provides developers with many libraries and language features. Still, not all features will necessarily work on an embedded target as one might expect. In this session, we will look at how we can develop real-time applications using simple schedulers and the built-in Python threads class. Attendees will walk away with an understanding of real-time Python and how it works in a resource-constrained environment.
Testing is an important piece of production system development. There are many ways that developers can test their MicroPython code and one interesting way is to create a test harness. In this session, we will explore different test-harness schemes and show how they can be used during development to ensure that the MicroPython code is working as expected. We will also discuss robust coding techniques in Python before reviewing the week's course and discussing how developers can go further with MicroPython.

Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 300 articles on embedded software development techniques, has published several books, is a sought-after speaker and technical trainer and holds three degrees which include a Masters of Engineering from the University of Michigan.