Releases: adafruit/circuitpython
CircuitPython 8.1.0 Release Candidate 0
This is CircuitPython 8.1.0-rc.0, a release candidate for 8.1.0. We believe it is stable, and are making a release candidate for further testing before final release.
Notable changes to 8.1.0 since 8.0.0
- Silicon Labs (SiLabs) MG24 microcontroller family port (
silabs
), contributed by Silicon Labs. - Add animated GIF support, including palette support:
gifio.OnDiskGif
. - Add
safemode.py
, for programmatic handling of safe mode. - Add ESP-NOW support on Espressif.
synthio
improvements and new features; API is still experimental and may change after 8.1.0.- Add
picodvi
on RP2040: DVI/HDMI framebuffer anddisplayio
support. - CPU frequency is settable on RP2040.
- Add 7-color e-ink display support.
- Add
bitmaptools.drawpolygon()
. - Allow setting pystack size in
settings.toml
. - Allow static IPv4 addresses for access points.
- Add dither support to
Palette
. - Support
array.extend(iterable)
.
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 (but see Known Issues below):
atmel-samd
: Microchip SAMD21, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3nrf
: 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 2Wlitex
: fomumimxrt10xx
: NXP i.MX RT10xxxsilabs
: Silicon Labs MG24 familystm
: ST non-STM32F4 chip families
Changes since 8.1.0-beta.2
Fixes and enhancements
- Fix display object management. #2204. Thanks @furbrain.
- Allow no chip select pin in native
adafruit_bus_device.spi_device
. #7970. Thanks @dhalbert. - Continued
synthio
improvements and fixes. #7969, #7959, #7933, #7862. Thanks @jepler. - Prevent WiFi workflow background activity if WiFi not connected. #7960. Thanks @thess.
- Improve
vectorio.Polygon
argument validation. #7947. Thanks @FoamyGuy. - Support little-endian e-paper displays; fix display memory management. #7891. Thanks @tannewt.
Port and board-specific changes
Broadcom
Espressif
- Improve serial input in ESP32-C3 and similar chips. #7973. Thanks @tannewt.
- Improve debug builds. #7972. Thanks @tannewt.
- Add missing ESP32-S3
microntroller.Pin
pins. #7967. Thanks @bojanpotocnik. - Report actual
busio.SPI().frequency
. #7963. Thanks @dhalbert. - Allow static IPv4 for access point. #7946. Thanks @anecdata.
- Fix crash when sending rapid pings. #7938. Thanks @jepler.
- Add documentation that
supervisor.next_stack_limit()
has no effect. #7914. Thanks @anecdata.
i.MX
- Fix pin pad handling. #7964. Thanks @tannewt.
- Fix regressions, startup and MIDI problems. #7953. Thanks @jepler.
- Update TinyUSB, fix unimplemented
Processor routines
, script for peripheral generation. #7921. Thanks @tannewt.
nRF
RP2040
- Wait for
wifi.radio.stop_station()
to complete. #7982. Thanks @bill88t. - Allow static IPv4 for access point. #7976. Thanks @anecdata.
picodvi
now takes framebuffer resolution instead of output resolution. #7922. Thanks @tannewt.- Allow setting
cpu.frequency
. #7430. Thanks @Lanzaa.
SAMx
SiLabs
- Initialize RTC to prevent
time
crashes. #7939. Thanks @RetiredWizard.
Spresense
STM
Individual boards
- Adafruit Feather RP2040: add
board.BUTTON
/board.BOOT
for GPIO4, for rev D and later boards. #7988. Thanks @Neradoc. - Adafruit Feather RP2040 ThinkInk: rename board, add
board.BUTTON
. #7927. Thanks @BlitzCityDIY. - Sprig Hack Club: add
board.DISPLAY
. #7958. Thanks @ajs256.
Documentation changes
- Document
settings.toml
CIRCUITPY_PYSTACK_SIZE
. #7951. Thanks @Neradoc. - Add
__contains__()
stub todisplayio.Group
. #7949. Thanks @FoamyGuy.
Build and infrastructure changes
- Update how Python stubs are built. #7957, #7934. Thanks @tekktrik.
- Update shallow clone tag. #7909. Thanks @mjsir911.
Translation additions and improvements
- Thanks for translations:
- @ChenxiXiao (Chinese - Pinyin)
- @luisan00 (Spanish)
- @yutaro Urata (Japanese)
New boards since 8.1.0-beta.2
- Adafruit Feather RP2040 Prop-Maker. #7877. Thanks @dhalbert.
- Lilygo T-Display. #6037. Thanks @erongd.
- NXP IMXRT1015-EVK. #7921. Thanks @tannewt.
- NXP iMXRT RT 1040EVK. #7921. Thanks @tannewt.
- NXP iMXRT RT 1050EVKB. #7921. Thanks @tannewt.
- Pimoroni Inky Frame 5.7. #7962. Thanks @tannewt.
- Pimoroni Badger 2040 W. #7916. Thanks @bablokb.
- Pimoroni Pico DV Demo Base for Pico. #7915. Thanks @RetiredWizard.
- Pimoroni Plasma 2040 W. #7920. Thanks @bablokb.
Known issues
- ESP32-S3 has issues with I2C devices that sleep (LC709203F), use clock stretching, or violate the I2C protocol (e.g., BNO055). Retry operations on these devices as necessary, or use ESP32-S2 boards.
- ESP32-S2 used as an HTTP server may crash after several hours. This is a regression from 7.x.x.
- 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 8.1.0-beta.2, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.1.0 Beta 2
This is CircuitPython 8.1.0-beta.2, a beta release for CircuitPython 8.1.0, and is a new unstable release.
Notable changes to 8.1.0 since 8.0.0
- Silicon Labs (SiLabs) MG24 microcontroller family port (
silabs
), contributed by Silicon Labs. - Add animated GIF support, including palette support:
gifio.OnDiskGif
. - Add
safemode.py
, for programmatic handling of safe mode. - Add ESP-NOW support on Espressif.
synthio
improvements and new features. API may change before 8.1.0 final.- Add
picodvi
on RP2040: DVI/HDMI framebuffer anddisplayio
support. - Add 7-color e-ink display support.
- Add
bitmaptools.drawpolygon()
. - Allow setting pystack size in
settings.toml
. - Add dither support to
Palette
. - Support
array.extend(iterable)
.
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 (but see Known Issues below):
atmel-samd
: Microchip SAMD21, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3nrf
: 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 2Wlitex
: fomumimxrt10xx
: NXP i.MX RT10xxxsilabs
: Silicon Labs MG24 familystm
: ST non-STM32F4 chip families
Changes since 8.1.0-beta.1
Fixes and enhancements
- Remove redundant
abs()
invectorio.Circle
. #7980. Thanks @FoamyGuy. - Fix
displayio
root_group=None
documentation. #7899. Thanks @RetiredWizard. - Fix web-editor debugging on non-standard ports. #7897. Thanks @thess.
- Enforce a minimum 2x2
TileGrid
size. #7892. Thanks @FoamyGuy. - Handle little-endian e-ink displays. Initialize displayio memory. #7891. Thanks @tannewt.
- Add palette support for
OnDiskGif
. #7878. Thanks @gamblor21. - Simplify web workflow CORS checks; don't restrict hostnames. #7876. Thanks @thess.
- Improve web workflow static pages. #7869. Thanks @thess.
- Improve
displayio
arg validation. #7867. Thanks @RetiredWizard. - Allow 64-character hex WiFi passwords. #7866. Thanks @rich123.
- Improve stuck-low detection on reset in
onewireio
. #7865. Thanks @CanyonCasa. - Allow setting web workflow board name in
settings.toml
. #7846. Thanks @isacben. - Fix tick handling. #7845. Thanks @tannewt.
synthio
new features and improvements. #7840, #7825. Thanks @jepler.- Improve web workflow reliability and performance. #7836, #7814. Thanks @thess.
- Add
displayio
circuitpython_splash
to only one group. #7829. Thanks @FoamyGuy. - Add
wifi.radio.connected
andwifi.radio.ap_active
properties. #7823. Thanks @dhalbert. bitmaptools
circle support. #7782. Thanks @jposada202020.
Port and board-specific changes
Broadcom
Espressif
- Fix
analogbufio
attenuation setting and data values. #7879. Thanks @milindmovasha.
i.MX
RP2040
- Fix
picodvi.Framebuffer
documentation. #7900. Thanks @dglaude. - Fix idle state handling. #7893. Thanks @tannewt.
- Add
picodvi
support on RP2040: DVI/HDMI framebuffer anddisplayio
support. #7880. Thanks @tannewt.
SAMx
SiLabs
- Support for SiLabs MG24 BLE boards. #7874, #7833. Thanks @SiliconLabs (@silabs-BelaV, @silabs-ChatNguyen).
Spresense
STM
Individual boards
- Adafruit Feather RP2040 Scorpio: fix
NEOPIXEL
pin. #7908. Thanks @Neradoc. - DeneyapKart1A_v2: fix VID and hostname. #7820. Thanks @deneyapkart.
- M5stack Stick-C: pin and initialization fixes. #7818. Thanks @CDarius.
- Seeeduino WIO Terminal: add comments to
pins.c
. #7889. Thanks @stonehippo. - SparkFun SAMD51 MicroMod: fix pins. #7849. Thanks @stonehippo.
Documentation changes
- Note that
supervisor.next_stack_limit()
does nothing onespressif
. Thanks @anecdata. - Fix link to OneWire software reference. #7870. Thanks @CanyonCasa.
- Fix
urandom
status on nRF; fix broken CoC link. #7852. Thanks @applecuckoo. - Fix typo in
OnDiskGif
. #7816. Thanks @dhalbert.
Build and infrastructure changes
- Update and refactor shallow git tag use. #7909. Thanks @mjsir911.
- Do
sudo apt-get update
beforesudo apt-get install
when installing prerequisites. #7872. Thanks @dhalbert. - Fix gcc13 warnings. #7855. Thanks @flom84.
- Improve
aesio
tests. #7838. Thanks @jepler. - Sort boards and new languages in circuitpyton.org update PR. #7819. Thanks @jepler.
Translation additions and improvements
- Thanks for translations:
- @andibing (English - UK)
- @Atalanttore (German)
- @bergdahl (Swedish)
- @hexthat (Chinese - Pinyin)
- @jposada202020 (Spanish)
- @wtuemura (Portugese - Brazil)
New boards since 8.1.0-beta.1
- Adafruit Feather RP2040 CAN. #7834. Thanks @dhalbert.
- Adafruit Feather RP2040 Prop-Maker. #7877. Thanks @dhalbert.
- Adafruit Feather RP2040 USB Host. #7835. Thanks @dhalbert.
- M5Stack Core2. #7854. Thanks @CDarius.
- Silabs XG24 Dev Kit. #7874, #7833. Thanks @SiliconLabs (@silabs-BelaV, @silabs-ChatNguyen).
- SiLabs XG24 Explorer Kit. #7874, #7833. Thanks @SiliconLabs (@silabs-BelaV, @silabs-ChatNguyen).
- SparkFun Thing Plus MGM240P. #7874, #7833. Thanks @SiliconLabs (@silabs-BelaV, @silabs-ChatNguyen).
- VCC-GND YD-ESP32-S3 (N16R8). #7844. Thanks @bill88t.
- VCC-GND YD-ESP32-S3 (N8R8). #7844. Thanks @bill88t.
- Waveshare RP2040-LCD-0.96. #7843. Thanks @waptang.
Known issues
- ESP32-S3 has issues with I2C devices that sleep (LC709203F), use clock stretching, or violate the I2C protocol (e.g., BNO055). Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.1.0-beta.1, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.1.0 Beta 1
This is CircuitPython 8.1.0-beta.1, a beta release for CircuitPython 8.1.0, and is a new unstable release.
Notable changes to 8.1.0 since 8.0.0
- Add animated GIF support:
gifio.OnDiskGif
. - Add
safemode.py
, for programmatic handling of safe mode. - Add 7-color e-ink display support.
- Allow setting pystack size in
settings.toml
. - Add dither support to
Palette
. - Support
array.extend(iterable)
. - Add
bitmaptools.drawpolygon()
. - Add ESP-NOW support on Espressif.
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 (but see Known Issues below):
atmel-samd
: Microchip SAMD21, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3nrf
: 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 2Wlitex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 8.1.0-beta.0
- Handle
settings.toml
read error properly. #7812, #7810. Thanks @jepler and @dhalbert. - Handle HID reports from host with no report ID. #7806. Thanks @dhalbert.
- Restart web workflow after deep sleep. #7814. Thanks @thess.
- Add unsigned ints and 64-bit support to
msgpack.unpack
. #7802. Thanks @Neradoc. - Fix tricolor EPD support. #7777. Thanks @tannewt.
- Check
struct
operation argument counts. #7772. Thanks @jepler. - Improve
supervisor.runtime.set_stack_limit()
error checking. #7767. Thanks @tannewt. - Update tinyusb. #7763, #7702. Thanks @dhalbert.
- Correct
vectorio
location
property. #7758. Thanks @jposada202020. - Rework pystack logic. #7748. Thanks @microdev1.
- Add disk info API to web workflow. #7746. Thanks @FoamyGuy.
- Add
deinit()
togifio.OnDiskGif
. #7712 Thanks @gamblor21. - Prevent recursive calls to websocket background task. #7694. Thanks @DavePutz.
- Improve argument validation for
aesio.AES.rekey()
. #7684. Thanks @isacben. - Allow background tasks and interrupts during
bitmaptools
boundary fill. #7678. Thanks @FoamyGuy. - Fix
OnDiskGif
delay. #7669. Thanks @dhalbert. - Improve validation of
displayio.Bitmap
arguments. #7548. Thanks @FoamyGuy. - Add
bitmaptools.drawpolygon()
. #7471. Thanks @matemaciek.
Fixes and enhancements
Port and board-specific changes
Broadcom
Espressif
- Correct ESP32 CPU frequency. #7815. Thanks @bill88t.
- Set socket internally to non-blocking more carefully. #7757, #7679. Thanks @dhalbert.
- Improve board definitions for some ESP32-S3 boards. #7713. Thanks @microdev1.
- Use queue for multi-part SPI transactions. #7686. Thanks @gamblor21.
- Add ESP-NOW support. #7809, #7797, #7470. Thanks @microdev1 and @Neradoc.
i.MX
- Update to NXP SDK repo for builds. #7766. Thanks @tannewt.
- Implement
audiobusio.I2SOut
#7805, #7764. Thanks @jepler. - Implement
audiobusio.PWMAudioOut
#7805, #7785. Thanks @jepler. - Improve performance. #7724. Thanks @tannewt.
- Add
rotaryio.IncrementalEncoder
. #7690. Thanks @jepler. - Fix double-tap to bootloader. #7674. Thanks @jepler.
RP2040
- Don't set
tcp_err
callback for listen sockets. #7813. Thanks @gneverov. - Fix
socket
exception raising. #7779. Thanks @jepler. - Validate
rp2pio.StateMachine.run()
program length. #7731. Thanks @kreasteve. - Update pico-sdk to 1.50; update cyw43-driver to 0.9.0. #7697. Thanks @dhalbert.
SAMx
- Turn off
mkfs()
for >4GB on all SAMD21 boards to save space and document. #7739. Thanks @dhalbert. - Run background tasks between chunks of multi-chunk DMA. #7701. Thanks @dhalbert.
- Allow SPI writes >64kB. #7673. Thanks @gamblor21.
Spresense
STM
Individual boards
- Adafruit Metro M7 1011: swap ESP32 RX and TX pins. #7776. Thanks @dhalbert.
- Benjamin Shockley Fig Pi: update. #7736. Thanks @bwshockley.
- BrainBoardz Neuron: update. #7705. Thanks @BrainBoardz.
- DoIt ESP32 DevKit V1: fix pins. #7719. Thanks @kreier.
- LOLIN S2 Pico: add on-board display support. #7754. Thanks @Neradoc.
- M5stack Stick-C: many fixes and additions. #7818. Thanks @CDarius.
- Swan R5 LSE: increase crystal drive strength. #7663. Thanks @blues.
- Waveshare ESP32-S2-Pico: improve board definition. #7715. Thanks @bill88t.
Documentation changes
- Fix missing jquery in ReadTheDocs. #7799. Thanks @FoamyGuy.
- Fix
struct.pack()
signature. #7780. Thanks @jepler. - All builds now have f-strings, so don't need to suggest
.format()
. #7759. Thanks @jposada202020. - Correct
VfsFat
type annotation and signatures. #7755. Thanks @isacben. - Update
gifio.OnDiksGif
example. #7737. Thanks @ckartchner. - Add port-specific modules to board support matrix. #7725. Thanks @dhalbert.
- Fix broken message and fix
TimeAlarm
signature. #7723. Thanks @dhalbert. - Document
aesio.AES.rekey()
. #7684. Thanks @isacben. - Document how to use
OnDiskGif
with direct display access. #7816, #7668. Thanks @jepler, @TheKitty, and @dhalbert.
Build and infrastructure changes
- Check a few more files with pre-commit. #7792. Thanks @microdev1.
- Fix checking to run all jobs. #7765. Thanks @microdev1.
- Remove unused submodule
usb_descriptor
. #7763. Thanks @dhalbert. - Use blobless partial clone for
make fetch-submodules
if available. #7788, #7763. Thanks @dhalbert. - Have CI look for changes in port-specific
bindings
. #7762. Thanks @microdev1. - Add
codespell
to pre-commit, and correct the typos it pointed out. #7751. Thanks @hathach. - Note in docs that
uncrustify 0.75
should not be used. #7717. Thanks @jepler. - Improve choosing which jobs to run based on commits. #7708. Thanks @microdev1.
- Improve CI run choices. #7704. Thanks @microdev1.
- CI refactoring and improvments. #7676. Thanks @microdev1.
Translation additions and improvements
- Thanks for translations:
- @Atalanttore (German)
- @bergdahl (Swedish)
- @hexthat (Chinese - Pinyin)
- @jposada202020 (Spanish)
- @Saentis (German)
- @wtuemura (Portugese - Brazil)
New boards since 8.1.0-beta.0
- 01Space LCD042. #7760. Thanks @Neradoc.
- Adafruit Feather RP2040 DVI. #7798, #7710. Thanks @PaintYourDragon and @kattni.
- Adafruit Feather RP2040 EPD. #7777. Thanks @tannewt.
- Adafruit Feather RP2040 RFM. #7807. Thanks @kattni.
- Boardsource Block. #7237. Thanks @kdb424.
- Deneyap Kart. #7791, #7783. Thanks @deneyapkart.
- Deneyap Kart 1A. #7791, #7783. Thanks @deneyapkart.
- Deneyap Kart 1A v2. #7791. Thanks @deneyapkart.
- Deneyap Kart G. #7791, #7783. Thanks @deneyapkart.
- Deneyap Mini. #7791. Thanks @deneyapkart.
- Deneyap Mini v2. #7791. Thanks @deneyapkart.
- Lilygo TTGO T-Display. #7750. Thanks @Neradoc.
- Lilygo T-Watch 2020 V3. #7745. Thanks @Neradoc.
- M5Stack AtomS3 Lite. #7801. Thanks @CDarius.
Known issues
- ESP32-S3 has significant issues with I2C devices that sleep or use clock stretching. Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.1.0-beta.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.0.5
This is CircuitPython 8.0.5, the latest bugfix revision of CircuitPython, and is a new stable release.
Notable changes to 8.0.5 since 7.3.0
See the CircuitPython 8.0.0 release notes for full information about changes in 8.0.x since 7.3.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, 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, ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 8.0.4
Fixes and enhancements
Build and infrastructure changes
- Make
build_board_info.py
fetchfiles.json
properly when it is larger than 1MB. #7728. Thanks @Neradoc and @dhalbert.
Known issues
- ESP32-S3 has significant issues with I2C devices that sleep or use clock stretching. Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.0.4, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.0.4
This is CircuitPython 8.0.4, the latest bugfix revision of CircuitPython, and is a new stable release.
Notable changes to 8.0.4 since 7.3.0
See the CircuitPython 8.0.0 release notes for full information about changes in 8.0.x since 7.3.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, 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, ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 8.0.3
Fixes and enhancements
Port and board-specific changes
Espressif
- Prevent recursive calls during websocket background processing. #7699, #7694. Thanks @DavePutz.
- Set socket to non-blocking more carefully. #7679. Thanks @dhalbert.
Known issues
- ESP32-S3 has significant issues with I2C devices that sleep or use clock stretching. Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.0.3, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.1.0 Beta 0
This is CircuitPython 8.1.0-beta.0, a beta release for CircuitPython 8.1.0, and is a new unstable release.
Notable changes to 8.1.0 since 8.0.0
- Add animated GIF support:
gifio.OnDiskGif
. - Add
safemode.py
, for programmatic handling of safe mode. - Add 7-color e-ink display support.
- Allow setting pystack size in
settings.toml
. - Add dither support to
Palette
. - Support
array.extend(iterable)
.
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 (but see Known Issues below):
atmel-samd
: Microchip SAMD21, SAMx5xcxd56
: Sony Spresenseespressif
: Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3nrf
: 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 2Wlitex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 8.0.0
Fixes and enhancements
- Update frozen libraries. #7660. Thanks @dhalbert.
- Fix missing "soft reboot" message after ctrl-D. #7652. Thanks @xorbit.
- Correct error reporting in
SSLSocket
. #7639, #7632. Thanks @jepler. - Initial serial earlier in boot process. #7586. Thanks @gneverov.
- Allow setting pystack size in
settings.toml
. #7585. Thanks @bill88t. - Deinit the reset pin when
displayio.I2CDisplay()
fails. #7580, #7563. Thanks @Neradoc. - Improve
boot_out.txt
message truncation. #7579. Thanks @jepler. - Add
safemode.py
, for programmatic handling of safe mode. #7577. Thanks @dhalbert. - Fix incorrect exception chaining. #7580, #7566. Thanks @jepler.
- Add animated GIF support:
gifio.OnDiskGif
. #7648, #7549. Thanks @gamblor21. - Fix missing internal initialization of
display.ColorConverter
objects. #7639, #7611. Thanks @gamblor21. - Support
array.extend(iterable)
. #7552. Thanks @gneverov. - Add 7-color e-ink display support. #7497. Thanks @tannewt.
- Add dither support to
Palette
. #7497. Thanks @tannewt. - Adding caching speed-ups to
Palette
andColorConverter
. #7497. Thanks @tannewt.
Port and board-specific changes
Broadcom
- Use unmeasured core clock speed check. #7628. Thanks @RetiredWizard.
- Fix
neopixel_write
. #7570. Thanks @RetiredWizard.
Espressif
- Implement
analogbufio
. #7602. Thanks @milindmovasha. - Improve ESP32-S2 I2S playback. #7545. Thanks @jepler.
i.MX
RP2040
- Correct error reporting in
SSLSocket
. #7632, #7623. Thanks @jepler and @DavePutz. - Increase number of lwip timers for mDNS. #7639, #7589. Thanks @gneverov.
- Add missing
common_hal_busio_uart_never_reset()
. #7581. Thanks @gneverov. - Fix "UART in use" message. #7605. Thanks @Neradoc.
- Use lowest drive level for PIO (fixes Adafruit Scorpio USB resets). #7580, #7558. Thanks @jepler.
SAMx
Spresense
- Update Spresense SDK to version 2.6.0. #7580, #7553. Thanks @kamtom480.
Individual boards
- Hallowing M0: enable native
adafruit_bus_device
. #7655. Thanks @Neradoc. - PyKey18, PyKey44, PyKey87: fix number of NeoPixels. #7574 Thanks @jpconstantineau.
- Waveshare ESP32-S2 Pico: fix PSRAM settings. #7626, #7599. Thanks @bill88t.
Documentation changes
- Improve
pwmio
documentation. #7649. Thanks @jepler. - Fix duplicate
ulab
entry inhelp("modules")
. #7639, #7601. Thanks @jepler.
Build and infrastructure changes
- CI refactoring and improvement. #7642, #7631, #7627, #7584, #7567. Thanks @microdev1.
- Hide unnecessary comment lines from Makefile. #7603. Thanks @bill88t.
- Add GitHub web-based UI to create custom board builds in your fork. #7594. Thanks @microdev1.
- Improve GitHub bug reporting template. #7571. Thanks @tekktrik.
- Update
build_board_info.py
to be compatible withsh
module 2.0.0. #7566, #7564. Thanks @Neradoc.
Translation additions and improvements
- Thanks for translations:
- @Atalanttore (German)
- @bergdahl (Swedish)
- @jposada202020 (Spanish)
- @luisan00 (Spanish)
- @Neradoc (French)
- @wtuemura (Portugese - Brazil)
New boards since 8.0.0
- Adafruit HUZZAH32 Breakout. #7619. Thanks @dhalbert.
- Bangle.js. #7497. Thanks @tannewt.
- BrainBoardz Neuron. #7530. Thanks @BrainBoardz.
- COSMO-Pico. #7559. Thanks @startup-potech.
- Espressif ESP32-LyraT. #7625. Thanks @ftab.
- Hack Club Sprig. #7547. Thanks @ajs256.
- LILYGO TEMBED ESP32S3. #7658. Thanks @titimoby.
Known issues
- ESP32-S3 has significant issues with I2C devices that sleep or use clock stretching. Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.0.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.0.3
This is CircuitPython 8.0.3, the latest bugfix revision of CircuitPython, and is a new stable release.
Notable changes to 8.0.3 since 7.3.0
See the CircuitPython 8.0.0 release notes for full information about changes in 8.0.x since 7.3.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, 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, ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 8.0.2
Fixes and enhancements
- Fix missing internal initialization of
display.ColorConverter
objects. #7611. Thanks @gamblor21.
Port and board-specific changes
RP2040
- Correct error reporting in
SSLSocket
. #7632. Thanks @jepler. - Increase number of lwip timers for mDNS. #7589. Thanks @gneverov.
SAMx
Documentation changes
Build and infrastructure changes
Known issues
- ESP32-S3 has significant issues with I2C devices that sleep or use clock stretching. Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.0.2, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.0.2
This is CircuitPython 8.0.2, the latest bugfix revision of CircuitPython, and is a new stable release.
[8.0.1 was tagged on the wrong branch and was discarded]
Notable changes to 8.0.2 since 7.3.0
See the CircuitPython 8.0.0 release notes for full information about changes in 8.0.x since 7.3.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, 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, ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 8.0.0
Fixes and enhancements
- Deinit the reset pin when
displayio.I2CDisplay()
fails. #7563. Thanks @Neradoc. - Fix incorrect exception chaining. #7566. Thanks @jepler.
Port and board-specific changes
RP2040
Spresense
- Update Spresense SDK to version 2.6.0. #7553. Thanks @kamtom480.
Build and infrastructure changes
- Update
build_board_info.py
to be compatible withsh
module 2.0.0. #7566, #7564. Thanks @Neradoc and @jepler.
Known issues
- ESP32-S3 has significant issues with I2C devices that sleep or use clock stretching. Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.0.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.0.0
This is CircuitPython 8.0.0, the latest major revision of CircuitPython, and is a new stable release.
Note
Since 8.0.0-beta.6, the file for specifying startup values for WiFi, etc., is now calledsettings.toml
instead of.env
, and uses slightly different syntax. Use double quotes instead of single quotes. Further documentation is here.
Warning
The flash partitioning for 2MB and 4MB flash ESP32 and ESP32-C3 boards has changed since 8.0.0-beta.2.
When you load 8.0.0-beta.3 or later over beta.2 (or vice versa), on these boards,CIRCUITPY
will be erased and reformatted.
Warning
The flash partitioning for the Raspberry Pi Pico W has changed since 8.0.0-beta.1.
When you load 8.0.0-beta.2 or later over beta.1 (or vice versa), on the Pico W,CIRCUITPY
will be erased and reformatted.
Notable changes to 8.0.0 since 7.3.0
Functionality additions
- Add WiFi workflow with browser-based device discovery, filesystem browsing, upload, download, file editing, serial/REPL connection (available on Espressif and Pi Pico W).
- Add a one-line status bar, which displays connection status, last exception, and version on a terminal window title or on the top line of an attached display. Mu 1.2.0 and Thonny 4.0.x and later are able to suppress status bar information in the REPL output.
- A
settings.toml
file in CIRCUITPY provides environment variable values. Some value names are read by CircuitPython to specify WiFi connection parameters, BLE name, and other startup values. But you can also usesettings.toml
to specify your own parameters for your programs. Values fromsettings.toml
can be retrieved usingos.getenv()
. More details here. - WiFi functionality implemented on the Raspberry Pi Pico W.
- Revised Espressif camera support, now available on ESP32, ESP32-S2, and ESP32-S3.
- Bulk analog input:
analogbufio
(available only on RP2040 for now). - Pin state can be preserved during deep sleep (available only on Espressif for now).
- Allow setting USB VID, PID, manufacturer, and product ids at runtime.
- Enable
collections.deque
on most builds. AnalogIn
values are full range from 0 to 65535, instead of having zeros on low-order bits.- In-place firmware update (
dualbank
) capability may be disabled at runtime in favor of a larger CIRCUITPY drive. This is the default. - Add
TileGrid.contains()
. - Add
os.utime()
. - Add
espulp
module, for running programs on the ULP co-processor in Espressif chips. - Add
memorymap
module for general though limited access to various memory regions. - A serial "break" on the USB or UART REPL serial connection will cause a
KeyboardInterrupt
, like ctrl-C. The advantage over ctrl-C is that the break interrupts even if the input buffer is full. - Add
hidden
property tovectorio
shapes. - Add native
_pixelmap.PixelMap
support, for speed. - Chained exceptions are now implemented.
- Add
VfsFat.readonly
property. - Add
memorymap
to allow access to raw memory locations (currently only on Espressif). #7359. Thanks @tannewt.
Compatibility changes
PulseOut
no longer accepts aPWMOut
. Use aPin
instead.- Auto-brightness support in
displayio
andframebufferio
has been removed. It was never implemented completely. OneWire
is only inonewireio
, and is no longer inbusio
orbitbangio
.gamepadshift
has been removed: usekeypad.ShiftRegisterKeys
instead.MP3Decoder
andWaveFile
can now take a filename instead of an open file.- Print out whole-number floats exactly and correctly.
- Restored
rainbowio
andonewireio
to a number of boards. Some boards still haverainbowio
turned off for space reasons. i2ctarget.I2CTarget
is the new name fori2cperipheral.I2CPeripheral
. Accept both for now.I2CPeripheral
is deprecated and will be removed in 9.0.0.- Allow
display.root_group
to be set, instead of usingdisplay.show()
.display.show()
is deprecated and will be removed in 9.0.0. - The property
supervisor.runtime.autoreload
replacessupervisor.disable_autoreload()
andsupervisor.enable_autoreload()
. - The property
supervisor.runtime.ble_workflow
replacessupervisor.disable_ble_workflow()
. - The property
supervisor.runtime.next_stack_limit
replacessupervisor.set_next_stack_limit()
. - The property
supervisor.runtime.rgb_status_brightness
replacessupervisor.set_rgb_status_brightness()
.
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, ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 8.0.0-rc.2
Fixes and enhancements
- Fix
is31fl3741
regression (module currently included only on Adafruit LED Glasses board). #7546. Thanks @FoamyGuy.
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
- Thanks for translations:
- @wtuemura (Portugese - Brazil)
New boards since 8.0.0-rc.2
Known issues
- ESP32-S3 has significant issues with I2C devices that sleep or use clock stretching. Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.0.0-rc.2, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
CircuitPython 8.0.0 Release Candidate 2
This is CircuitPython 8.0.0-rc.2, a release candidate for 8.0.0. We believe it is stable, and are making a release candidate for further testing before final release.
NOTE: Since 8.0.0-beta.6, the file for specifying startup values for WiFi, etc., is now called settings.toml
instead of .env
, and uses slightly different syntax. Use double quotes instead of single quotes. Further documentation is here.
WARNING: The flash partitioning for 2MB and 4MB flash ESP32 and ESP32-C3 boards has changed since 8.0.0-beta.2. When you load 8.0.0-beta.3 or later over beta.2 (or vice versa), on these boards, CIRCUITPY will be erased and reformatted.
WARNING: The flash partitioning for the Raspberry Pi Pico W has changed since 8.0.0-beta.1. When you load 8.0.0-beta.2 or later over beta.1 (or vice versa), on the Pico W, CIRCUITPY will be erased and reformatted.
Notable changes to 8.0.0 since 7.3.0
Functionality additions
- Add WiFi workflow with browser-based device discovery, filesystem browsing, upload, download, file editing, serial/REPL connection (available on Espressif and Pi Pico W).
- Add a one-line status bar, which displays connection status, last exception, and version on a terminal window title or on the top line of an attached display. Mu 1.2.0 and Thonny 4.0.x and later are able to suppress status bar information in the REPL output.
- A
settings.toml
file in CIRCUITPY provides environment variable values. Some value names are read by CircuitPython to specify WiFi connection parameters, BLE name, and other startup values. But you can also usesettings.toml
to specify your own parameters for your programs. Values fromsettings.toml
can be retrieved usingos.getenv()
. More details here. - WiFi functionality implemented on the Raspberry Pi Pico W.
- Revised Espressif camera support, now available on ESP32, ESP32-S2, and ESP32-S3.
- Bulk analog input:
analogbufio
(available only on RP2040 for now). - Pin state can be preserved during deep sleep (available only on Espressif for now).
- Allow setting USB VID, PID, manufacturer, and product ids at runtime.
- Enable
collections.deque
on most builds. AnalogIn
values are full range from 0 to 65535, instead of having zeros on low-order bits.- In-place firmware update (
dualbank
) capability may be disabled at runtime in favor of a larger CIRCUITPY drive. This is the default. - Add
TileGrid.contains()
. - Add
os.utime()
. - Add
espulp
module, for running programs on the ULP co-processor in Espressif chips. - Add
memorymap
module for general though limited access to various memory regions. - A serial "break" on the USB or UART REPL serial connection will cause a
KeyboardInterrupt
, like ctrl-C. The advantage over ctrl-C is that the break interrupts even if the input buffer is full. - Add
hidden
property tovectorio
shapes. - Add native
_pixelmap.PixelMap
support, for speed. - Chained exceptions are now implemented.
- Add
VfsFat.readonly
property. - Add
memorymap
to allow access to raw memory locations (currently only on Espressif). #7359. Thanks @tannewt.
Compatibility changes
PulseOut
no longer accepts aPWMOut
. Use aPin
instead.- Auto-brightness support in
displayio
andframebufferio
has been removed. It was never implemented completely. OneWire
is only inonewireio
, and is no longer inbusio
orbitbangio
.gamepadshift
has been removed: usekeypad.ShiftRegisterKeys
instead.MP3Decoder
andWaveFile
can now take a filename instead of an open file.- Print out whole-number floats exactly and correctly.
- Restored
rainbowio
andonewireio
to a number of boards. Some boards still haverainbowio
turned off for space reasons. i2ctarget.I2CTarget
is the new name fori2cperipheral.I2CPeripheral
. Accept both for now.I2CPeripheral
is deprecated and will be removed in 9.0.0.- Allow
display.root_group
to be set, instead of usingdisplay.show()
.display.show()
is deprecated and will be removed in 9.0.0. - The property
supervisor.runtime.ble_workflow
replacessupervisor.disable_ble_workflow()
. - The property
supervisor.runtime.next_stack_limit
replacessupervisor.set_next_stack_limit()
. - The property
supervisor.runtime.rgb_status_brightness
replacessupervisor.set_rgb_status_brightness()
.
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, ESP32-S3, ESP32-C3litex
: fomumimxrt10xx
: NXP i.MX RT10xxxstm
: ST non-STM32F4 chip families
Changes since 8.0.0-rc.1
Fixes and enhancements
Port and board-specific changes
Broadcom
Espressif
i.MX
nRF
RP2040
- Do not raise an exception for length of nvm. #7538. Thanks @geneverov.
SAMx
STM
Individual boards
- Adafruit Feather ESP32-S2 Reverse TFT: add pins for buttons. #7526. Thanks @jepler.
- Adafruit Feather ESP32-S3 Reverse TFT: add pins for buttons. #7526. Thanks @jepler.
- BananaPi BPI-Bit-S2: enable status LED. #7510. Thanks @BPI-STEAM.
- Seeed Studio XIAO ESP32C3: correct flash mode. #7509. Thanks @RetiredWizard.
Documentation changes
- Document how to add version information to libraries. #7529. Thanks @jposada202020.
- Fix broken RTD builds. #7508. Thanks @microdev1 and @dhalbert.
Build and infrastructure changes
- Reformat Python code after
black
update. #7532. Thanks @microdev1.
Translation additions and improvements
- Thanks for translations:
- @jposada202020 (Spanish)
New boards since 8.0.0-rc.1
- BrainBoardz Neuron. #7530. Thanks @BrainBoardz.
Known issues
- ESP32-S3 has significant issues with I2C devices that sleep or use clock stretching. Retry operations on these devices as necessary, or use ESP32-S2 boards.
- Espressif boards have ESP-IDF storage leaks and occasionally crash after extended WiFi use.
- 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 8.0.0-rc.1, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.