This is CircuitPython 7.0.0-alpha.5, 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.
_pixelbuf
is nowadafruit_pixelbuf
.colorwheel()
routine moved torainbowio
.supervisor.ticks_ms()
to allow easier time-keeping.- 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 7.0.0-alpha.4
The full commit log is here.
Fixes and enhancements
- Fix timing issue with
keypad.KeyMatrix
. #5031. Thanks @dhalbert. - Disable blue-blink pairing delay on reset on non-BLE workflowboards. #5024. Thanks @tannewt.
- Update frozen libraries. #5022. Thanks @dhalbert.
- Add
microcontroller.RunMode.UF2
. #4925. Thanks @microDev1. - Fix memory error in OnDiskBitmap. Allow passing in a filename. #5017. Thanks @jepler.
- Restore default epoch to 1970. #4961. Thanks @dhalbert.
- Rename
ScanEntry.matches()
arg tomatch_all
. #5006. Thanks @tannewt. - Fix
keypad.EventQueue
type name and missing.overflowed
. #5011. Thanks @dhalbert. - Rename
_pixelbuf
toadafruit_pixelbuf
; keep old name as alias. #5010. Thanks @kattni. - Fix timestamp values when epoch is 2000. #4762. Thanks @Neradoc.
- Allow subclassing
busio.UART
. #3941. Thanks @AdamCummick. - Fix MIDI write error. #4995. Thanks @hathach.
- Add
rainbowio
forcolorwheel()
. #4976, #4991. Thanks @kattni. Add supervisor.ticks_ms()
to allow easier time-keeping, especially on non-longint builds. #4936. Thanks @jepler.
Port and board-specific changes
ESP32S2
- Add
RunMode
sUF2
,NORMAL
, andBOOTLOADER
. #4925. Thanks @microDev1.
NRF
RP2040
- Use the specified flash size as the default size. Still try to read the actual flash size if possible at run-time. #5035. Thanks @tannewt.
- Update pico-sdk to 1.2.0. #5030. Thanks @dhalbert.
- Fix PulseOut problems. #4911, #4937, #5019, #5025. Thanks @DavePutz.
- Allow multiple instances of PulseIn. #4975. Thanks @DavePutz.
- Stop PIO state machine before restarting. #4987. Thanks @DavePutz.
SAMx
- Do not crash when
busio.UART
constructor fails. #5026. Thanks @tannewt. - Remove
MICROPY_PORT_*
macros used inatmel-samd
. Donever_reset()
instead. #5007. Thanks @tannewt. - Fix AnalogOut pin handling. #4994. Thanks @bobthechemist.
- Allow board-specific internal filesystem sizes on SAMD21. #4977. Thanks @deshipu.
Individual Boards
- Fix flash size for Arduino Nano RP2040 Connect. #5035. Thanks @tannewt.
- Adafruit FunHouse: Reduce display SPI speed to fix display glitches. #4793. Thanks @kmatch98.
- pewpew10. Use
_pew.get_ticks()
for time tracking. #4980. Thanks @deshipu. - Add
board.LED
andboard.GP25
on Cytron Maker Pi Pico. #4981. Thanks @DavePutz.
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.
- micro:bit V2 (first BLE-only board). #5002. Thanks @tannewt.
- 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
Build and infrastructure changes
- Upload only PR merges and releases to S3. #5027. Thanks @tannewt.
- Fix stubs upload issue. #5015. Thanks @dhalbert.
- Improve stubs building. #4907. Thanks @jepler.
- Allow differing-length type objects to save space. #4903. Thanks @jepler.
- Use a much more accurate heuristic for
makeqstrdata
. #4978. Thanks @jepler.
Translation additions and improvements
Breaking changes since 6.x
- The RGB status LED codes have changed for clarity and to save power.
PWMOut
is now only inpwmio
, and is no longer in bothpulseio
andpwomio
.colorwheel()
has been moved from_pixelbuf
torainbowio
.
Known issues
- See https://github.com/adafruit/circuitpython/issues for other issues.
Thanks
Thank you to all who used, tested, and contributed since 6.3.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).