MicroPython Intro

What is Python?

The #1 Programming language*

  • Python: 14.2%
  • Matlab: 0.8%
  • Labview: 0.14%

* as of March 2022, tiobe.com

What is Python, really?

A really easy to learn programming language

What else is Python?

An extensible system of software “packages”

  • use pip/pypi to install
  • install straight from github!

But what makes it unique?

An “interpreted” language

  • In its simplest form, the Python interpreter simply runs human-readable scripts*.
  • Can load and run code compiled in C, C++ FORTRAN, etc.

* there are many exceptions

Is there anything else?

  • “Dynamically Typed”
    • Variables don’t need to be declared as one type or another. You simply set them equal to something and they become that data type.
  • Object-oriented
    • concept of classes and inheritance
  • “Public” by definition
    • data is not easily hidden.
    • data is accessible by anything

So then, why C?

  • Lower level language that is easier to map to hardware-specific registers and functionality
  • Compilation makes running code faster and more memory efficient

Python Interpreter

  • Simple program that runs scripts or typed commands.
  • A lot like bash, powershell, or cmd, only cross-platform and independent of the operating system.

What is MicroPython?

  • A slimmed down, limited version of Python that fits within the program space of a little microcontroller
  • The system of software packages written for it
  • The same idea of an interpreter… you just access it over UART/USB.

What is Thonny?

  • a Graphical User Interface (GUI) written in Python
  • A text editor
  • The interface to your device and its interpreter
  • A nice way to re-flash your device

What is Anaconda/Miniconda?

  • A way to manage all the “packages” you can install on your PC
  • A solution for dealing with conflicting installation requirements.
  • A way to share packages that contained OS-specific, compiled libraries.

Why do I need to use Anaconda?

Many packages include libraries that are compiled specific to one operating system

this requires a compiler, and understanding the compilation process in case it doesn’t work

or, requires access to compiled packages

* https://www.lfd.uci.edu/~gohlke/pythonlibs/

Ok, so how do I get started?

  1. Install anaconda/miniconda
  2. Install Thonny and some other packages
  3. Open Thonny
  4. Flash the ESP32 with MicroPython over USB
  5. Load some micropython libraries
  6. Start writing code.