Skip to content

Releases: adafruit/circuitpython

CircuitPython 7.2.0

24 Feb 16:52
aeeb58f
Compare
Choose a tag to compare

This is CircuitPython 7.2.0, the latest minor revision of CircuitPython, and is a new stable release.

Notable additions to 7.2.0 since 7.1.1

  • Continuing work on Raspberry Pi Broadcom board support.
  • Espressif ESP32-S3 and ESP32-C3 support, including BLE.
  • RP2040 PIO sideset support.
  • board.STEMMA_I2C() available on all boards with STEMMA connectors.
  • binascii.crc32().
  • vectorio.contains().
  • Turkish translation.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Documentation

Documentation is available in readthedocs.io.

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, these ports are consider stable:

  • atmel-samd: Microchip SAMD21, SAMx5x
  • cxd56: Sony Spresense
  • espressif: Espressif ESP32-S2
  • nrf: Nordic nRF52840, nRF52833
  • raspberrypi: Raspberry Pi RP2040
  • stm: ST STM32F4 chip family

These ports are considered alpha and will have bugs and missing functionality:

  • broadcom: Raspberry Pi boards such as RPi 4, RPi Zero 2W
  • espressif: ESP32-S3, ESP32-C3
  • litex: fomu
  • mimxrt10xx: NXP i.MX RT10xx
  • stm: ST non-STM32F4 chip families

Changes since 7.2.0-rc.2

This release is a relabeling of 7.2.0-rc.2 and is otherwise the same as that release.

New boards since 7.1.1

Known issues

Thanks

Thank you to all who used, tested, and contributed since 7.1.1, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

CircuitPython 7.2.0 Release Candidate 2

22 Feb 23:58
aeeb58f
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.2.0-rc.2, the second release candidate for CircuitPython 7.2.0. It is considered stable, but we want to give time for further testing before the final release of 7.2.0. (7.2.0-rc.1 was skipped due to a release error.)

Notable additions to 7.2.0 since 7.1.1

  • Continuing work on Raspberry Pi Broadcom board support.
  • Espressif ESP32-S3 and ESP32-C3 support, including BLE.
  • RP2040 PIO sideset support.
  • board.STEMMA_I2C() available on all boards with STEMMA connectors.
  • binascii.crc32().
  • vectorio.contains().
  • Turkish translation.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, these ports are consider stable:

  • atmel-samd: Microchip SAMD21, SAMx5x
  • cxd56: Sony Spresense
  • espressif: Espressif ESP32-S2
  • nrf: Nordic nRF52840, nRF52833
  • raspberrypi: Raspberry Pi RP2040
  • stm: ST STM32F4 chip family

These ports are considered alpha and will have bugs and missing functionality:

  • broadcom: Raspberry Pi boards such as RPi 4, RPi Zero 2W
  • espressif: ESP32-S3, ESP32-C3
  • litex: fomu
  • mimxrt10xx: NXP i.MX RT10xx
  • stm: ST non-STM32F4 chip families

Changes since 7.2.0-rc.0

Fixes and enhancements

  • Fix REPL display on integrated displays when CircuitPython restarts. #6076, #6077. Thanks @kmatch98.

Port and board-specific changes

  • (none)

Individual boards

  • (none)

New boards since 7.1.1

Documentation changes

  • (none)

Build and infrastructure changes

  • Use git describe --long when generating stubs. #6064. Thanks @dhalbert.

Translation additions and improvements

  • (none)

Known issues

Thanks

Thank you to all who used, tested, and contributed, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

CircuitPython 7.2.0 Release Candidate 0

18 Feb 22:59
291a335
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.2.0-rc.0, the initial release candidate for CircuitPython 7.2.0. It is considered stable, but we want to give time for further testing before the final release of 7.2.0.

Notable additions to 7.2.0 since 7.1.1

  • Continuing work on Raspberry Pi Broadcom board support.
  • Espressif ESP32-S3 and ESP32-C3 support, including BLE.
  • RP2040 PIO sideset support.
  • board.STEMMA_I2C() available on all boards with STEMMA connectors.
  • binascii.crc32().
  • vectorio.contains().
  • Turkish translation.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, cxd56 (Spresense), espressif for ESP32-S2, nrf,raspberrypi, stm for the F4 family are stable. stm for other STM chip families is being actively improved but may be missing functionality and have bugs. broadcom (Raspberry Pi), espressif for ESP32-S3 and ESP32-C3, litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

Changes since 7.2.0-alpha.2

Fixes and enhancements

Port and board-specific changes

Espressif

SAMx

STM

Individual boards

  • Adafruit Feather ESP32-S2 TFT: update pin name. #6045. Thanks @kattni.
  • Adafruit Feather ESP32-S2 TFT: fix pin state defaults. #6034. Thanks @tannewt.
  • Adafruit QT Py ESP32-S2: make TX and RX pins available for non-debug builds. #6056. Thanks @Neradoc.
  • Adafruit Portal boards: freeze in necessary libraries to save RAM. #6043. Thanks @makermelissa.
  • SparkFun MicroMod SAMD51: correct board.SPI() MISO pin. #6023. Thanks @stonehippo.

New boards since 7.1.1

Documentation changes

  • RP2040: Explain PIO read/write sizes. #6011. Thanks @tannewt.
  • Add half_duplex argument to busio.SPI() signature. #6003. Thanks @dhalbert.

Build and infrastructure changes

  • Check for failure during qstr phase of build, fix spurious error. #6047. Thanks @jepler.
  • Fix compression of long UTF-8 strings. #6039. Thanks @jepler.
  • Better use of git describe to get commit string. #6033. Thanks @jepler.
  • Fix all native module tests to run on x64. #6028. Thanks @jepler.
  • Revise convert-release-notes.py script. #6020. Thanks @dhalbert.

Translation additions and improvements

Known issues

Thanks

Thank you to all who used, tested, and contributed, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

CircuitPython 7.2.0 Alpha 2

10 Feb 21:07
5355092
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.2.0-alpha.2, the second published alpha release for CircuitPython 7.2.0. It is relatively stable, but there will be further additions and fixes before final release.

Notable additions to 7.2.0 since 7.1.0

  • Continuing work on Raspberry Pi Broadcom board support.
  • Espressif ESP32-S3 and ESP32-C3 support, including BLE.
  • RP2040 PIO sideset support.
  • board.STEMMA_I2C() available on all boards with STEMMA connectors.
  • binascii.crc32().
  • vectorio.contains().

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, cxd56 (Spresense), esp32s2, nrf,raspberrypi, stm for the F4 family are stable. stm for other STM chip families is being actively improved but may be missing functionality and have bugs. broadcom (Raspberry Pi), litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

Changes since 7.2.0-alpha.1

Fixes and enhancements

Port and board-specific changes

Broadcom

Espressif

nRF

  • Enable is31fl3741 only on Adafruit LED Glasses Driver Board. #5955. Thanks @prplz.

RP2040

  • Fix audiobusio.PDMIn to use supplied sample rate. #5993. Thanks @DavePutz.
  • Record initial SPI frequency in busio.SPI(). #5987. Thanks @dhalbert.
  • audiobusio.PDMIn and I2SOut: Fix PIO argument order to fix values. #5984. Thanks @DavePutz.
  • Update pico-sdk to 1.3.0. #5974. Thanks @jepler.
  • Claim pins properly in busio.UART(). #5834. Thanks @arturo182.

SAMx

  • SAMx5x: Fetch RTC count more atomically, to prevent time jumps. #6004. Thanks @dhalbert.
  • Fix tracking of board device singletons. #5951. Thanks @dhalbert.
  • Fix SAMD audiobusio.PDMIn(). #5842. Thanks @dhalbert.

STM

Individual boards

  • Adafruit Feather ESP32-S2: turn on I2C power by default. #5832. Thanks @ladyada.
  • Adafruit Feather ESP32-S2, ESP32-S2 TFT: add button pin. #5844. Thanks @kattni.
  • Adafruit Feather ESP32-S2 TFT: Use board.SPI() for display. #5846. Thanks @jepler.
  • Adafruit Feather ESP32-S2 TFT: Fix pin typo and pin order. #5829. Thanks @kattni.
  • Adafruit Feather RP2040: add support for Winbond flash chip. #5899. Thanks @tannewt.
  • Adafruit KB2040: Define default SPI pins. #5876. Thanks @Neradoc.
  • Adafruit QT Py ESP32-S2: fix pin error. #5889. Thanks @kattni.
  • Adafruit QT Py ESP32-S2: fix pin order. #5844. Thanks @kattni.
  • BDMicro VINA D51: add LED_AUX pin. #5816. Thanks @bd34n.
  • Capable Robot USB Hub: update pins and module choices. #6002. Thanks @CapableRobot.
  • Challenger RP204: Add missing pins. #5822. Thanks @PontusO.
  • Espressif ESP32-S3 DevKit boards: add GPIO40. #5975. Thanks @walshbp.
  • Espressif ESP32-S3 DevKitC: Fix UART pins and add board.UART. #5905. Thanks @prplz.
  • Espressif DevKit boards: rename boards for consistency. #5848. Thanks @prplz.
  • Gravitech Cucumber ESP32-S2 boards: add LED_INVERTED. #5997. Thanks @anecdata.
  • micro:bit v2: enable binascii. #5925. Thanks @jerryneedell.
  • Seeeduino XIAO nRF52840 Sense: Use SoftDevice 7.0.1. #5877. Thanks @0hopotman0.
  • Seeeduino XIAO SAMD: shrink build. #5981. Thanks @dhalbert.

New boards since 7.2.0-alpha.1

Documentation changes

Build and infrastructure changes

Translation additions and improvements

Known issues

Thanks

Thank you to all who used, tested, and contributed, including the contributors ...

Read more

CircuitPython 7.1.1

14 Jan 15:18
ea3c70a
Compare
Choose a tag to compare

This is CircuitPython 7.1.1, the latest bugfix revision of CircuitPython, and is a new stable release. It has fixes for RGBMatrix on RP2040 and PDMIn (microphone input) on SAMx boards, such as Circuit Playground Express. There are no other changes; unless you are affected by these problems, you do not need to upgrade from 7.1.0.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Documentation

Documentation is available in readthedocs.io.

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, cxd56 (Spresense), espressif for ESP32-S2, nrf,raspberrypi, stm for the F4 family are stable. stm for other STM chip families is being actively improved but may be missing functionality and have bugs. broadcom (Raspberry Pi), espressif for ESP32-S3 and ESP32-C3, litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

Changes since 7.1.0

Port and board-specific changes

RP2040

SAMx

Known issues

Thanks

Thank you to all who used, tested, and contributed since 7.1.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

CircuitPython 7.2.0 Alpha 1

29 Dec 01:01
8aafc73
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.2.0-alpha.1, the first published alpha release for CircuitPython 7.2.0. It is relatively stable, but there will be further additions and fixes before final release.

Notable additions to 7.2.0 since 7.1.0

  • Continuing work on Raspberry Pi Broadcom board support.
  • Espressif ESP32-S3 support.
  • RP2040 PIO sideset support.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, cxd56 (Spresense), esp32s2, nrf,raspberrypi, stm for the F4 family are stable. stm for other STM chip families is being actively improved but may be missing functionality and have bugs. broadcom (Raspberry Pi), litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

Changes since 7.1.x branch

Fixes and enhancements

Port and board-specific changes

Broadcom

Espressif

  • Add distinct UF2 family ID for ESP32-S3. #5771. Thanks @hathach.
  • Update protomatter and reenable RGBMatrix. #5744. Thanks @jepler.
  • Choose SPI channel automatically. #5660. Thanks @jepler.
  • Update ESP-IDF to v4.4; add ESP32-S3 support; temporarily diable RGBMatrix. #5615. Thanks @microdev1.

nRF

RP2040

SAMx

Individual boards

  • Adafruit Feather ESP32-S2: turn on I2C power by default. #5789, #5779, #5776. Thanks @ladyada and @dhalbert.
  • Adafruit Feather ESP32-S2 TFT: fix color order. #5742. Thanks @ladyada.
  • Adafruit Feather ESP32-S2 TFT: fix pin assignments. #5738. Thanks @ladyada.
  • Adafruit KB2040: add CLK pin to match silkscreen. #5735. Thanks @tannewt.
  • Adafruit QT Py ESP32-S2: fix pin assignments. #5738. Thanks @ladyada.
  • Espressif ESP32-S3-Box-2.5 and ESP32-S3-DevkitC-1-nopsram: fix USB PIDs. Thanks @jepler.
  • MakerDiary nRF52840 MDK USB Dongle: fix pin assignments. #5729. Thanks @Asura99.

New boards since 7.1.0

Documentation changes

  • Fix typo in rp2pio. #5764. Thanks @dannystaple.
  • Use circuitpython_typing instead of _typing for type annotations. #5760. Thanks @jepler.
  • Update version of Sphinx. #5760. Thanks @jepler.
  • Fix stubs for adafruit_bus_device by redoing directory structure to match module. #5786. Thanks @prplz.
  • Add protocol definition for fonts for type annotations. #5759. Thanks @jepler.

Build and infrastructure changes

Translation additions and improvements

Known issues

Thanks

Thank you to all who used, tested, and contributed, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

CircuitPython 7.1.0

28 Dec 14:02
ab9cef7
Compare
Choose a tag to compare

This is CircuitPython 7.1.0, the latest minor revision of CircuitPython, and is a new stable release.

Notable additions to 7.1.0 since 7.0.0

  • Initial port for Raspberry Pi Broadcom-based boards.
  • Preliminary support for asyncio cooperative multitasking.
  • bitmaptools: dithering and alphablend are new.
  • keypad.Events now include timestamps.
  • framebufferio: support for IS31FL3741.
  • Espressif now provides I2CPeripheral, WiFi monitor mode, setting MAC address, ESP32-C3 support, ParallelImageCapture.
  • gifio.GifWriter is new.
  • HID now provides boot device and feature report support.
  • rotaryio now allows setting the divisor of counts per transition.
  • SAMD now provides watchdog, and alarm with sleep.
  • SAMx5 boards now all have sleep support.
  • The STM port now provides STM32L4R5 support.
  • MicroPython 1.17 has been merged in.
  • Russian translation.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Documentation

Documentation is available in readthedocs.io.

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, cxd56 (Spresense), esp32s2, nrf,raspberrypi, stm for the F4 family are stable. stm for other STM chip families is being actively improved but may be missing functionality and have bugs. broadcom (Raspberry Pi), litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

New boards since 7.0.0

  • Adafruit Feather ESP32-S2
  • Adafruit Feather ESP32-S2 TFT
  • Adafruit KB2040
  • Adafruit QT Py ESP32-S2
  • AIThinker ESP32-C3S_Kit
  • Challenger NB RP204
  • Cytron Maker Nano RP2040
  • JPConstantineau Pykey60
  • Lolin/Wemos S2-Pico
  • Melopero Shake RP2040
  • MicroDev microC3
  • Oak Development Technologies Bread 2040
  • Raspberry Pi 4B
  • Raspberry Pi Compute Module 4 IO Board
  • Raspberry Pi Zero 2W
  • Seed XIAO variant build for HID devices
  • Solder Party RP2040 Stamp
  • Swan R5

Changes since 7.1.0-rc.1

This release is a relabeling of 7.1.0-rc.1 and is otherwise the same as that release.

Known issues

Thanks

Thank you to all who used, tested, and contributed since 7.0.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

CircuitPython 7.1.0 Release Candidate 1

25 Dec 18:08
ab9cef7
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.1.0-rc.1, the second release candidate for CircuitPython 7.1.0. We believe it is stable, but want to give time for further testing.

Notable additions to 7.1.0 since 7.0.0

  • Initial port for Raspberry Pi Broadcom-based boards.
  • Preliminary support for asyncio cooperative multitasking.
  • bitmaptools: dithering and alphablend are new.
  • keypad.Events now include timestamps.
  • framebufferio: support for IS31FL3741.
  • Espressif now provides I2CPeripheral, WiFi monitor mode, setting MAC address, ESP32-C3 support, ParallelImageCapture.
  • gifio.GifWriter is new.
  • HID now provides boot device and feature report support.
  • rotaryio now allows setting the divisor of counts per transition.
  • SAMD now provides watchdog, and alarm with sleep.
  • SAMx5 boards now all have sleep support.
  • The STM port now provides STM32L4R5 support.
  • MicroPython 1.17 has been merged in.
  • Russian translation.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Documentation

Documentation is available in readthedocs.io.

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, cxd56 (Spresense), esp32s2, nrf,raspberrypi, stm for the F4 family are stable. stm for other STM chip families is being actively improved but may be missing functionality and have bugs. broadcom (Raspberry Pi), litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

New boards since 7.0.0

Changes since 7.1.0-rc.0

Fixes and enhancements

Port and board-specific changes

Individual boards

Documentation changes

  • [none in this release]

Build and infrastructure changes

  • [none in this release]

Translation additions and improvements

  • [none in this release]

Known issues

Thanks

Thank you to all who used, tested, and contributed since 7.0.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

CircuitPython 7.1.0 Release Candidate 0

23 Dec 19:21
41db3f6
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.1.0-rc.0, the initial release candidate for CircuitPython 7.1.0. We believe it is stable, but want to give time for further testing.

Notable additions to 7.1.0 since 7.0.0

  • Initial port for Raspberry Pi Broadcom-based boards.
  • Preliminary support for asyncio cooperative multitasking.
  • bitmaptools: dithering and alphablend are new.
  • keypad.Events now include timestamps.
  • framebufferio: support for IS31FL3741.
  • Espressif now provides I2CPeripheral, WiFi monitor mode, setting MAC address, ESP32-C3 support, ParallelImageCapture.
  • gifio.GifWriter is new.
  • HID now provides boot device and feature report support.
  • rotaryio now allows setting the divisor of counts per transition.
  • SAMD now provides watchdog, and alarm with sleep.
  • SAMx5 boards now all have sleep support.
  • The STM port now provides STM32L4R5 support.
  • MicroPython 1.17 has been merged in.
  • Russian translation.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Documentation

Documentation is available in readthedocs.io.

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, cxd56 (Spresense), esp32s2, nrf,raspberrypi, stm for the F4 family are stable. stm for other STM chip families is being actively improved but may be missing functionality and have bugs. broadcom (Raspberry Pi), litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

Changes since 7.0.0

The full commit log is here.

Fixes and enhancements

Port and board-specific changes

  • [none in this release]

Individual boards

New boards Since 7.0.0

Documentation changes

Build and infrastructure changes

Translation additions and improvements

  • [none in this release]

Known issues

Thanks

Thank you to all who used, tested, and contributed since 7.0.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

CircuitPython 7.1.0 Beta 3

13 Dec 16:24
edabf67
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.1.0-beta.3, the fourth beta release for CircuitPython 7.1.0. It is relatively stable, but contains issues we may still address for 7.1.0. This release fixes a regression in 7.1.0-beta.2 that caused problems with displayio and possibly other problems.

Notable additions to 7.1.0 since 7.0.0

  • Initial port for Raspberry Pi Broadcom-based boards.
  • Preliminary support for asyncio cooperative multitasking.
  • bitmaptools: dithering and alphablend are new.
  • keypad.Events now include timestamps.
  • framebufferio: support for IS31FL3741.
  • Espressif now provides I2CPeripheral, WiFi monitor mode, setting MAC address, ESP32-C3 support, ParallelImageCapture.
  • gifio.GifWriter is new.
  • HID now provides boot device and feature report support.
  • rotaryio now allows setting the divisor of counts per transition.
  • SAMD now provides watchdog, and alarm with sleep.
  • SAMx5 boards now all have sleep support.
  • The STM port now provides STM32L4R5 support.
  • MicroPython 1.17 has been merged in.
  • Russian translation.

Download from circuitpython.org

Firmware downloads are available from the downloads page on circuitpython.org. The site makes it easy to select the correct file and language for your board.

Installation

To install follow the instructions in the Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Documentation

Documentation is available in readthedocs.io.

Port status

CircuitPython has a number of "ports" that are the core implementations for different microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, cxd56 (Spresense), esp32s2, nrf,raspberrypi, stm for the F4 family are stable. stm for other STM chip families is being actively improved but may be missing functionality and have bugs. broadcom (Raspberry Pi), litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

Changes since 7.0.0

The full commit log is here.

Fixes and enhancements

  • [no general changes in this release]

Port and board-specific changes

SAMx

  • Fix SAMD TAMPER interrupt clearing in PinAlarm; fixes some second-order bugs, including in displayio. #5708. Thanks @dhalbert.

Individual boards

  • [no changes for individual boards in this release]

New boards Since 7.0.0

Documentation changes

  • [no documentation changes in this release]

Build and infrastructure changes

  • circuitpython-org now uses main. Check that branch for updates. #5712. Thanks @jepler.

Translation additions and improvements

  • [none in this release]

Known issues

Thanks

Thank you to all who used, tested, and contributed since 7.0.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.