MicroPython Microcontroller Board

The microcontroller board is a Canadian-made (in-house by Aretas) implementation of the micropython project (which we use in our prototyping projects). The micropython board implements the widely used Python programming language, touted for its code readability and syntax allowing programmers to express concepts in fewer lines of code than with C++ or Java.

The micropython project is nothing short of amazing, allowing developers to access a real-time REPL prompt to run code instantly. In our in-house projects, this has reduced development time of prototype code by 1/5 or more. Sensors, devices or peripherals can be queried on the fly and results seen instantly. Additionally, no cumbersome proprietary IDEs are required to compile or load code into the board. Since the STM microcontroller comes with a bootloader exposed over USB, no additional hardware is required to flash new versions of micropython. No ICSP hardware is required to flash a bootloader and no FTDI adapters are required to load code. All that's needed is a common micro USB cable (the same kind you likely use to charge your phone) and you can view the .py files stored in the device flash memory, edit them directly on the flash memory, or access the REPL prompt over a terminal and run code in real-time.

PeripheralsThe microcontroller board comes standard with a module containing functions and classes to control peripherals such as UART, I2C, DAC, SPI, and ADC.

ControlsAccessing and controlling the microcontroller board with three options:

REPL: Using micro USB to connect with your PC the board appears as a USB virtual comms port (CDC VCP) which allows any serial program to connect and get a Python REPL prompt. You are now ready to execute Python commands and you can redirect the REPL to any of the peripheral ports (or is this just UARTs?) on the microcontroller board.

Remote script: Changing the REPL to raw REPL mode is easy allowing you to send arbitrary Python scripts to the board for immediate execution.

Via file: The built-in flash memory of the microcontroller contains a small filesystem allowing you to copy Python scripts and the board will execute a script when started. An SD card slot allows you to increase the filesystem storage which appears as a standard USB flash storage device on your PC.