Learn Python for embedded systems with this inexpensive microcontroller from ST Micro.
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 the bottom row, plus LED and switch GPIO available on the 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 250mA, input voltage range 3.6V to 16V
DFU bootloader in ROM for easy upgrading of firmware
The two mounting tabs on the pyboard have perforations so that you can snap them off cleanly if needed.
This pyboard comes in a small plastic ESD (anti-static) box.
Differences between PYBv1.0 and PYBv1.1: high-speed crystal changed from 8MHz to 12MHz; LDO changed from MCP1802 to MCP1703; USB VBUS power diode replaced with silicon diode; JST battery connector pads added with protection FET.
There are 3 main ways to control the pyboard:
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 pyboard.py script_to_run.py and this will execute script_to_run.py on the pyboard, returning any output.
From file: The pyboard has a small, built-in filesystem that lives in a 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 main.py then the board will execute this script when it starts up. This way you can run scripts without being connected to a PC.