From the GitHub release page:
This is the initial beta release of CircuitPython 6.0.0. It is relatively stable. The most notable additions since 5.3.x are basic lower power support when in
time.sleep(), initial ESP32-S2 support, including WiFi, and and
_bleioHCI support for ESP32 co-processors. The lower power work changed time keeping and may have introduced bugs. Please use 5.3.x if you need a stable version of CircuitPython.
Download from circuitpython.org
Downloads are available from circuitpython.org. The site makes it easy to select the correct file and language for your board. The downloads page is here. Downloads are no longer available from the GitHub release pages because of the large number of files for each release.
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).
CircuitPython has a number of "ports" that are the core implementation for a variety of microcontroller families. Stability varies on a per-port basis. As of this release,
stmfor the F4 family are stable.
stmfor other chip families are being actively improved but may be missing functionality and have bugs.
mimxrt10xxare in an alpha state and will have bugs and missing functionality.
New features and improvements since 6.0.0 Alpha 3
API changes and additions
- Revamp network API, adding
ssl, and other modules (#3326, #3397). Thanks @tannewt.
_bleiofor HCI Bluetooth adapters (#3310). Note that this supports peripheral mode only right now. Thanks @dhalbert.
usb_hid.Device.last_received_reportto receive HID OUT (from host) reports (#3302). Thanks @xiongyihui.
pow(), needed for a port of
Decimal(#3377). Thanks @jepler.
display.refresh()will force an immediate redraw (#3366). Thanks @kmatch98.
supervisor.runtime.serial_connectedis now more accurate, and can detect both disconnect and reconnect (#3437). Thanks @jepler.
Fixes and enhancements
struct: improve compliance with CPython (#3404). Thanks @jepler.
- Implement improved message compression scheme (#3398). Thanks @ciscorn and @jepler.
- Add bigram message compression (#3370, superseded by #3370). Thanks @jepler.
- Fix I2C-related
displayiocrashes (#3392). Thanks @hierophect.
- Fix decompression of certain Unicode values (#3385). Thanks @jepler.
- Make sure
board.SPI()is unlocked after a soft reboot (#3378). Thanks @DavePutz.
- Guard against
NO_PINpin numbers being passed to various routines (#3375). Thanks @DavePutz.
- Add dirty Rectangle tracking to
displayio.Shape(#3374). Thanks @kmatch98.
- Fix several
FrameBufferDisplaybugs (#3344). Thanks @jepler.
- Clean up a conditionally compiled part of the code for
sdioio(#3435). Thanks @jepler.
Board- and port-specific changes
- Add native WiFi support (#3326). Thanks @tannewt.
- Add filesystem layouts for 8MB and 16MB partitions (#3426). Thanks @tannewt.
rtc(#3422). Thanks @askpatrickw.
- Add port-specific README, with build and flash information (#3417). Thanks @hierophect.
- Add safe mode support (#3395). Thanks @microDev1.
- Add non-DMA SPI support (#3393). Thanks @tannewt.
openocdand gdb debugging support (#3392). Thanks @hierophect.
microcontroller.cpu.temperaturesupport (#3382). Thanks @hierophect.
- Allow connecting to a specific WiFi BSSID (access point) (#3433). Thanks @astrobokonon.
- Feather M4 Express was using dual-mode QSPI instead of quad-mode (#3399). Thanks @jepler.
- Feather M0 RFM69: Freeze libraries into build (#3388). Thanks @jerryneedell.
- Add SAME51 support to
atmel-samd(#3384). Thanks @jepler.
- Trellis M4: Fix pins used for `board.I2C() (#3373). Thanks @dhalbert.
- Spresense: Add native camera support (#3369). Thanks @kamtom480.
- Unix: Fix
import ulab.linalgcrash (#3355). Thanks @jepler.
- BLM Badge: Add
board.I2C()(#3348). Thanks @ladyada.
- SAME54: Disable
microcontroller.cpu.voltage, as it is hanging (#3434). Thanks @jepler.
- atmel-samd: Fix SPI code that handled SAMR21 special case (#3436). Thanks @jepler.
- STM32: Make sure MOSI is high during SPI read (#3431). Thanks @hierophect.
- MakerDiary boards: Add pin aliases such as SCL and SDA, and canonicalize other names (#3438). Thanks @nitz.
- BDMICRO VINA M0 renamed to VINA D21; pins updated (#3432). Thanks @bd34n.
- STM32: Add never_reset calls to RGBMatrix init (#3441). Thanks @hierophect.
- New translation started for Greek.
- Numerous translation additions and improvements. Thanks:
- @wtuemura (Brazilian Portugese)
- @ciscorn (Japanese)
- @fede2cr (Spanish)
- @bergdahl (Swedish)
- @fetchall (Dutch)
- @tawez (Polish)
- @hugodahl (French)
- Fix typo in
_bleiodocumentation (#3411). Thanks @jepler.
- Remove documentation about non-existent clock specification (#3406). Thanks @CarlFK.
shared-bindingsfor support matrix, special-casing
ulab(#3352). Thanks @jepler.
Internals and build process
- Enable diagnostic for fall-through
switchstatements, catching several bugs. Thanks @jepler.
- Remove debugging printout in endpoint-counting code during build (#3359). Thanks @jepler.
- Clone the
esp-idfsubmodules explicitly in the GitHub build action to prevent build hiccups (#3358). Thanks @jepler.
- Make build script not rely on Python 3.7 features (#3443). Thanks @jepler.
Full commit log is here.
Breaking changes since 5.x
i2cperipheraland the class in it is changed as well.
stopkwarg has been removed from
I2C.writeto(). If no stop is desired, then use
New boards since 6.0.0 Alpha 3
- Muselab nano ESP32-S2 (#3427). Thanks @maditnerd.
- Py QT (#3407). Thanks @ladyada.
- Feather M4 CAN (#3384). Thanks @jepler.
- Matrix Portal M4 (#3363). Thanks @dhalbert.
- Use of the
adafruit_sdcardlibrary can interfere with
displayiooperations that use read from an SD card (e.g.,
OnDiskBitmap). Use the native
sdiomodules instead, to avoid this problem.
- See https://github.com/adafruit/circuitpython/issues for other issues.
Thank you to all who used, tested, and contributed since 6.0.0 Alpha 3, including @Andon-A, @anecdata, @askpatrickw, @astrobokonon, @bd34n, @bergdahl, @CarlFK, @ciscorn, @cjsieh, @DavePutz, @dhalbert, @emard, @fede2cr, @fetchall, @FoamyGuy, @hierophect, @hugodahl, @jepler, @jerryneedell, @julianrendell, @kamtom480, @kmatch98, @ladyada, @maditnerd, @microDev1, @nitz, @PaintYourDragon, @siehputz, @sommersoft, @tannewt, @tawez, @titoluyo, @weblate, @wtuemura, and many more on Discord. Join us on the Discord chat to collaborate.
Documentation is available in readthedocs.io.
One important feature of CircuitPython is translated control and error messages. With the help of fellow open source project Weblate, we’re making it even easier to add or improve translations. Sign in with an existing account such as Github, Google or Facebook and start contributing through a simple web interface. No forks or pull requests needed!
Builds are no longer stored as assets on this release page, because there are too many of them. Please see the Download from circuitpython.org section above.