CircuitPython 7.1.0 Beta 0 Released! @circuitpython

From the GitHub release page:

This is CircuitPython 7.1.0-beta.0, the initial beta release for CircuitPython 7.1.0. It is relatively stable, but contains issues we may still address for 7.1.0.

Notable additions to 7.1.0 since 7.0.0

  • keypad.Events now include timestamps.
  • The Espressif port now provides I2CPeripheral, WiFi monitor mode, ESP32-C3 support, ParallelImageCapture.
  • bitmaptools: dithering and alphablend are new.
  • Preliminary support for asyncio is included. Use the CircuitPython asyncio library.
  • gifio.GifWriter is new.
  • HID now provides boot device and feature report support.
  • rotaryio now allows setting the divisor of counts per transition.
  • The SAMD port now provides watchdog, and alarm with sleep.
  • The STM port now provides STM32L4R5 support.
  • MicroPython 1.17 has been merged in.

Download from

Firmware downloads are available from the downloads page on The site makes it easy to select the correct file and language for your board.


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).

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

The full commit log is here.

Fixes and enhancements

  • Add preliminary support for asyncio. #5564. Thanks @dhalbert.
  • Fix and refactor traceback handling. #5562. Thanks @microDev1.
  • bitmaptools: add dithering support. #5558. Thanks @jepler.
  • Improve not writing boot_out.txt when it does not change. #5557, #5536. Thanks @jepler.
  • bitmaptools: add alphablend. #5544. Thanks @jepler.
  • Fix BLE workflow directory listing. #5524. Thanks @tannewt.
  • sdcardio: use CMD25 to improve write speed. #5510. Thanks @jepler.
  • PulseIn: fix possible memory corruption. #5509. Thanks @DavePutz.
  • _bleio: fix start_advertising() argument validation. #5508. Thanks @dhalbert.
  • Fix flash support to use additional values from the NVM toml data. #5506. Thanks @maholli.
  • Update help() message to point to #5494. Thanks @kattni.
  • Add gifio.GifWriter. #5490. Thanks @jepler.
  • keypad.Event: fix hash(). #5486. Thanks @dhalbert.
  • usb_hid: add boot device support and feature report support. #5481. Thanks @dhalbert.
  • rotaryio: allow setting count divisor. #5468. Thanks @jepler.
  • Merge MicroPython 1.17. #5466. Thanks @jepler.
  • Use mp_arg_validate_type() for keyword args. #5452. Thanks @microDev1.
  • displayio: fix argument validation for FourWire and I2CDisplay. #5450. Thanks @FoamyGuy.
  • _stage: add support for viewport scrolling. #5447. Thanks @pewpew-game.
  • Fix keyword argument handling in several native modules. #5439. Thanks @dhalbert.
  • usb_hid: allow report-id-less HID descriptors. #5392. Thanks @dhalbert.
  • adafruit_bus_device: allow CS active-high. #5383. Thanks @michthom.
  • displayio.Display.fill_row now takes any WriteableBuffer. #5373. Thanks @lesamouraipourpre.
  • bitmaptools.__init(): update error message. #5369. Thanks @lesamouraipourpre.
  • Avoid overflow when scaling ticks in mp_hal_delay_ms(). #5364. Thanks @osresearch.
  • keypad: add Event timestamps. #5360. Thanks @jepler.
  • Fix importing of paralleldisplay. #5358. Thanks @jepler.

Port and board-specific changes


  • Add ParallelImageCapture. #5540, #5457. Thanks @jepler.
  • Add WiFi monitor mode to capture all packets. #5537. Thanks @microDev1 and @anecdata.
  • Add initial ESP32-C3 support. #5394. Thanks @tannewt.
  • Fix serial REPL over UART. #5388. Thanks @microDev1.
  • Use I2S peripheral for parallel LCD displays. #5378. Thanks @jepler.
  • Update port to allow supporting more Espressif chips. #5367. Thanks @microDev1.
  • Support for I2CPeripheral. #3768. Thanks @microDev1.


  • Correct return value of #5541. Thanks @DavePutz.


  • Correct board name for nRF52833 DK. #5441. Thanks @jpconstantineau.


  • Fix watchdog time conversion. #5549. Thanks @jepler.
  • Fix SAMD21 PDMIn hang. #5458. Thanks @dhalbert.
  • SAMD51: Implement watchdog. #5483. Thanks @jepler.
  • Allow PA24 and PA25 pins to be used for other purposes if USB is turned off. #5427. Thanks @EmergReanimator.
  • Implementation of alarm, including deep sleep. #5425. Thanks @maholli.


  • Improve accuracy of microcontroller.delay_us(). #5553. Thanks @EmergReanimator.
  • Add STM32L4R5 support. #5403. Thanks @blues.

Individual boards

  • Adafruit Trinket QT2040: fix USB PID. #5550. Thanks @ladyada.
  • Challenger RP2040 WiFi: fix pin definitions. #5390. Thanks @Pontus0.
  • Cytron Maker Pi RP2040: correct pin definitions. #5533. Thanks @CytronTechnologies.
  • Lolin S2 Mini: add board.I2C(). #5467. Thanks @evildave666.
  • MicroDev microS2: minor updates. #5421. Thanks @microDev1.
  • Pimoroni PicoSystem: freeze the stage library. #5437. Thanks @pewpew-game.
  • Pimoroni PicoSystem: add displayio. #5398. Thanks @Gadgetoid.
  • PyCubed: update for mainboardv05. #5302. Thanks @maholli.
  • Sensebox MCU: add rainbowio. #5534. Thanks @jepler.

New boards Since 7.0.0

  • Adafruit Feather ESP32S2. #5517. Thanks @ladyada.
  • Adafruit Feather ESP32-S2 TFT. #5570. Thanks @ladyada.
  • Adafruit KB2040. #5550. Thanks @ladyada.
  • AIThinker ESP32-C3S_Kit. #5409. Thanks @skieast.
  • Challenger NB RP204. #5395. Thanks @Pontus0.
  • Lolin/Wemos S2-Pico. #5464. Thanks @skieast.
  • Melopero Shake RP2040. #5465, #5372. Thanks @melopero.
  • MicroDev microC3. #5404. Thanks @microDev1.
  • Oak Development Technologies Bread 2040. #5368. Thanks @skerr92.
  • PyKey60 #5507, #5497, #5365. Thanks @jpconstantineau.
  • Seed XIAO variant build for HID devices. #5442. Thanks @jpconstantineau.
  • Solder Party RP2040 Stamp. #5504. Thanks @solderparty.
  • Swan R5. #5403. Thanks @blues.


  • Update Troubleshooting. #5539, #5528. Thanks @kattni.
  • Update native module examples using the on-board LED; update PWM example. #5523. Thanks @kattni.
  • Update SocketPool. #5508. Thanks @dhalbert.
  • Update how to build documentation. #5472. Thanks @fraziern.
  • Add precision information to time.monotonic(). #5443. Thanks @dhalbert.
  • Add ESP32-C3. #5417. Thanks @microDev1.
  • Document board.board_id. #5416 Thanks @Neradoc.
  • Improve usb_hid.Device. #5379. Thanks @dhalbert.
  • Correct ‘I2C.writeto()`. #5363. Thanks @Neradoc.

Build and infrastructure changes

  • Enable -Werror=missing-prototypes on various ports. #5563, #5561. Thanks @jepler.
  • Use Python 3.9 for readthedocs. #5545. Thanks @jepler.
  • Handle deleted boards during a build. #5518. Thanks @jepler.
  • Allow any character except / in port or board names. #5473. Thanks @jepler.
  • Upload patch to artifacts if pre-commit fails. #5434. Thanks @microDev1.
  • Convert all modules to use MP_REGISTER_MODULE. #5430. Thanks @microDev1.
  • Fixed code comments re SAMD21/SAMD51 DAC clock speeds. #5429. Thanks @process1183.
  • Upload stubs to pypi for release versions. #5385. Thanks @FoamyGuy.
  • Fix stubs upload to S3. #5376. Thanks @microDev1.
  • Rebuild documentation only as necessary. #5350. Thanks @microDev1.

Translation additions and improvements

  • Thanks for translations:
    • @bergdahl (Swedish)
    • @hexthat (Chinese – Pinyin)
    • @lesamouraipourpre (English – UK)
    • @rezaalmanda (Indonesian)
    • @Senuros (German)
    • @wtuemura (Portuguese – Brazil)

Known issues


Thank you to all who used, tested, and contributed since 7.0.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here:

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in!

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community!

CircuitPython – The easiest way to program microcontrollers –

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.