Guides for product: MicroPython pyboard

The pyboard is a compact and powerful electronics development board that runs MicroPython. It connects to your PC over USB, giving you a USB flash drive to save your Python scripts, and a serial Python prompt (a REPL) for instant programming. Requires a micro USB cable, and will work with Windows, Mac and Linux.

This is the original pyboard, which is more powerful than the pyboard Lite.

MicroPython is a complete re-write of the Python (version 3.4) programming language so that it fits and runs on a microcontroller. It includes many optimizations so that it runs efficiently and uses very little RAM.

MicroPython runs bare-metal on the pyboard, and essentially gives you a Python operating system. The built-in pyb module contains functions and classes to control the peripherals available on the board, such as UART, I2C, SPI, ADC and DAC.

Watch this video for an overview of the pyboard.

There are 3 main ways to control the pyboard:

  • REPL: Connecting to your PC via USB, the board appears as a USB virtual comms port (CDC VCP) and you can use any serial program to connect and get a Python REPL prompt. This allows you to instantly type and execute Python commands, just like you would when running Python on your PC. You can also redirect the REPL to any of the UARTs on the pyboard.
  • Remote script: You can change from REPL to raw REPL mode by sending ctrl-A, and then in raw REPL mode you can send an arbitrary Python script to the board for it to execute immediately. A Python script is available which makes using this mode very simple: you just run python and this will execute on the pyboard, returning any output.
  • From file: The pyboard has a small, built-in filesystem which lives in part of the flash memory of the microcontroller. It also has an SD card slot if you want to extend the available storage. When you connect the pyboard to your PC, it appears as a USB flash storage device and you can access (mount) the internal filesystem and the SD card this way. If you copy a Python script to the filesystem and call it then the board will execute this script when it starts up. This way you can run scripts without being connected to a PC.

Main features of the hardware:

  • STM32F405RG microcontroller
  • 168 MHz Cortex M4 CPU with hardware floating point
  • 1024KiB flash ROM and 192KiB RAM
  • Micro USB connector for power and serial communication
  • Micro SD card slot, supporting standard and high capacity SD cards
  • 3-axis accelerometer (MMA7660)
  • Real time clock with optional battery backup
  • 24 GPIO on left and right edges and 5 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
  • 4 LEDs (red, green, yellow and blue)
  • 1 reset and 1 user switch
  • On-board 3.3V LDO voltage regulator, capable of supplying up to 300mA, input voltage range 3.6V to 10V
  • DFU bootloader in ROM for easy upgrading of firmware

SD Card not included but we have plenty in the store!

Click here for references, schematics, and more documentation on the MicroPython.



How to compile and install MicroPython for the ESP8266 WiFi breakout!
Building and Running MicroPython on the ESP8266
What is MicroPython, why would you use it?
MicroPython Basics: What is MicroPython?
Learn how to load MicroPython firmware on a development board.
MicroPython Basics: How to Load MicroPython on a Board
Program the 'Hello World' of hardware with MicroPython.
MicroPython Basics: Blink a LED
Learn a simple workflow for developing code on a MicroPython board.
MicroPython Basics: Load Files & Run Code
Load Python modules that extend your code with new functionality!
MicroPython Basics: Loading Modules
Blink LEDs and read buttons with digital I/O and MicroPython!
MicroPython Hardware: Digital I/O
Use ADC's, DAC's, and PWM outputs to control analog signals with MicroPython!
MicroPython Hardware: Analog I/O
Talk to SPI devices with MicroPython!
MicroPython Hardware: SPI Devices
Learn how to talk to I2C devices with MicroPython!
MicroPython Hardware: I2C Devices
Learn how to use a microSD card to store code & data with CircuitPython and MicroPython!
CircuitPython Hardware: SD Cards
How to use a SSD1306 OLED display with CircuitPython boards.
CircuitPython Hardware: SSD1306 OLED Display
How to use the PCA9685 PWM & servo driver with CircuitPython!
CircuitPython Hardware: PCA9685 PWM & Servo Driver
How to use LED Backpacks & FeatherWings with CircuitPython!
CircuitPython Hardware: LED Backpacks & FeatherWings
How to use Charlieplex LED matrices with CircuitPython!
CircuitPython Hardware: Charlieplex LED Matrix
How to write text on any MicroPython display.
MicroPython Displays: Drawing Text
How to draw on a ILI9341 TFT display with CircuitPython!
CircuitPython Hardware: ILI9341 TFT & FeatherWing
How to draw basic shapes on pixel-based displays with MicroPython!
MicroPython Displays: Drawing Shapes