not logged in | [Login]
These pages host community generated documentation and examples of the features of MicroPython and the pyboard. We welcome your contributions.
If so, here's the basic stuff you need to read and know:
Community Contributed Projects to whet your appetite and spark ideas:
Usually you will want to connect different devices to your microcontroller, like sensors, displays, actuators and much more. Here you can find modules for different devices.
Drivers in the MicroPython source tree. These may be found under drivers:
NRF24L01 Provides two way checksummed radio communications with auto-retry in the 2.4GHz ISM band.
OneWire: generic driver for devices using the OneWire bus
CC3000 and CC3100: WiFi drivers
Display drivers: The official LCD touch display uses the LCD160CR controller. SSD1306 OLED devices are also supported.
DHT11 and DHT22 temperature and humidity sensors
SD card: supports SD cards connected by SPI bus.
This site has drivers for several Inertial Measurement Units: MPU9150, MPU9250 and LSM9DS0. It also has other code for drones and robots including Madgwick sensor fusion and a driver for the BMP180 pressure (altitude) sensor. Now has a driver for the Bosch BNO055 which supports sensor fusion in hardware.
A simple radio link between two Pyboards This uses the officially supported nRF24L01+ and provides a means to exchange arbitrary Python objects between the boards. Designed for ease of use.
DS3231 Precision Real Time Clock. In addition to general use code is provided for using a DS3231 to calibrate the pyboard's RTC.
A module for reading encoders using gray code error-checking
AMG8833 thermal imager Build a thermal imaging camera using the Adafruit AMG8833 breakout board.
Receive and transmit IR Drivers supporting NEC, Sony and Philips protocols for receiver and "blaster" applications.
Radio control wall sockets Sniff the signal from the remote and transmit it from code.
Another HD44780-compatible LCD driver module.
Drivers and nano-GUI for non-touch displays Very lightweight output-only GUI which supports a wide range of displays including OLED, LCD, ePaper and Sharp types. Supports hosts including Pyboard, ESP32 and Pi Pico.
micro-gui A GUI which handles input via pushbuttons or a navigation joystick. Uses the same drivers as nano-gui, so supports a wide range of displays and hosts.
LCD touch screens with SSD1963 Driver for medium sized (4.3 and 7 inch) colour LCD displays.
Touch GUI A touch interface library for the above displays.
RA8875 Touch GUI Device driver and GUI for 4.3" and 7" Adafruit displays with their RA8875 controller. Cross-platform, uses SPI to minimise pin count.
Touch GUI for official Pyboard LCD display For displays using the LCD160CR controller.
Driver for OLED displays with SSD1306 Note: there is now an official driver here.
e-paper display Supports Embedded Artists (EA) and Adafruit displays. EA support includes drivers for the onboard flash memory and LM75 temperature sensor. Alas hardware now seems to be obsolete.
FBConsole Framebuffer console class for MicroPython. You can redirect REPL to any framebuffer device.
Network Protocol: SNMP, tested WiPy only.
MQTT A publish/subscribe protocol for the internet of things. Two projects:
IOT An alternative approach to IOT applications. ESP8266, ESP32 or Pyboard D nodes communicate with a server on the wired network using a simple serial interface. The interface offers guaranteed message delivery while coping with WiFi and server outages. Internet facing code runs on the server which may be a lightweight device such as a Raspberry Pi.
Fast filter routines FIR (finite impulse response) filters for realtime data written in ARM assembler. Docs detail how to create a filter with custom characteristics. Also fast non-realtime routines for decimation, convolution and cross- and auto-correlation.
Fourier Transform FFT in ARM assembler. Includes maths routines such as Cartesian to polar conversion.
GPS NMEA sentence parser Decode data from GPS devices.
GPS MTK command generation Generate commands for GPS moules based on the popular MTK33X9 GPS Chipset.
Phase measurement Use Pyboard to measure the phase difference between sinusoidal signals.
MessagePack A serialisation package with usage similar to ujson but with message compression and other benefits. Also supports asynchronous use.
$ node mp.js abcd 192.168.4.1 5**4**3
542101086242752217003726400434970855712890625
$
MicroPython (uPy)
Modules
uPy will never support all of CPython's builtin modules, only a subset:
Last edited by Peter Hinch, 2021-08-01 15:59:05