Skip to content

Releases: pimoroni/pimoroni-pico

Version 0.2.1

20 May 13:47
c393286
Compare
Choose a tag to compare

Downloads

Adafruit Blinka for CircuitPython library support

This release is identical to v0.2.0, old release notes have been included below for posterity.

We've baked Adafruit's Blinka and PlatformDetect libraries into a new release of MicroPython so you can mix and match Adafruit CircuitPython libraries with our in-house ones.

For more information on how to get started with CircuitPython libraries on MicroPython see Adafruit's guide here: https://learn.adafruit.com/circuitpython-libraries-on-micropython-using-the-raspberry-pi-pico/

Note: if you're using our Blinka + PlatformDetect MicroPython .uf2 then you do not need to follow Adafruit's MicroPython Installation or Blinka/PlatformDetect setup steps. You can skip straight to downloading the .py bundle (MicroPython does not support CircuitPython's .mpy files) from here - https://circuitpython.org/libraries - or grabbing .py libraries of your choice.

AWOOGA - ⚠️ I2C devices now use the "PimoroniI2C" class ⚠️

This release includes the recent changes merged in #129

Using I2C in MicroPython now requires an instance of the PimoroniI2C class, which is created once and passed into individual breakout classes for them to use.

The PimoroniI2C class has a __del__ method and finaliser, allowing Pico's I2C to be cleaned up during soft resets. This prevents an issue where using the wrong I2C pins would break I2C on a particular channel until the Pico is hard reset. A tricky situation for a device that... doesn't have a reset button!

See the Python examples for ... well ... examples of how to use the new I2C class with breakouts. For example, here's LTR559:

from pimoroni_i2c import PimoroniI2C
from breakout_ltr559 import BreakoutLTR559

PINS_BREAKOUT_GARDEN = {"sda": 4, "scl": 5}
PINS_PICO_EXPLORER = {"sda": 20, "scl": 21}

i2c = PimoroniI2C(**PINS_BREAKOUT_GARDEN)
ltr = BreakoutLTR559(i2c)

Eventually you'll be able to construct a PimoroniI2C

Note: This PimoroniI2C class differs from machine.I2C since it's a direct port of the I2C class used to run out breakouts in C++. Interop may be possible at some point in the future but please understand that we are not raving lunatics and are making these odd, against-the-grain design choices because we want to re-use the C++ drivers in MicroPython.

Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Supported Breakouts

Version 0.2.0

19 May 11:08
cb958a7
Compare
Choose a tag to compare

AWOOGA - ⚠️ I2C devices now use the "PimoroniI2C" class ⚠️

This release includes the recent changes merged in #129

Using I2C in MicroPython now requires an instance of the PimoroniI2C class, which is created once and passed into individual breakout classes for them to use.

The PimoroniI2C class has a __del__ method and finaliser, allowing Pico's I2C to be cleaned up during soft resets. This prevents an issue where using the wrong I2C pins would break I2C on a particular channel until the Pico is hard reset. A tricky situation for a device that... doesn't have a reset button!

See the Python examples for ... well ... examples of how to use the new I2C class with breakouts. For example, here's LTR559:

from pimoroni_i2c import PimoroniI2C
from breakout_ltr559 import BreakoutLTR559

PINS_BREAKOUT_GARDEN = {"sda": 4, "scl": 5}
PINS_PICO_EXPLORER = {"sda": 20, "scl": 21}

i2c = PimoroniI2C(**PINS_BREAKOUT_GARDEN)
ltr = BreakoutLTR559(i2c)

Eventually you'll be able to construct a PimoroniI2C

Note: This PimoroniI2C class differs from machine.I2C since it's a direct port of the I2C class used to run out breakouts in C++. Interop may be possible at some point in the future but please understand that we are not raving lunatics and are making these odd, against-the-grain design choices because we want to re-use the C++ drivers in MicroPython.

Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Supported Breakouts

Version 0.1.8

14 May 18:26
76bdf3f
Compare
Choose a tag to compare

Extends the fixes for class constructors in v0.1.7 to SPI breakouts.

Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Supported Breakouts

Version 0.1.7

14 May 17:24
66a5ab1
Compare
Choose a tag to compare
  • Fixes class constructors for various breakouts so that they can accept sda/scl pins for Breakout Garden or other I2C configurations, eg:
pot = BreakoutPotentiometer(sda=4, scl=5)
enc = BreakoutEncoder(sda=4, scl=5)

Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Supported Breakouts

Version 0.1.6

14 May 13:57
13d4aaf
Compare
Choose a tag to compare

More breakouts:

  • Support for 1.3" ST7789 colour LCD
  • AS7262 7-channel spectrometer
  • MSA301 accelerometer
  • IO Expander modules: Rotary Encoder, Rotary Potentiometer, MICS6814 and generic IOE Breakout
  • RV3028 Real-time Clock

Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Supported Breakouts

Version 0.1.5

07 May 16:20
0c22fa9
Compare
Choose a tag to compare

Breakout bonanza!

  • Added set_pixels, scroll_text, show_bitmap_1d and a 5x7 font to Pico Scroll for scrolly text goodness- thank you @graeme-winter
  • Trackball breakout support
  • SGP30 breakout support - thank you @simon3270
  • ST7735 colour LCD support (160x80)
  • LTR559 support

Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Supported Breakouts

Version 0.1.4

04 May 09:38
eee621d
Compare
Choose a tag to compare
  • Fix initialization of is31fl3731 for 11x7 matrix and 5x5 matrix
  • Support for the dual LTP-305 LED matrix breakout

Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Version 0.1.3

22 Apr 16:42
44ad763
Compare
Choose a tag to compare
  • 11x7 pixel matrix breakout support
  • 5x5 pixel RGB matrix breakout support

Built against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Version 0.1.2

22 Apr 12:48
7776536
Compare
Choose a tag to compare
  • Pico Wireless support!
  • Fix to Pico Keypad in MicroPython so that clear isn't mapped to init
  • New Pico Audio example for C++/Pico SDK (not available in MicroPython)

Build against MicroPython release v1.15 - https://github.com/micropython/micropython/releases/tag/v1.15

Version 0.1.1

31 Mar 10:57
81e051a
Compare
Choose a tag to compare

Fixes the backlight pin for Pico Display.

⚠️ Note: Breaks backlight control on Round LCD, but this needs some work to differentiate between different SPI slot CS and BL pins.

Note: This release should also include the MicroPython USB suspend fix: micropython/micropython@ca3d51f