Real-time Software using Micro Python – The Basics


Course Overview

Real-time Software using Micro Python

Python has become a very popular scripting language and has been deployed on many production systems in addition across multiple application domains. In December of 2013 the Micro Python organization successfully funded a kickstarter project that allowed them to bring their dream of Python running on a microcontroller to life. Micro Python is a lean and efficient Python 3 port designed to run on an STM32 Cortex-M microcontroller!

The primary purpose of this course is to explore real-time embedded software concepts as they relate to Micro Python! The course utilizes the PyBoard (purchased separately from which comes with the latest Micro Python distribution already installed. Attendees can expect to learn and take key concepts in areas such as

  • Python
  • Python vs C
  • Real-time Programming
  • Object Oriented Design
  • Rapid Prototyping
  • Controlling MCU peripherals from Micro Python
  • Exception and Error Handling
  • Real-time Scheduler Concepts and Design

The course is broken up into five separate sessions each consisting of a 45 – 60 minute lecture followed by lab exercises to explore the lecture concepts. The labs build on each other resulting in a final script that provides examples on how to use the peripherals, schedule tasks and handle real-time errors. Attendees will leave this course with all the tools and skills necessary to develop a real-time system using Micro Python and develop general Python programs.

Session 1 – Introduction to MicroPython

  • Python Language Overview
  • An introduction to Micro Python
  • TEPL Terminal
  • Creating a script
  • The pyb library
  • Callbacks and Interrupts
  • Switches
  • Gpio

Session 2 – Python Language Fundamentals

  • Operators
  • Flow Control
  • Manipulating Strings
  • Lists
  • Dictionaries
  • Accessing the File System
  • Object Oriented Programming

Session 3 – Real-time Techniques using Micro Python

  • Real-time Scheduling
  • Rate Monotonic Analysis
  • Round Robin Scheduling
  • Timers
  • Organizing Scripts
  • Cooperative Scheduling
  • Designing a Scheduler

Session 4 – Controlling the PyBoard Peripherals

  • UART
  • I2c
  • SPI
  • ADC
  • Real-time Plotting

Session 5 – Debugging and Error Trapping

  • PWM Control
  • Script Debugging Techniques
  • Creating Error Logs
  • Trapping Run-time Errors
  • Bringing it all together

The course is organized as a “work at your own pace” course which allows the student to either complete the course in a single day or split it up over the course of a week or month. This course can be ordered by clicking the “Add to Cart” button located at the bottom of the page.

For additional questions or comments please contact

Price: $25

* Please note that once the course is added to the cart you must return to the bottom of the Training Page to Check-out or click here to check-out.