MicroPython is both a lightweight implementation of Python 3.4 programming language, and a board, aka pyBoard, based on STMicro STM32F4 ARM Cortex M4 micro-controller running Micro Python. The project had a successful Kickstarter campaign in 2013, and they’ve completed shipment of the perks to their backers last June. The company has now launched its own store, so let’s see the progress of the project.
The board has been re-designed since Kickstarter campaign, but the specifications remains the similar, but with some extra I/Os exposed:
- MCU – STMicro STM32F405RG micro-controller @ 168 MHz with 1MB flash, 192KB RAM, and an FPU.
- External Storage – Micro SD card slot, supporting standard and high capacity SD cards
- Expansion Headers:
- 24x GPIO on left and right edges and 5x GPIO on bottom row, plus LED and switch GPIO available on bottom row
- 3x 12-bit analog to digital converters, available on 16 pins, 4 with analog ground shielding
- 2x 12-bit digital to analog (DAC) converters, available on pins X5 and X6
- USB – Micro USB connector for power and serial communication
- Sensors – 3-axis accelerometer (MMA7660)
- Misc – Real time clock with optional battery backup, 4x LEDs (red, green, yellow and blue), 1x reset and 1x user switch
- Power – 5V via micro USB port. On-board 3.3V LDO voltage regulator, capable of supplying up to 300mA, input voltage range 3.6V to 10V
- Dimensions – 32 x 40 mm
The board connects to your PC over USB, and all I/Os can be controlled with a Windows, Mac or Linux computer using three possible ways:
- REPL – Connect to the board using serial program (minicom, hyperterminal) to get a Python REPL (read–eval–print loop) prompt, where you can execute Python commands just as you would on your PC.
- Remote script – Pressing ctrl-A in the console will switch to raw REPL mode, where you can send any Python script to the board for it to execute immediately. pyboard.py script is provided to your script to the board.
- From file – The pyboard has a filesystem located in the flash memory of the MCU and a micro SD card slot. When you connect the board to your PC it will show as a USB mass storage device, which can be mounted in your PC. Simply copy your Python script (main.py) in the partition, and it will run automatically. This allows to run scripts without being connected to your PC.
The company provides documentation and source code about Micro Python software implementation, as well as hardware files in PDF format. Eagle schematics & PCB layout, and gerber files are also available for the earlier version (pybv3), but not the the latest version of the board (pybv10). You should also be able to run Micro Python implementation on hardware based on x86, x86-64 or ARMv7 targets running Linux.
Micro Python board v1.0 can be purchased for £28.00 (~$45) on the company’s e-store, and you can also find LCD and audio “skins”, as well as a few other modules to interface with the board.