
From the GitHub release page:
This is CircuitPython 11.0.0-alpha.2, an alpha release for 11.0.0. Further features, changes, and bug fixes will be added before the final release of 11.0.0.
CircuitPython libraries from the 10.x bundles are still compatible with CircuitPython 11.0.0 builds.
Highlights of changes since 11.0.0-alpha.1
storage.map_file allows directly reading a file from mapped flash.
usb_host_audio.USBIn to support USB microphones.
RGBMatrix supports ABC row addressing.
- USB Host Bulk IN support.
- Many speedups, especially in
displayio.
- Many firmware size reductions.
- Espressif ESP32-S31 support.
- Zephyr additions:
analogio, bitbangio, neopixel_write, pwmio, rtc, and watchdog. Dynamic allocation of board buses.
Incompatibility warnings when upgrading to 11.0.0 from 10.x.x
- The
broadcom, litex, and renode ports have been removed.
- The SDIO pin names on the Adafruit Feather Adalogger RP2040 and RP2350 boards were changed to be more consistent with the naming elsewhere.
- On Espressif, the processor UID values are now in canonical order. This changes the reported processor ID,
boot_out.txt value, and the USB serial number.
- The
en_x_pirate translation has been discontinued.
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 code.circuitpython.org or 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 on 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 considered stable (but see Known Issues below):
atmel-samd: Microchip SAMD21, SAMx5x
cxd56: Sony Spresense
espressif: Espressif ESP32, ESP32-C2, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-C61, ESP32-H2, ESP32-S2, ESP32-S3
nordic: Nordic nRF52840, nRF52833
raspberrypi: Raspberry Pi RP2040, RP2350
stm: ST STM32F4 chip family
These ports are considered alpha and will have bugs and missing functionality:
analog: Analog Devices MAX32690
espressif: ESP32-P4, ESP32-S31
mimxrt10xx: NXP i.MX RT10xx
silabs: Silicon Labs MG24 family
stm: ST non-STM32F4 chip families
zephyr: multiplatform RTOS, running on multiple chip families
Changes since 11.0.0-alpha.1
Fixes and enhancements
- Update frozen libraries. #11645. Thanks @dhalbert.
- Faster 16-bit image output in
displayio. #11633. Thanks @mikeysklar.
- Fix
dotclockframebuffer RGB display cache flush. #11632. Thanks @mikeysklar.
- Fix
dotclockframebuffer RGB vsync idle setting. #11631. Thanks @mikeysklar.
bitmaptools: readinto() now reads properly from streams, such as sockets. #11627. Thanks @lynt-smitka.
- Reduce code size of number parsing in web workflow. #11626. Thanks @mikeysklar.
- Faster computation in
vectorio.Polygon, especially on Cortex-M0. #11623. Thanks @lynt-smitka.
- Faster computation in
synthio. #11621. Thanks @lynt-smitka.
- Better and smaller number parsing in
settings.toml. #11620. Thanks @mikeysklar.
- Fix
audiomixer phase inversion. Faster audiomixer computation on Cortex-M33. #11617. Thanks @lynt-smitka.
- Accept capitalized
UTF-8 as a string encoding name. #11594. Thanks @r3wretrhy.
- Update TinyUSB. Includes Fruit Jam USB Host fix. #11582. Thanks @mikeysklar.
- Allow ctrl-C to interrupt a program waiting for UART flow control. #11578. Thanks @mikeysklar.
- Speed up
OnDiskBitmap by using mapped flash. #11572. Thanks @lynt-smitka.
- Fix
bitbangio deinit. #11567. Thanks @dhalbert.
_bleio.Connection.disconnect() no longer crashes after the peer disconnects. #11560. Thanks @dhalbert.
lvfontio no longer locks the filesystem when reading a font. #11554. Thanks @lynt-smitka.
- Fix crash when
gifio.OnDiskGif is garbage collected after deinit(). #11551. Thanks @lynt-smitka.
- Add
usb_host_audio.USBIn to support USB microphones. #11547. Thanks @FoamyGuy.
- Save space by consolidating uses of
"CircuitPython". #11546. Thanks @mikeysklar.
- Save space on small boards by removing some unused float print support. #11543. Thanks @mikeysklar.
- Fix a crash after program stops when two displays are in use. #11542. Thanks @mikeysklar.
displayio: fix stray colors when pixel value is one past the end of its palette. #11541. Thanks @mikeysklar.
- Save space in
mbedtls by using fewer AES tables. #11534. Thanks @lynt-smitka.
- Fix
storage.unsafe_disable_usb_drive() to restore drive read-only/read-write state. #11530. Thanks @dhalbert.
- Fall back to plain Python files (if available) when
native or viper files can’t run on the board. #11529. Thanks @mikeysklar.
- Save space in the root certificate bundle by storing only a partial hash of the DER subject name. Accept cross-signed roots. #11527. Thanks @lynt-smitka.
- Fix
storage.map_file after LittleFS addition. #11517. Thanks @tannewt.
- Add
mii module for wired Ethernet, on Espressif and on Zephyr boards with Ethernet. #11511. Thanks @tannewt.
- Validate
RGBMatrix constructor arguments. #11490. Thanks @ladyada.
RGBMatrix: add serial ABC row-addressing mode. #11486. Thanks @ladyada.
- USB Host Bulk IN support. #11479. Thanks @FoamyGuy.
- Add
usb_cdc.set_names() to allow user-settable CDC interface descriptor names. #11473. Thanks @BroadwellConsultingInc.
- Update
ulab. #11469. Thanks @dhalbert.
FourWireBus displays now use ping-pong buffers. #11468. Thanks @lynt-smitka.
OnDiskBitmap is now much faster on rotated displays. #11465. Thanks @lynt-smitka.
- Faster
displayio: if the stack is large enough, use a larger CIRCUITPY_DISPLAY_AREA_BUFFER_SIZE. #11464. Thanks @lynt-smitka.
- Faster
displayio: composite common TileGrid rows without per-pixel calls. #11461. Thanks @lynt-smitka.
- Add
storage.map_file, which reads a file directly from memory-mapped flash. #11363. Thanks @lynt-smitka.
Port and board-specific changes
Analog Devices
- Use GC finalizers to clean up objects. Remove never-reset and bulk-reset handlers. #11470. Thanks @tannewt.
Espressif
- Save space by removing unneeded C++ support. #11629. Thanks @mikeysklar.
- ESP32-S31 support. #11581. Thanks @mikeysklar.
- Report BLE
pair() failures. #11561. Thanks @dhalbert.
- Fix
_bleio.Adapter.connect() timeout and ctrl-C handling. #11559. Thanks @dhalbert.
- Refuse BLE peer access to
NO_ACCESS characteristics. #11558. Thanks @dhalbert.
- Fix crash after creating a BLE service and restarting the VM. #11552. Thanks @dhalbert.
- Report BLE GATT ATT errors as specific exceptions. #11550. Thanks @dhalbert.
- Save space by turning off unused mDNS browsing. #11533. Thanks @lynt-smitka.
- Save space by increasing error message compression on ESP32-C5 and ESP32-C6 boards. #11528. Thanks @mikeysklar.
- Stop
DotClockFrameBuffer jittering. #11522. Thanks @agent-nelson.
- Turn on audio on ESP32-C6 boards that have room. #11521. Thanks @mikeysklar.
- Update to ESP-IDF v6.1. #11513. Thanks @mikeysklar.
- Fix BLE GATT read/write completion and timeouts. #11512. Thanks @dhalbert.
- Add high-speed USB host support on ESP32-P4. #11501. Thanks @ladyada.
- Report SDIO card frequency in Hz. #11499. Thanks @ladyada.
mipidsi: set output color format and preserve fractional pixel clocks. #11495. Thanks @ladyada.
- Use canonical factory MAC value and order for processor UIDs,
boot_out.txt, and USB serial numbers. Incompatible change. #11494. Thanks @ladyada-eagleclaw.
- Restore ESP32-P4 ROM USB connection on bootloader reset. #11493. Thanks @ladyada.
- Correct ESP32-P4 ADC2 channel mapping. #11492. Thanks @ladyada.
i.MX
- Fix SPI clock and reinit. #11622. Thanks @lynt-smitka.
- Use GC finalizers to clean up objects. Remove never-reset and bulk-reset handlers. #11485. Thanks @tannewt.
Nordic
- Make
microcontroller.nvm more consistently 8KB on most nRF52840 boards. #11571. Thanks @dhalbert.
- Report GATT write errors and provide better exception messages for GATT ATT errors. #11553. Thanks @dhalbert.
- Use GC finalizers to clean up objects. Remove never-reset and bulk-reset handlers. #11488. Thanks @tannewt.
RP2xxx
- DVI audio. #11607, #11510. Thanks @mikeysklar.
- The Feather Adalogger RP2040 and RP2350 SDIO pins were renamed for consistency. Incompatible change. #11584. Thanks @mikeysklar.
- Reduce DVI audio RAM consumption significantly. DVI audio is now enabled by default. #11574. Thanks @mikeysklar.
- Reset into safe mode instead of freezing after a hard crash involving flash. #11566. Thanks @mikeysklar.
- Allow boards to limit RP2350 PSRAM clock frequency. #11565. Thanks @ladyada.
- Make
CIRCUITPY_FIRMWARE_SIZE be consistent with .ld sizes. #11535. Thanks @lynt-smitka.
- Calculate PSRAM timing properly when changing CPU speed. #11516. Thanks @mikeysklar.
- Prevent hang at startup due to PSRAM. #11506. Thanks @mikeysklar.
- Allow 8 shared IRQ handlers. #11471. Thanks @lynt-smitka.
- SDIO sync now waits for the SD card to finish. #11463. Thanks @mikeysklar.
SAMx
- Fix SAMD21 bidirectional SPI DMA hang at 12 MHz and up. #11577. Thanks @dhalbert.
- Save space by code refactoring. #11537. Thanks @dhalbert.
- On SAMD21, save space by using smaller
asm soft-float helpers. #11536. Thanks @lynt-smitka.
SiLabs
- Fix
make flash for SiWx917-DK2605A. #11589. Thanks @mikeysklar.
- Use GC finalizers to clean up objects. Remove never-reset and bulk-reset handlers. #11470. Thanks @tannewt.
Spresense
- Use GC finalizers to clean up objects. Remove never-reset and bulk-reset handlers. #11470. Thanks @tannewt.
STM
- Fix crashes when heap accidentally overlapped the stack. #11610. Thanks @mikeysklar.
- Use GC finalizers to clean up objects. Remove never-reset and bulk-reset handlers. #11487. Thanks @tannewt.
Zephyr
- Add
board.STEMMA_I2C() on appropriate boards. #11640. Thanks @dhalbert.
- Restore
board buses on non-nordic boards. #11638. Thanks @dhalbert.
- Add
board buses to nRF54 development boards. #11618. Thanks @dhalbert.
- Faster USB CIRCUITPY writes. #11615. Thanks @mikeysklar.
- Fix flash scratch page bugs. Fix RP2xxx flash layout. #11613. Thanks @dhalbert.
- Add ItsyBitsy nRF52840. #11612. Thanks @dhalbert.
- Load the CMake helper
ExternalProject_Add for all builds. #11588. Thanks @mikeysklar.
- Allow longer REPL pastes. Handle ctrl-C only from the console, not any UART. #11587. Thanks @mikeysklar.
- Prevent losing USB console output. #11586, #11549. Thanks @mikeysklar and @dhalbert.
- Fix incorrect readback of UART and USB-serial timeout values. #11585. Thanks @mikeysklar.
- Report a USB serial number. #11579. Thanks @mikeysklar.
- Dynamic
board.I2C(), board.SPI(), board.UART() bus device assignment. #11576. Thanks @dhalbert.
CONSOLE=1 flag builds, which put the Zephyr console on the default UART pins. #11576. Thanks @dhalbert.
- Report correct chip name and CPU frequency. #11575. Thanks @mikeysklar.
- Fix various RP2xxx bugs. #11573. Thanks @mikeysklar.
- Implement resetting into bootloader by changing the serial port speed to 1200 baud. #11570. Thanks @mikeysklar.
- Implement
bitbangio. #11568. Thanks @dhalbert.
- Improve BLE error reporting by raising GATT ATT errors as specific exceptions. #11556. Thanks @dhalbert.
- Enable native modules
adafruit_pixelbuf and _pixelmap on boards with neopixel_write. #11538. Thanks @dhalbert.
- Implement
pwmio. #11525. Thanks @dhalbert.
- Check for ctrl-C on console UART during Zephyr sleep. #11520. Thanks @tannewt.
- Implement
watchdog. #11518. Thanks @tannewt.
- Remove nRF7002DK. #11511. Thanks @tannewt.
- Provide nrfx PWM deinit hook. #11508. Thanks @dhalbert.
- Fix
native_sim asyncio and busio.SPI. Add SPI loopback tests. #11504. Thanks @lynt-smitka.
- Implement
rtc. #11491. Thanks @tannewt.
- Integrate Adaboot. #11484, #11457. Thanks @tannewt.
- Implement
analogio. #11481. Thanks @tannewt.
- Add
neopixel_write. #11475. Thanks @dhalbert.
Individual boards
- Adafruit Metro RP2350: enable
picogame. #11474. Thanks @FoamyGuy.
- Espressif ESP32-S31-Korvo-1: enable use of board display. #11630. Thanks @mikeysklar.
- UARTLogger II: turn off
EPaperDisplay to prevent firmware overflow. #11548. Thanks @mikeysklar.
Documentation changes
- Generate an
llms.txt file in the documentation root to give coding agents a compact map of every page. #11462. Thanks @lynt-smitka.
Build and infrastructure changes
- Fetch
micropython-lib for frozen modules during CI. #11624. Thanks @lynt-smitka.
Translation additions and improvements
- Discontinue
en_x_pirate translation. #11595. Thanks @dhalbert.
New boards
- Adafruit Metro ESP32-P4. #11643. Thanks @ladyada and @tannewt.
- Cytron Maker Sumo RP2350. #11545. Thanks @alifaiman-af (@CytronTechnologies).
- Espressif ESP32-S31-Korvo-1. #11630, #11581. Thanks @mikeysklar.
- Freenove ESP32 Display 3.5 inch. #11540. Thanks @agent-nelson.
- Generic ESP32-S3 Supermini. #11563. Thanks @grgrant.
- Waveshare ESP32-C5 LCD 1.47. #11480. Thanks @dglaude.
- Waveshare ESP32-S3-Touch-LCD-1.69. #11532. Thanks @agent-nelson.
- Waveshare ESP32-S3-Touch-LCD-2.1. #11523. Thanks @agent-nelson.
Known issues
- See https://ift.tt/ZQoINE8 for other issues, including issues still to be addressed for:
Thanks
Thank you to all who used, tested, and contributed toward this release, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
from Adafruit Industries – Makers, hackers, artists, designers and engineers! https://ift.tt/9mCNesa
via
IFTTT