This tutorial may be outdated. It is no longer recommended for beginners, and may need modifications to code or hardware that is not indicated in the tutorial.

Overview

The examples in this guide are no longer supported and may not work. We are only supporting CircuitPython on our boards. For more information about using CircuitPython, check out the CircuitPython Essentials: https://learn.adafruit.com/circuitpython-essentials/circuitpython-essentials
Note this guide was written for MicroPython.org firmware and not Adafruit CircuitPython firmware.

Extending your scripts by including code from other files is a great way to simplify and structure programs.  Instead of constantly reinventing the wheel for mundane tasks you can put code for them in a Python module or package once and then reuse that code in other scripts.  This way you can focus on what's important for your project instead of reimplementing trivial details.  Even better by creating modules and packages you can share your code with others so they can benefit from it too!

With MicroPython you can import code in two ways.  One easy way is from Python files on a board's filesystem just like you would import Python modules & packages on the desktop.  A second way is with 'frozen modules' that are baked-in to a build of MicroPython's firmware and reduce the memory usage of a module vs. importing its raw Python source.  This guide explores how to import modules & packages as both raw Python source files and frozen modules for maximum efficiency.

Before you get started you'll want to have a board running MicroPython and be familiar with its basic usage like the serial REPL.  In addition for frozen modules you'll need to be familiar with building the MicroPython firmware for your board which is somewhat of an advanced topic.  Check out the following guides:

This guide was first published on Aug 29, 2016. It was last updated on Aug 29, 2016. This page (Overview) was last updated on Jun 18, 2019.