This is CircuitPython 7.0.0-alpha.4, an alpha release for CircuitPython 7.0.0. It is relatively stable, but contains a number of issues still to be addressed for 7.0.0. The Python API’s it presents may change.
Notable additions to 7.0.0 since 6.3.0 include:
- Support for the CircuitPython development workflow over BLE.
- Camera support on ESP32S2.
- The
keypad
key-scanning module. - Run-time customization of USB devices.
- Merging in of MicroPython fixes and enhancements as of MicroPython 1.16.
- Simplifications to the RGB status LED codes.
- A clocking fix for a few samples of RP2040 boards.
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 our new 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).
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, atmel-samd
, cxd56
(Spresense), esp32s2
, nrf
,raspberrypi
, stm
for the F4 family are stable. stm
for other STM chip families is being actively improved but may be missing functionality and have bugs. litex
and mimxrt10xx
are in an alpha state and will have bugs and missing functionality.
Changes since 6.3.0
The full commit log is here.
Fixes and enhancements
- Provide for a BLE development workflow with BLE file transfer and a BLE serial connection. #4918, #4957. Thanks @tannewt.
- Add
keypad
module for scanning keys or buttons, key matrices, and shift-register keys. #4891. Thanks @dhalbert. - displayio support for BGR color modes. #4952. Thanks @jepler.
- Correct partial refresh of
displayio.TileGrid
. #4876. Thanks @t-ikegami. - Merge in MicroPython 1.16. #4897. Thanks @jepler.
- Fix handling of hidden objects in
displayio
. #4915. Thanks @Neradoc. - Allow constructing a
time.struct_time()
from anotherstruct_time
. #4931. Thanks @microDev1. - Fix buffer handling in
usb_cdc.Serial
. #4922. Thanks @dhalbert. - Update
ulab
to 3.0.0. #4881. Thanks @jepler. - Re-enable slice indices. #4857. Thanks @dunkmann00.
- Fix REPL move-cursor escape sequence. #4853. Thanks @t-ikegami.
- Fix bytes() and bytearray() input validation. #4947. Thanks @microDev1.
Port and board-specific changes
ESP32S2
- Implement
ParallelImageCapture
, to support cameras. #4880. Thanks @jepler. - Update esp-idf to v4.3. #4194. Thanks @askpatrickw.
- Fix
spi_never_reset()
. #4960. Thanks @microDev1. - Enable ‘audiomixer’ #4963. Thanks @rsbohn.
NRF
- Allow setting transmit power. #3493. Thanks @gabewillen.
- Update TinyUSB to fix CDC race condition. #4900. Thanks @hathach.
RP2040
- Add
alarm
module, implementingTimeAlarm
andPinAlarm
. #4816. Thanks @hierophect. - Fix
PulseOut
leaving pin high. #4911. Thanks @DavePutz. - Fix
PulseIn
pause and resume. #4859., Thanks @DavePutz. - Fix handling of two or more
PWMAudioOut
s. #4809. Thanks @DavePutz. - Release DMA channels after play has finished. #4958. Thanks @dhalbert.
- Fix some audio DMA issues. Disallow ctrl-C interrupts of SPI and PIO. #4974. Thanks @dhalbert.
SAMx
- Fix SAMx5x `microcontroller.cpu.voltage. #4862. Thanks @DavePutz.
Individual Boards.
- Add MacroPad RP2040 display initialization. #4949. Thanks @deshipu.
- Improve MacroPad RP2040 pin definitions. #4941. Thanks @kattni.
- Fix missing
board.SPI()
on MacroPad RP2040. #4966. Thanks @dgriswo. - PewPew M4: use
keypad
instead ofgamepad
. #4942. Thanks @deshipu. - Fix pin assignments on Wio Terminal. #4890, #4913. Thanks @t-ikegami.
- Fix pin assignments on Unexpected Maker TinyS2. #4887. Thanks @mcauser2.
- Add pin alias to Adafruit Slider Trinkey. #4889. Thanks @kattni.
- Update ESP config for LILYGO TTGO T8 ESP32-S2. #4873. Thanks @netroy.
New boards Since 6.3.0
- Adafruit MacroPad RP2040. #4770, #4864. Thanks @ladyada.
- Arduino Nano RP2040 Connect. #4802. Thanks @BlitzCityDIY.
- ARAMCON2 Badge. #4627. Thanks @aramcon-badge.
- ATMegaZero ESP32-S2. #4634. Thanks @eddiespinal.
- CP Sapling Rev B. #4677. Thanks @skerr92.
- Cytron Maker Pi RP2040. #4824. Thanks @CytronTechnologies.
- Muselab nanoESP32-S2 WROVER. #4834. Thanks @reppad.
- PiMoroni PGA2040. #4865. Thanks @ZodiusInfuser.
- senseBox MCU. #4576. Thanks @felixerdy.
- SparkFun MicroMod SAMD51. #4852. Thanks @stonehippo.
- Espressif Kalgua v1.3. #4870. Thanks @jepler.
Documentation
- Fix
pulseio.PulseIn.__len__()
doc. #4948. Thanks @dmcomm. - Update
busio
andadafruit_bus-device
doc. #4928. Thanks @2bndy5. - Fix
displayio.Display.__init__()
doc. #4938. Thanks @dhalbert. - Describe more ports as stable, and improve README. #4860. Thanks @microDev1.
- Upload native module stubs to pypi. #4861. Thanks @FoamyGuy.
- Improve installation of stubs. #4878. Thanks @jepler.
- Correct
rp2io
pull direction doc. #4875. Thanks @benclifford. - Fix
TileGrid
doc. #4973. Thanks@lesamouraipourpre.
Build and infrastructure changes
- Convert to using issue forms instead of templates in GitHub. #4950. Thanks @ajs256.
- Add manual tests for
alarm
module. #4904. Thanks @hierophect. - Fix duplicate line in setup.py. #4906. Thanks @FoamyGuy.
- Fix build issue when
CIRCUITPY_USB
is off. #4858. Thanks @EmergReanimator. - Improve parallelism of
run_tests
, incorporating changes from MicroPython. #4855. Thanks @jepler. - Delete
ports/nrf/examples/
. #4972. Thanks @microDev1.
Translation additions and improvements
- Remove some wide characters not in our fonts. #4943. Thanks @jepler.
- Thanks for translations:
- @bergdahl (Swedish)
- @fede2cr (Spanish)
- @hexthat (Chinese – Pinyin)
- @wtuemura (Portuguese – Brazil)
Breaking changes since 6.x
OnDiskBitmap
can now usePalette
s. #4823. Thanks @jepler.- The RGB status LED codes have changed for clarity and to save power. #4743. Thanks @tannewt.
PWMOut
is now only inpwmio
, and is no longer in bothpulseio
andpwomio
. #4694. Thanks @dhalbert.- @v923z (German)
Known issues
- See https://github.com/adafruit/circuitpython/issues for other issues.
Thanks
Thank you to all who used, tested, and contributed since 6.2.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.
Documentation
Documentation is available in readthedocs.io.
This release is based on MicroPython 1.16. Support upstream MicroPython by purchasing a PyBoard (from Adafruit here) or sponsoring MicroPython on GitHub.
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 our new 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).