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
. micropython#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.