Releases: adafruit/circuitpython
CircuitPython 7.3.1
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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 7.3.0
Fixes and enhancements
Port and board-specific changes
Espressif
nRF
- Fix crash when waking up from sleep when display is in use. #6512. Backport of #6486. Thanks @DavePutz.
- Handle BLE disconnect when reading. #6513. Backport of #6495. Thanks @DavePutz.
SAMx5x
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
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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 inonewireio
, and is no longer inbusio
orbitbangio
.gamepadshift
has been removed: usekeypad.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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 7.3.0
Fixes and enhancements
- Add
TileGrid.contains()
. #6442. Thanks @FoamyGuy. - Finish moving
OneWire
frombusio
toonewireio
. #6427. Thanks @dhalbert. - Make
AnalogIn
be full range from 0 to 65535, instead of having zeros on low-order bits. #6426. Thanks @PaintYourDragon. - Change display brightness PWM frequency to 500 Hz to fix brightness range. #6416. Thanks @FoamyGuy and @CedarGroveStudios.
- Add
dotenv
support: read values from.env
file. #6407. Thanks @tannewt. - Fix hiding of
vectorio
shapes. #6383. Thanks @FoamyGuy. - Remove
gamepadshift
; usekeypad.ShiftRegisterKeys
instead. #5491. Thanks @deshipu.
Port and board-specific changes
Broadcom
Espressif
- Fix multiple uses of
rotaryio.IncrementalEncoder
. #6463, #6430. Thanks @dhalbert. - Support use of a static IP address. #6441. Thanks @gamblor21.
i.MX
nRF
RP2040
PulseIn
improvements. #6450. Thanks @mwisslead.- Update pico-sdk to version 1.3.1. #6414. Thanks @dhalbert.
SAMx
- Disable
traceback
on SAMD21 to save space. #6438. Thanks @dhalbert. - Implement UART RTS/CTS flow control. #6434. Thanks @stonehippo.
STM
- Fix SPI frequency settings. #6446. Thanks @EmergReanimator.
Individual boards
- Adafruit Circuit Playground Express boards: Do not freeze unneeded code. #6346. Thanks @Neradoc.
- Adafruit Metro M0: reenable
onewireio
. #6438. Thanks @dhalbert. - Challenger NB RP2040: remove non-functional
board.SPI()
. #6463, #6462. Thanks @NathanY3G. - LILYGO TTGO T-OI PLUS: Fix board startup. #6447. Thanks @SimonVail.
- SolderParty RP2040: Add Round Carrier frozen library. #6418. Thanks @solderparty.
- SparkFun STM32 Thing Plus: enable UF2 builds. #6459. Thanks @NathanY3G.
- Swan R5 improvements. #6437. Thanks @blues.
Documentation changes
- Fix autoapi bug. #6449. Thanks @jepler.
- Fix
countio
example. #6423. Thanks @tylercrumpton.
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:
- @ajs256 (French)
- @bergdahl (Swedish)
- @Chameloun (Czech)
- @fabaff (German)
- @Lisapple (French)
- @wtuemura (Portugese - Brazil)
New boards since 7.3.0
- Adafruit Feather ESP32-S3 4MB Flash 2MB PSRAM. #6456. Thanks @dhalbert.
- Adafruit Feather ESP32-S3 TFT. #6424. Thanks @ladyada.
- Ctryon Maker Zero SAMD21. #6432. Thanks @CytronTechnologies.
- Challenger RP204 LoRA boards. #6472. Thanks @PontusO.
- MixGo CE. #6422, #6383. Thanks @dahanzimin.
- WeAct Studio Pico. #6411. Thanks @fabaff.
Known issues
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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
andwrap_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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: 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
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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
andwrap_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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: 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
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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
andwrap_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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: 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
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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
andwrap_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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 7.3.0-beta.2
Fixes and enhancements
- Update frozen modules. #6398. Thanks @dhalbert.
- Fix auto-reload during BLE workflow. #6389, #6380, #6377. Thanks @tannewt.
- Correct two
errno
messages. #6376. Thanks @dhalbert. - Fix
usb_hid
usage
range error message. #6370. Thanks @wlcx. microcontroller.Pin
is now hashable. #6342. Thanks @dhalbert.- Validate
color_depth
is 1 on SH1107 displays. #6338. Thanks @jepler. - Shrink flash storage for many built-in properties. #6337. Thanks @jepler.
- Fix
PulseIn.popleft()
buffer over-read. #6318. Thanks @mwisslead.
Port and board-specific changes
Broadcom
Espressif
- Fix for long delays between I2C transactions. #6366. Thanks @o-marshmallow for ESP-IDF fix and @dhalbert.
- Fix returned
DigitalInOut.pull
values. #6354. Thanks @dhalbert.
i.MX
nRF
RP2040
- Fix buffer filling issue for
PulseIn
. #6361. Thanks @mwisslead. - Improve
rp2pio.StateMachine
. #6360. Thanks @jepler. - Allow any GPIO pin for
rs485_dir
pin. #6330. Thanks @KurtE.
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
andboard.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 includesmake 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
- Ctryon Maker Feather AIoT S3. #6382. Thanks @CytronTechnologies.
- Lilygo TTGO T-OI Plus ESP32C3. #6387. Thanks @SimonVail.
- Pewpew LCD. #6331. Thanks @pypewpew (@deshipu).
- ZRichard RP2.65-F. #6334. Thanks @BigTuna94.
Known issues
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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
andwrap_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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 7.3.0-beta.1
Fixes and enhancements
- Update frozen modules. #6316, #6293. Thanks @dhalbert and @FoamyGuy.
- Improve NeoPixel timings. #6312. Thanks @dhalbert.
- Fix MP3 looping and handle more variations in MP3 file layout. #6305. Thanks @jepler.
- Remove frozen
adafruit_bus_device
on boards where it is provided natively. #6298. Thanks @Neradoc. - Add settable
TileGrid.bitmap
. #6270. Thanks @FoamyGuy. - Add
floppyio
. #5852. Thanks @jepler.
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
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
- Fix signature of
random.randrange()
. #6299. Thanks @tekktrik. - Add missing documentation for
math.log()
. #6296. Thanks @tekktrik. - Improve documentation for
SPI.readinto()
. #6294. Thanks @tekktrik. - Correct
keypad
doc errors. #6283. Thanks @Neradoc. - Remove broken "Edit on GitHub" link in readthedocs. #5763. Thanks @tekktrik.
Build and infrastructure changes
- Remove
huffman
fromrequirements-dev.txt
; it is intools/
. #6315. Thanks @dhalbert. - Fix Windows building. #6266. Thanks @ladyada.
Translation additions and improvements
Thanks for translations:
- @hexthat (Chinese - Pinyin)
- @urunsiyabend (Turkish)
- @wtuemura (Portugese - Brazil)
New boards since 7.3.0-beta.1
- ELECFREAKS Pico:ed. #6282. Thanks @xuhow.
- Pimoroni Motor 2400. #6314. Thanks @ZodiusInfuser.
- PJRC/SpkarFun Teensy MicroMod. #6273, #6265. Thanks @KurtE.
- Wiznet W5100s-EVB-Pico. #6281. Thanks @ViktorWiz.x
Known issues
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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
andwrap_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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: 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, specificallyzlib.decompress()
. #6069. Thanks @gamblor21.
Port and board-specific changes
Broadcom
Espressif
- Disable pull-up when
AnalogIn
constructed; allows faster reading of high-impedance sources. #6246. Thanks @dhalbert and @DavePutz. - Support
rotaryio
divisor changes. #6207. Thanks @domdfcoding.
nRF
RP2040
SAMx
STM
Individual boards
- Adafruit MagTag: Don't reset
board.BATTERY
; allows promptAnalogIn
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
- Fix clang build warnings. #6231. Thanks @jepler.
click
andtyper
version pinning and then reversion, to fix temporary build issues. #6224, #6210. Thanks @jepler and @dhalbert.
Translation additions and improvements
New boards since 7.3.0-beta.0
- (none)
Known issues
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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
andbusio.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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: 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
RP2040
- Update
busio.UART
interrupt handler; avoids hangs due to unconnected RX pin. #6240. Thanks @dhalbert.
Individual boards
Build and infrastructure changes
New boards since 7.2.4
- (none)
Known issues
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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
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, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32-S2nrf
: Nordic nRF52840, nRF52833raspberrypi
: Raspberry Pi RP2040stm
: 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 2Wespressif
: ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: 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
- Experiment mDNS support. #6193, #6175. Thanks @tannewt and @jepler.
- Fix non-scaled frame buffers. #6192. Thanks @gamblor21.
- Add USB to Serial/JTAG support for REPL. #6181. Thanks @tannewt.
- Palette color index specification for
vectorio
shapes. - Autoreload fixes from 7.2.x. #6160. Thanks @tannewt and @dhalbert.
- Initial experimental USB host support. #6125. Thanks @tannewt.
- Make
paralleldisplay
reset and read pins optional. #6118. Thanks @deshipu. - Allow
from __future__ import annotations
. #6117. Thanks @dhalbert. - Support 9-bit mode for
displayio.FourWire
. #6114. Thanks @deshipu. - Fix
bitmaptools.dither
. #6112. Thanks @t-ikegami. - Allow resize of REPL window via access to repl
Group
. #6088 (port from 7.2.x). Thanks @kmatch98. msgpack.unpack
requires a readable stream. #6073. Thanks @prplz.- Allow import of dotted builtin modules. #6068. Thanks @jepler.
- Enable use of
_asyncio
module, optionally used inasyncio
. #6041. Thanks @t-ikegami. - Merge MicroPython 1.18. #6038. Thanks @jepler.
- Allow compile-time removal of the Blinka logo on displays. #5298. Thanks @deshipu.
Port and board-specific changes
Broadcom
Espressif
- Fix 3-wire SPI. #6191. Thanks @tannewt.
- Fix interrupts in UART console workflow. #6187. Thanks @prplz.
- Update ESP-IDF to fix
PinAlarm
. #6144. Thanks @tannewt. - Fix I2C pull-up detection. #6126. Thanks @prplz.
- Update root certificates. #6097. Thanks @FoamyGuy.
nRF
RP2040
SAMx
- Fix
countio
objects to work across imports. #6106. Thanks @DavePutz. - Fix and improve
alarm
. #6048. Thanks @t-ikegami.
STM
- Add STM32F412Cx support. #6095. Thanks @sgauche.
- Fix SPI clock pull, baesd on SPI polarity. #6067. Thanks @sgauche.
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
- Fix
countio
type hints. #6162. Thanks @prplz. - Document
binascii.crc32()
. #6131. Thanks @Neradoc. - Clarify availability of certain math functions. #6110. Thanks @tekktrik.
- Correct type annotations in
wifi
. #6104. Thanks @FoamyGuy. - Fix argument name in
usb_hid.Device
. #6101. Thanks @prplz. - Fix
msgpack
type annotations. #6085. Thanks @rimwolf-redux.
Build and infrastructure changes
- Pin
typer
andclick
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
- Adafruit Feather ESP32-S3 No PSRAM. #6178. Thanks @ladyada.
- Espressif ESP32-S3-DevKitM-1-N8 #5963. Thanks @arturo182.
- Espressif ESP32-S3-USB-OTG-N8l #6190. Thanks @tannewt.
- FutureKeys HexKyS2. #6135. Thanks @CircuitART.
- iLabs Challenger 840. #6184. Thanks @PontusO.
- LILYGO TTGO T-01C3. #6155. Thanks @prplz.
- LILYGO TTGO T8 ESP32S2. #6079. Thanks @fabaff.
- LILYGO TTGO ESP32-S2-WROOM. #6084. Thanks @fabaff.
- Pimoroni Badger 2040. #6208, #6143, #6074. Thanks @ZodiusInfuser.
- Pimoroni Servo2040. #6209, #6197. Thanks @ZodiusInfuser.
- Switch Science ISP1807 Dev Board. #6156. Thanks @arms22.
- Switch Science ISP1807 Micro Board. #6157. Thanks @arms22.
Known issues
- See https://github.com/adafruit/circuitpython/issues for other issues, including issues still to be addressed for:
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.