CEC – Rapid Prototyping Embedded Systems using MicroPython

Course Overview:

Embedded system developers are facing challenges that often require a look outside of the box for tools and methodologies that can help quickly prove an idea or concept very rapidly. One of the tools that developers often overlook is the Python programming language. This course will examine how Python can be used for rapid prototyping of an embedded system by developing real-time applications using the MicroPython programming language with the PyBoard (based on an STM32 ARM Cortex-M MCU) and Python test scripts. The course will cover what MicroPython is, how to develop real-time applications and control peripheral interfaces of a 32-bit ARM microcontroller.

CECDay 1 – Introduction to MicroPython

Understanding when and where it makes sense to use Python in the embedded system development cycle is a first step for any developer interested in using Python. This session will examine the Python programming language and introduce MicroPython along with its development platform PyBoard. Attendees will walk away with an understanding of what MicroPython is and how to setup a basic script that can control microcontroller hardware.

Registration and Playback located here (May require login to access)

Day 2 – Libraries and Peripheral Control

The PyBoard is based on an ARM Cortex-M4 processor which has a large number of internal peripherals and capabilities. In this session, we’ll examine what libraries are available through MicroPython to control these peripherals and features. Attendees will walk away with an understanding of the libraries to control GPIO, timers SPI and UART peripherals.

Registration and Playback located here (May require login to access)

Day 3 – Rapid Prototyping

In this session attendees will be walked through the process of connecting to and communicating with external devices and boards. Attendees will examine how to write data to an external EEPROM and Bluetooth device to transmit sensor debug data. Concepts can be applied to generic external modules but detailed specific examples will be provided.

Registration and Playback located here (May require login to access)

Day 4 – Building and Customizing MicroPython

Running MicroPython on the Pyboard is one thing but what if a developer wants port or customize MicroPython to work on a different platform? In this session, we will explore how to customize and build MicroPython to run on off the shelf development kits. Attendees will walk away with an understanding of what it takes to get MicroPython up and running.

Registration and Playback located here (May require login to access)

Day 5 – Python Scripting for Testing and Debug

Python can be used in embedded systems for much more than microcontrollers. In this session, we will examine how Python can be used control development tools. Attendees will walk away with an appreciation for how to write Python scripts that are reusable and can be used to test an embedded system.

Registration and Playback located here (May require login to access)

Course Resourses

  • Sign-Up for the Embedded Bytes Newsletter here
  • Embedded Software Design Techniques – An API Standard for MCU’s here
  • Doxygen C Templates Download can be here
  • EDN Blog Articles can be found here

Course Source Code Download

Fill in the below information to accept the terms and conditions of downloading the “MicroPython Scripts”.  The material includes

  • DFU Programming rules file (in 49-stmdiscovery.rules)
  • PyBoard
    • LED and Switch control script
    • Accelerometer control example script
  • Netduino Example Scripts
    • LED Control
    • Weather Shield I2C humidity and temperature sensing script

THIS SOFTWARE IS PROVIDED BY BENINGO EMBEDDED GROUP “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BENINGO EMBEDDED GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Leave a Reply

Your email address will not be published. Required fields are marked *