Skip to content

Releases: adafruit/circuitpython

CircuitPython 7.3.1

22 Jun 21:43
83c1de4
Compare
Choose a tag to compare

This is CircuitPython 7.3.1, the latest bugfix revision of CircuitPython, and is a new stable release.

Notable changes to 7.3.1 since 7.3.0

  • Adafruit MatrixPortal: fix ESP32SPI hang.
  • Espressif: fix use of multiple rotaryio.IncrementalEncoder objects.
  • nRF: fix crash when waking up from sleep when a display is in use.
  • Update frozen libraries.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0

Fixes and enhancements

Port and board-specific changes

Espressif

  • Fix allocation of multiple rotaryio.IncrementalEncoder objects. #6430. Thanks @dhalbert.

nRF

SAMx5x

  • Make SPI DMA setup be atomic. Fixes hangs on Adafruit MatrixPortal. #6498. Thanks @dhalbert.

Individual boards

  • Adafruit Circuit Playground Express boards: Do not freeze unneeded code. #6508. Backport of #6346. Thanks @Neradoc.

Build and infrastructure changes

New boards since 7.3.0

  • (none)

Known issues

Thanks

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

CircuitPython 8.0.0 Alpha 1

09 Jun 15:14
6925a00
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 8.0.0-alpha.1, an alpha release for 8.0.0. It is relatively stable, but there will be further additions and fixes before final release.

Notable changes to 8.0.0 since 7.3.0

  • Added TileGrid.contains().
  • AnalogIn values are full range from 0 to 65535, instead of having zeros on low-order bits.
  • OneWire is only in onewireio, and is no longer in busio or bitbangio.
  • gamepadshift has been removed: use keypad.ShiftRegisterKeys instead.
  • dotenv support: os.getenv() values can be set in the .env file.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0

Fixes and enhancements

Port and board-specific changes

Broadcom

Espressif

i.MX

  • Teensy boards: preserve filesystem when updating firmware. #6425. Thanks @KurtE.

nRF

RP2040

SAMx

STM

Individual boards

Documentation changes

Build and infrastructure changes

  • Fix dependencies for translate.c. #6466. Thanks @jepler.
  • Restore ulab to boards that now have room. #6465. Thanks @tannewt.
  • Speed up translation calculation. #6455. Thanks @jepler.
  • Switch translate() to a header file to save space. #6440. Thanks @tannewt.
  • Use -flto and -flto-partition=one only when necessary, to speed up builds. #6436. Thanks @dhalbert.
  • Restore rainbowio to most small builds. #6428. Thanks @dhalbert.
  • Consolidate similar error messages; use argument validators. #6409. Thanks @dhalbert.

Translation additions and improvements

Thanks for translations:

New boards since 7.3.0

Known issues

Thanks

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

CircuitPython 7.3.0

23 May 18:12
eb4ed30
Compare
Choose a tag to compare

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

Notable changes to 7.3.0 since 7.2.5

  • Experimental mDNS support.
  • USB to to Serial/JTAG support for REPL on appropriate boards.
  • Initial experimental USB host support.
  • Merge MicroPython 1.18 changes.
  • Preliminary zlib module support. gzip module will be added later.
  • RP2040 PIO: Background write to a PIO state machine. Looping is possible.
  • RP2040 PIO: wrap and wrap_target support.
  • keypad: scan keystates immediately on creation.
  • Improve NeoPixel timings on many ports, to handle a wider range of devices.
  • Add floppyio, used in conjunction with a library.
  • Allow TileGrid bitmap to be changed.
  • Module support matrix includes frozen modules for each board.
  • f-strings available in all builds.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0-rc.2

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

Known issues

Thanks

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

CircuitPython 7.3.0 Release Candidate 2

21 May 17:04
eb4ed30
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.3.0-rc.2, the third release candidate for CircuitPython 7.3.0. It is considered stable, and is available as a release candidate for testing before the final release of 7.3.0.

Notable changes to 7.3.0 since 7.2.5

  • Experimental mDNS support.
  • USB to to Serial/JTAG support for REPL on appropriate boards.
  • Initial experimental USB host support.
  • Merge MicroPython 1.18 changes.
  • Preliminary zlib module support. gzip module will be added later.
  • RP2040 PIO: Background write to a PIO state machine. Looping is possible.
  • RP2040 PIO: wrap and wrap_target support.
  • keypad: scan keystates immediately on creation.
  • Improve NeoPixel timings on many ports, to handle a wider range of devices.
  • Add floppyio, used in conjunction with a library.
  • Allow TileGrid bitmap to be changed.
  • Module support matrix includes frozen modules for each board.
  • f-strings available in all builds.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0-rc.1

Fixes and enhancements

Port and board-specific changes

Broadcom

Espressif

i.MX

nRF

RP2040

SAMx

STM

Individual boards

Documentation changes

Build and infrastructure changes

Translation additions and improvements

New boards since 7.3.0-rc.1

Known issues

Thanks

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

CircuitPython 7.3.0 Release Candidate 1

18 May 19:21
4637855
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.3.0-rc.1, the second release candidate for CircuitPython 7.3.0. It is considered stable, and is available as a release candidate for testing before the final release of 7.3.0.

Notable changes to 7.3.0 since 7.2.5

  • Experimental mDNS support.
  • USB to to Serial/JTAG support for REPL on appropriate boards.
  • Initial experimental USB host support.
  • Merge MicroPython 1.18 changes.
  • Preliminary zlib module support. gzip module will be added later.
  • RP2040 PIO: Background write to a PIO state machine. Looping is possible.
  • RP2040 PIO: wrap and wrap_target support.
  • keypad: scan keystates immediately on creation.
  • Improve NeoPixel timings on many ports, to handle a wider range of devices.
  • Add floppyio, used in conjunction with a library.
  • Allow TileGrid bitmap to be changed.
  • Module support matrix includes frozen modules for each board.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0-rc.0

Fixes and enhancements

  • Restore automatic garbage collection after an import. #6406. Thanks @dhalbert.
  • Add more possible flash chips to certain boards. #6403. Thanks @Neradoc.

Port and board-specific changes

Broadcom

Espressif

i.MX

nRF

RP2040

SAMx

STM

Individual boards

Documentation changes

Build and infrastructure changes

Translation additions and improvements

New boards since 7.3.0-rc.0

Known issues

Thanks

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

CircuitPython 7.3.0 Release Candidate 0

15 May 01:21
1dce806
Compare
Choose a tag to compare
Pre-release

This is CircuitPython 7.3.0-rc.0, the first release candidate for CircuitPython 7.3.0. It is considered stable, and is available as a release candidate for testing before the final release of 7.3.0.

Notable changes to 7.3.0 since 7.2.5

  • Experimental mDNS support.
  • USB to to Serial/JTAG support for REPL on appropriate boards.
  • Initial experimental USB host support.
  • Merge MicroPython 1.18 changes.
  • Preliminary zlib module support. gzip module will be added later.
  • RP2040 PIO: Background write to a PIO state machine. Looping is possible.
  • RP2040 PIO: wrap and wrap_target support.
  • keypad: scan keystates immediately on creation.
  • Improve NeoPixel timings on many ports, to handle a wider range of devices.
  • Add floppyio, used in conjunction with a library.
  • Allow TileGrid bitmap to be changed.
  • Module support matrix includes frozen modules for each board.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0-beta.2

Fixes and enhancements

Port and board-specific changes

Broadcom

Espressif

i.MX

  • Allow any GPIO pin for rs485_dir pin. #6328. Thanks @KurtE.

nRF

RP2040

SAMx

  • Avoid compiling parts of samd module for boards that did not use it. #6350. Thanks @dhalbert.
  • Preserve tick functionality across VM instantiations. #6321. Thanks @dhalbert.

STM

Individual boards

  • Adafruit Metro M4 AirLift Lite: add board.LED. #6343. Thanks @dhalbert.
  • Adafruit PyRuler: add board.LED. #6343. Thanks @dhalbert.
  • Adafruit QT Py ESP32-C3: fix duplicate #include. #6352. Thanks @askpatrickw.
  • Adafruit QT Py ESP32-S2 No PSRAM: fix board.NEOPIXEL and board.NEOPIXEL_POWER pins. #6352. Thanks @todbot.
  • Adafruit Qt Py ESP32-S3: correct SPI pins. #6393. Thanks @todbot.
  • Pimoroni Servo 2040: add board.NEOPIXEL. #6339. Thanks @jepler.
  • SparkFun Thing Plus RP2040: fix pin mapping. #6358. Thanks @dupontgu.

Documentation changes

  • List frozen modules for each board in support matrix in readthedocs. #6400, 6396, #6288. Thanks @Neradoc.
  • Additional module documentation and builtin exceptions, including Guide links. #6391, #6353, #6341. Thanks @tekktrik.
  • Add memory usage recommendations to MP3Decoder. #6329. Thanks @tekktrik.
  • Document watchdog.WatchDogTimeout. #6324. Thanks #tekktrik.

Build and infrastructure changes

  • make help now includes make fetch-submodules. #6385. Thanks @TG-Techie.
  • Build website pull request for circuitpython.org with adafruit-adabot user. #6344. Thanks @dhalbert.
  • List frozen modules in the support matrix. #6288. Thanks @Neradoc.

Translation additions and improvements

Thanks for translations:

New boards since 7.3.0-beta.2

Known issues

Thanks

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

CircuitPython 7.3.0 Beta 2

27 Apr 00:15
862188d
Compare
Choose a tag to compare
Pre-release

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

Notable changes to 7.3.0 since 7.2.5

  • Experimental mDNS support.
  • USB to to Serial/JTAG support for REPL on appropriate boards.
  • Initial experimental USB host support.
  • Merge MicroPython 1.18 changes.
  • Preliminary zlib module support. gzip module will be added later.
  • RP2040 PIO: Background write to a PIO state machine. Looping is possible.
  • RP2040 PIO: wrap and wrap_target support.
  • keypad: scan keystates immediately on creation.
  • Improve NeoPixel timings on many ports, to handle a wider range of devices.
  • Add floppyio, used in conjunction with a library.
  • Allow TileGrid bitmap to be changed.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0-beta.1

Fixes and enhancements

Port and board-specific changes

Broadcom

Espressif

i.MX

  • Fix PWM support. #6287. Thanks @KurtE.
  • Allow setting CPU clock speed. #6279. Thanks @mjs513.
  • Don't set up debugging serial port when not debugging. #6261. Thanks @KurtE.

nRF

RP2040

  • Background writing to a PIO StateMachine, with optional looping. #6300. Thanks @jepler.

SAMx

STM

Individual boards

  • Adafruit ESP32-S2 TFT Feather: fix enabling display. #6272. Thanks @ladyada and @dhalbert.
  • SparkFun SAMD51 MicroMod: fix external flash for latest v1.3 revision of board. Thanks @stonehippo.

Documentation changes

Build and infrastructure changes

Translation additions and improvements

Thanks for translations:

New boards since 7.3.0-beta.1

Known issues

Thanks

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

CircuitPython 7.3.0-beta.1

07 Apr 01:57
1f57443
Compare
Choose a tag to compare
Pre-release

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

Notable changes to 7.3.0 since 7.2.5

  • Experimental mDNS support.
  • USB to to Serial/JTAG support for REPL on appropriate boards.
  • Initial experimental USB host support.
  • Merge MicroPython 1.18 changes.
  • Preliminary zlib module support. gzip module will be added later.
  • PIO: wrap and wrap_target support.
  • keypad: scan keystates immediately on creation.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0-beta.0

Fixes and enhancements

  • Refactor keypad to share more code. Scan key states immediately when created. #6248. Thanks @jepler.
  • Fix use of internal flash filesystem stubs. #6226. Thanks @EmergReanimator.x
  • All changes in 7.2.5: includes ESP32-S2 I2C power (#6103), MP3Decoder looping (#6230), nRF PWM fix (#6233), RP2040 UART fixes (#6240, #6238). #6234. Thanks @jepler.
  • Add zlib module, specifically zlib.decompress(). #6069. Thanks @gamblor21.

Port and board-specific changes

Broadcom

Espressif

nRF

RP2040

  • Add support for PIO .wrap and `.wrap_target pseudo-operations. #6029. Thanks @jepler.

SAMx

  • Fix time jumping around on RTC overflow boundaries. #6202. Thanks @jepler.

STM

Individual boards

  • Adafruit MagTag: Don't reset board.BATTERY; allows prompt AnalogIn use. #6246. Thanks @DavePutz.
  • Espressif ESP32-S3 USB OTG N8: add board.DISPLAY. #6222. Thanks @todbot.
  • iLabs Challenger 840: Add support for 4MB flash. #6251. Thanks @PontusO.

Documentation changes

  • Document TileGrid tile value range limitation of 0-255. #6245. Thanks @jepler.
  • Improve MP3Decoder documentation. #6245. Thanks @jepler.

Build and infrastructure changes

Translation additions and improvements

New boards since 7.3.0-beta.0

  • (none)

Known issues

Thanks

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

CircuitPython 7.2.5

05 Apr 21:09
e0827eb
Compare
Choose a tag to compare

This is CircuitPython 7.2.5, the latest bugfix revision of CircuitPython, and is a new stable release.

Notable changes to 7.2.5 since 7.2.4

  • RP2040: Fix board.UART and busio.UART problems.
  • nRF: Fix PWM resets on soft reload.
  • Fix looping when using MP3Decoder.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.2.4

Fixes and enhancements

  • Fix board.UART() errors, especially on RP2040, due to ringbuf buffer freeing. #6238. Thanks @dhalbert.
  • Fix MP3Decoder looping. #6230. Thanks @jepler.

Port and board-specific changes

nRF

  • Correctly mark PWM peripheral as unused during reset. #6233. Thanks @jepler.

RP2040

  • Update busio.UART interrupt handler; avoids hangs due to unconnected RX pin. #6240. Thanks @dhalbert.

Individual boards

Build and infrastructure changes

  • Avoid clang compiler warning when building mpy-cross. #6231. Thanks @jepler.

New boards since 7.2.4

  • (none)

Known issues

Thanks

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

CircuitPython 7.3.0 Beta 0

01 Apr 02:21
d9418fb
Compare
Choose a tag to compare
Pre-release

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

Notable changes to 7.3.0 since 7.2.4

  • Experimental mDNS support.
  • USB to to Serial/JTAG support for REPL on appropriate boards.
  • Initial experimental USB host support.
  • Merge MicroPython 1.18 changes.

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 RT10xxx
  • stm: ST non-STM32F4 chip families

Changes since 7.3.0-alpha.0 (7.2.x branch)

These changes are since the 7.3.0-alpha.0 tag, which was not released. The tag was created when the 7.2.x branch was created.

Fixes and enhancements

Port and board-specific changes

Broadcom

Espressif

nRF

RP2040

SAMx

STM

Individual boards

  • Adafruit ESP32-S2 Camera board: add missing pins, speed up display. #6094. Thanks @ladyada.
  • Adafruit Feather ESP32-S2: enable I2C power by default. #6103. Thanks @ladyada.
  • Adafruit Feather M4 CAN: add EVE support. #6098. Thanks @jamesbowman.
  • AI Thinker ESP32-C3S: fix handling of LEDs. #6065. Thanks @prplz.
  • Espressif ESP32-S3 Box: fix display color. #6140. Thanks @tannewt.
  • MakerDiary USB Dongle: enable RGB status LED. #6189. Thanks @Neradoc.
  • Melopro Shake RP2040: add standard board attributes. #6123. Thanks @prplz.
  • Muselab nanoESP32S2: enable SPIRAM support. #6199. Thanks @erongd.
  • Nordic PCA10059 dongle: add status LED. #6198. Thanks @jerryneedell.
  • Seeeduino Xiao KB: add pins. #6123. Thanks @prplz.
  • Seeeduino Xiao nRF52840: add standard board attributes. #6107. Thanks @prplz.
  • Seeeduino Xiao nRF52840 Sense: add RGB status LED. #6105. Thanks @prplz.
  • Seeeduino Xiao SAMD21: add LED definitions. #6121. Thanks @ricksorensen.
  • Swan R5: add standard board attributes. #6107. Thanks @prplz.

Documentation changes

Build and infrastructure changes

  • Pin typer and click Python libraries to fix an incompatibility problem. #6210. Thanks @dhalbert.
  • Improve USB VID/PID duplicate checker. #6194. Thanks @jepler.
  • Clean up many board definitions. #6182. Thanks @tannewt.
  • Implement color_index for palette for vectorio shapes. #6176. Thanks @FoamyGuy.
  • Mark certain variables as unused to satisfy clang warnings. #6158. Thanks @nicolasff.
  • Fix gcc 11.2 SAMD5x builds. #6128. Thanks @tannewt.

Translation additions and improvements

Thanks for translations:

New boards since 7.3.0-alpha.0

Known issues

Thanks

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