dec. 2020: The Pyboard Lite is no more manufactured.
MicroPython Pyboard - the Lite version
Micro Python is a fast, optimized and alleviated version of the Python 3 programming language for embedded systems.
PyBoard LITE, the MicroPython board is a small, medium-power electronic board that runs MicroPython in "Metal Bar" and offers you a low-level Python operating system allowing you to control all kinds of electronic projects.
By opening the Micro Python range, MCHobby begins its 4th documentation project on its wiki.
Python is a very easy to learn, very expressive, really very powerful scripting language with a huge community. By operating on a microcontroller, MicroPython makes it possible to flash LEDs without any effort, read voltages, move motors and servo motors, play sound, write/read data on the micro SD card, establish wireless communications (with an add-on) and become that brain your robot is desperately waiting for. There are so many other opportunities available to PyBoard and MicroPython .... it's a perfect choice for your next project!
The Micro Python LITE board (PyBoard-LITE for the close friends) is an electronic development board based on an STM32F411RET6 microcontroller which runs Micro Python. This microcontroller, less powerful than the original PyBoard board is one of the most powerful available on the market and has been specially selected because it would allow Micro Python to operate at its full potential.
The microcontroller is clocked at 96MHz (clock frequency), has 512Kb of Flash and 128Kb of RAM, a comfortable memory space for writing Python scripts of a certain complexity.
The board has a USB interface which is presented as a serial peripheral (CDC VCP) as well as a removable USB storage device (MSC, the equivalent of your USB key). When PyBoard is connected to a PC, you can open a serial communication program (telnet/minicom or Putty terminal) and interact with the board via a Python command line.
The board also behaves like a storage peripheral (a USB Flash drive) allowing you to easily copy your scripts to the board or SD card file system. These files can be run independently of the PC.
The differences between PYBoard and PYBoard LITE lie in this:
- 512Kb of flash memory instead of 1MB.
- 128K of RAM memory instead of 192K of memory.
- Clock clocked at 96 Mhz instead of 168Mhz
- No real-time clock (unlike the original PyBoard)
- Lower consumption (23mA against 37mA).
- No analog output (compared to 2 for the original PyBoard)
- No CAN bus (compared to 2 for the original PyBoard)
- 3 Serial ports (instead of 5)
- 7 Independent timers (instead of 13)
- File system down to 46KB
- No accelerometer
See this summary table of the different PyBoard models.
A board for everyone
The Micro Python board is suitable for everyone, regardless of the level of programming or electronic knowledge. With a few lines of Python code in a text file, the beginner can flash the LEDs and react according to the accelerometer data, all without soldering, no component connection, or installation of software on your computer. Advanced users will appreciate being able to use native types, the iniline assembler or even to write their own programs in C and upload them in DFU mode.
REPL, Remote Script or Files
Control the board in 3 different ways:
- REPL: Connected to a PC with a USB cable, the board appears as a virtual COM port (USB Serial, CDC VCP) and you can use any serial program to connect to the board and gain access to the REPL command line. REPL stands for Read-Evaluate-Print-Loop. This REPL command line allows you to type and execute Python commands instantly, as you would with a PC. You can also redirect REPL to any UART (serial port) on the pyboard.
- Script in Remote: you can switch from REPL mode to raw REPL mode by sending a ctrl-A. Once in raw REPL mode, you can send an arbitrary Python script to the board where it will be executed immediately. There is a Python script available to make using this mode really easy. You simply execute python pyboard.py script_to_execute.py and your script script_to_execute.py will be executed on the PyBoard and you will receive the result produced by the script.
- From a file: pyboard has a small file system integrated into the heart of MicroPython. This file system takes place in a part of the Flash memory of the microcontroller, as well as on the SD card (if present). When you connect PyBoard to your PC, it appears as a storage device and you can access the internal file system (via a mount). If you copy a python script to the PyBoard file system and call it main.py then the board will automatically execute this script at startup.
This way you can run scripts without being logged on to a computer.
PyBoard is many pins with multiple functionalities. With PyBoard you have on hand:
- 30 GPIO - Input/output pins that can be used for many applications. With a GPIO, you can control LEDs, relays (via transistor or UNL2803), motors (via L293). Read the status of buttons and sensors. Control peripherals such as LCD screens, graphic displays, expansion boards, etc.
- 2 I2C buses - To control peripherals using 3 wires.
- 2 SPI buses
- 3 UARTs - A serial port is a very useful communication tool ... having 5 is absolutely great.
- 20 PWMs - Used to produce signals to control servo motors or the power of an LED
- 16 ADC - Analog->Digital converter to read analog voltage (practical for using flex sensors, photo-resistance, potentiometer, etc.).
- 7 timers - Timers allow you to measure durations and execute code/function at regular intervals. It is an important synchronization element when you want to write advanced applications.
- 16 ext int - External interrupts are used to interrupt the main program to execute code (interrupt function) when a pin changes state. This makes it possible to write programs reacting instantly to a change in physical conditions around the board. Example: stop motors immediately if emergency stop is activated.
This information has yet to be confirmed.
- 4 LEDs - The LEDs/DELs are handy for informing the user about the status of the program. Having them on the board allows you to quickly test/prototype code without needing to make any connections.
- STM32F405RGT6 microcontroller (datasheet)
- CPU Cortex-M4 clocked at 96 MHz with 32-bit floating point computing unit.
- 512 Ko of Flash memory for storage, 128 Kb of RAM.
- USB microB connector with USB Serial software support, USB mass storage device, and USB HID (mouse, keyboard).
- Connector for micro SD card.
- 4 LEDs, 1 Reset button, a user button.
- A 3.3V LDO (low loss) regulator of 300mA. Powered from the USB connector or external power between 3.6V and 10V.
- 30 GPIO input/output pins, 28 are 5V tolerant (except in ADC/Analog->Digital mode).
- 2 SPI buses,
- 2 I2C buses,
- 3 USART (serial port).
- 14x analog inputs with 12-bit resolution, Value between 0 and 4095 (ADC, Analogic to Digital Converter).
- Dimension of the board: 33 x 40mm.
- Board weight: 6 grams.
- Connection on the board: 46 holes with standard impaction of 2.54mm.