NEW PRODUCTS – MicroPython: pyboard Lite v1.0 with Accelerometer / pyboard Anodized Housing with Open Lid / pyboard Color LCD Skin with Resistive Touch / Set of Header Pins for MicroPython pyboard
We’ve got four new MicroPython products on our shelves that are ready for some Maker consumption!
First up is the MicroPython pyboard Lite v1.0 with Accelerometer:
The pyboard Lite 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 Lite version of pyboard, which comes with a STM32F411RE instead of the original STM32F405RG. It runs at 96MHz, the original pyboard runs at 168MHz. It also has half the FLASH (512KB instead of 1MB) and less RAM (128 KB instead of 192 KB), only one ADC (multiplexed to 16 bins) and no DAC. That means its a less expensive, but also slightly less powerful board.
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 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 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 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.
Main features of the hardware:
- STM32F411RE microcontroller
- 96 MHz Cortex M4 CPU with hardware floating point
- 512KiB flash ROM and 128KiB RAM
- Micro USB connector for power and serial communication
- Micro SD card slot, supporting standard and high capacity SD cards
- 24 GPIO on left and right edges and 5 GPIO on bottom row, plus LED and switch GPIO available on bottom row
- 1x 12-bit analog to digital converter, available on 16 pins, 4 with analog ground shielding
- 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 an ESD (anti-static) bag. Headers not included, but you can get them here.
We’re also offering the MicroPython pyboard Anodized Housing with Open Lid:
The pyboard housing is a beautiful and robust enclosure for all versions of the pyboard. It is made out of machined aluminum which is then anodized to give it gorgeous light blue color, and laser-engraved to add labels. This variation has an open lid to allow access to female header pins on the top of the pyboard, so its perfect for hacking!
If you have a pyboard with female header pins soldered in, you can buy this housing for it and all the functionality of the pyboard will still be available. On the upper end of the housing it is possible to plug in an SD-card and a micro-USB cable.
In addition to the engraving on the top of the housing there are four small holes to show the LEDs of the enclosed pyboard. The two switches RST and USR are accessible via two tactile buttons that you put into the lid before closing the housing with the four supplied screws. On the bottom there are four rubber feet to make sure the housing sits safely on your desk.
- Machined aluminum with blue anodization
- Laser-engraved labels on the top
- Cut-outs on the top for access to female header pins on the pyboard
- 2 tactile buttons for comfortable pressing of the buttons on the pyboard
- 4 small square holes to view the LEDs on the pyboard
- 4 rubber feet to place the housing securely on a surface
- Slots to access the SD card and USB connector of the pyboard
- Slots to access the I/O connectors from the sides
- Top aluminum lid with cut-outs for header pins
- Bottom aluminum base
- 2 tactile button extensions
- 4 rubber feet
- 4 screws
Please note: pyboard is not included, header pins are not included!
Also now available is the pyboard Color LCD Skin with Resistive Touch:
The color LCD skin is a module that fits right onto the pyboard. It provides a 160×128 pixel, 16-bit graphical LCD display with backlight, as well as a resistive touch sensor covering the entire screen.
The screen has 160×128 pixels of 16-bit color, has a backlight with a software-controllable intensity, and a resistive touch sensor which can detect a single force-based touch anywhere on the screen. The display has a custom controller which accepts serial commands via its I2C and UART interfaces, and SPI for receiving raw data.
When sending ASCII and UTF-8 encoded characters to the display, it acts like a simple terminal and prints those characters directly to the screen using the current font and color setting. New-lines are handled accordingly, along with a few of the basic ANSI escape codes, which allows the display to show the MicroPython REPL (or any other such serial output).
There is a set of special control commands (also sent via I2C and UART) which allow one to perform many operations on the screen, such a drawing primitive shapes, setting color and font, downloading JPEG images, and getting the current status of the resistive touch sensor. The SPI interface to the display can be used to send raw data to the pixels at a maximum rate of 30 frames per second.
The following resources are available for the LCD display:
- A video giving an overview of the features
- A tutorial which guides you through the basics of using the display
- Documentation for the driver
- The driver written in MicroPython; this driver is included by default in recent versions of the pyboard firmware and you can just do import lcd160cr to use it.
- The reference manual with a command summary and technical details
- The schematics showing the circuit and physical connections
This display comes with male header pins already soldered on the back of the module. The header pins plug directly into a pyboard with female headers.
pyboard not included. This display module is compatible with all pyboards!
Finally, there’s the Set of Header Pins for MicroPython pyboard:
This set of high quality machined header pins can be soldered onto the MicroPython pyboard (all versions), and mate perfectly with both the LCD and Audio modules, as well as the Protoskins. The black pins are used for the standard I/O ports and the 4-way GND rail, and the white pins are used for the 4-way V+ rail and the additional, inner I/O ports. The header pins are female and are compatible with standard 0.65mm square male pins.
In this set are 8 headers with 56 total positions:
- 2 of black 16-way (equivalent to Preci-Dip 801-87-016-10-001101)
- 3 of black 4-way (equivalent to Preci-Dip 801-87-004-10-001101)
- 3 of white 4-way