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.