The MicroPython Tutorial

MicroPython natively supports the Pyboard (https://github.com/micropython/pyboard). The Pyboard uses the STM32F405RGT6 MCU (MicroController Unit) which uses the ARM Cortex M4 core, while The WiPy (http://wipy.io/) is an Internet-of-Things (IoT) development platform which is a circuit board with a Wifi chip.

Running your first script

Once you get connected with Pyboard, There will be a drive 0:/ by the pyboard, and should contain the following 4 files:

  • boot.py -- this script is executed when the pyboard boots up. It sets up various configuration options for the pyboard.
  • main.py -- this is the main script that will contain your Python program. It is executed after boot.py.
  • README.txt -- this contains some very basic information about getting started with the pyboard.
  • pybcdc.inf -- this is a Windows driver file to configure the serial USB device.

The REPL Prompt

REPL stands for Read Evaluate Print Loop, and is the name given to the interactive Micro Python prompt that you can access on the pyboard. Using the REPL is by far the easiest way to test out your code and run commands.




To get a micro python prompt to write instructions directly to the board do,

screen /dev/ttyACM0

This is what you get from the help() function on micro python interpreter.

>>> help()         
Welcome to Micro Python!

For online help please visit http://micropython.org/help/.

Quick overview of commands for the board:
  pyb.info()    -- print some general information
  pyb.gc()      -- run the garbage collector
  pyb.delay(n)  -- wait for n milliseconds
  pyb.Switch()  -- create a switch object
                   Switch methods: (), callback(f)
  pyb.LED(n)    -- create an LED object for LED n (n=1,2,3,4)
                   LED methods: on(), off(), toggle(), intensity()
  pyb.Pin(pin)  -- get a pin, eg pyb.Pin('X1')
  pyb.Pin(pin, m, [p]) -- get a pin and configure it for IO mode m, pull mode p
                   Pin methods: init(..), value([v]), high(), low()
  pyb.ExtInt(pin, m, p, callback) -- create an external interrupt object
  pyb.ADC(pin)  -- make an analog object from a pin
                   ADC methods: read(), read_timed(buf, freq)
  pyb.DAC(port) -- make a DAC object
                   DAC methods: triangle(freq), write(n), write_timed(buf, freq)
  pyb.RTC()     -- make an RTC object; methods: datetime([val])
  pyb.rng()     -- get a 30-bit hardware random number
  pyb.Servo(n)  -- create Servo object for servo n (n=1,2,3,4)
                   Servo methods: calibration(..), angle([x, [t]]), speed([x, [t]])
  pyb.Accel()   -- create an Accelerometer object
                   Accelerometer methods: x(), y(), z(), tilt(), filtered_xyz()

Pins are numbered X1-X12, X17-X22, Y1-Y12, or by their MCU name
Pin IO modes are: pyb.Pin.IN, pyb.Pin.OUT_PP, pyb.Pin.OUT_OD
Pin pull modes are: pyb.Pin.PULL_NONE, pyb.Pin.PULL_UP, pyb.Pin.PULL_DOWN
Additional serial bus objects: pyb.I2C(n), pyb.SPI(n), pyb.UART(n)

Control commands:
  CTRL-A        -- on a blank line, enter raw REPL mode
  CTRL-B        -- on a blank line, enter normal REPL mode
  CTRL-C        -- interrupt a running program
  CTRL-D        -- on a blank line, do a soft reset of the board

For further help on a specific object, type help(obj)

To close the screen session do 'Ctrl + a' and 'Ctrl + d' in sequence.


For detail please refer to The tutorial, http://micropython.org/doc/tut-contents.