From the GitHub release page:
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
- Teensy boards: preserve filesystem when updating firmware. #6425. Thanks @KurtE.
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.