About: Series on the Pyboard
Contents
What is the Pyboard?
When the MicroPython development project kicked off in late November 2013 it was realised that an official hardware platform was needed to accompany the 'new' language. Thus the Pyboard was born and first become available in 2014 as the 'poster child' for MicroPython.
More than 10 years on from its official release, the specifications for this board remain very respectable. Pyboard V1 is based on the STM32F405RG microcontroller. According to STMicroelectronics' official product page[1], the STM32F405RG has a marketing status of "Active" and is available until January 2035.
There is much documentation available in the public domain for the Pyboard including detailed schematics and a clearly defined colour-coded pinout graphic. With this level of support it follows that the Pyboard is easy to develop for and use.
Though there were supply issues through the Covid pandemic the Pyboard V1.1 is still considered current and manufacture is expected to continue.
Why Use MicroPython?
MicroPython is foremost a programming language for microcontrollers. It is a lean and efficient implementation of the Python 3 programming language. Any Python syntax and libraries that wouldn't likely be used in microcontroller application development has been stripped out.
Extensive support in the form of specific libraries for microcontroller hardware (GPIO pins, timers, hardware interrupts, etc) and communication protocols (UART, I2C, SPI, Wi-Fi, Bluetooth, etc) are provided.
The Pyboard has a 168 MHz Cortex M4 CPU, 1024 KB of flash ROM, and 192 KB of RAM. It's generally considered that 512 KB of flash is the minimum functional requirement for a microcontroller board to support MicroPython. Thus with these specifications the Pyboard is an excellent candidate board for MicroPython.
Python is probably the most used programming language in the world. It has a simple but powerful syntax. With its clean, readable and English-like syntax Python code often looks like structured pseudocode. Thus it lends itself as a great beginners teaching language.
While MicroPython doesn't yet have the complete cut-through popularity of its parent Python never the less it has found increasing favour due to its ease of use, rapid prototyping capabilities, and accessibility for beginners.
It's the best option for beginners who genuinely wish to learn microcontroller coding and interfacing down to the bit-level i.e. the 'interesting' stuff.
Pyboard Series Contents
This Pyboard series assumes the reader has reasonable familiarity with the core MicroPython syntax. The pages in this series describe the MicroPython classes and methods specific for the Pyboard V1.
The syntax of class methods from the Pyboard specific pyb library and selected classes from the more general machine library are covered. Complete example MicroPython programs are provided at each stage.
Not every class or method from the pyb library is covered. We have concentrated on what we see as the most important points to get those new to the Pyboard coding productively as quickly as possible.
As always, the reader is recommended to review the material in the official MicroPython documentation.