CircuitPython 8.1.0 Released!

CircuitPython on hardware including Adafruit's boards, and CircuitPython libraries using Blinka on host computers.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
danhalbert
 
Posts: 4649
Joined: Tue Aug 08, 2017 12:37 pm

CircuitPython 8.1.0 Released!

Post by danhalbert »

From the GitHub release page:

This is CircuitPython 8.1.0, the latest minor revision of CircuitPython, and is a new stable release.

Notable changes to 8.1.0 since 8.0.0
  • Silicon Labs (SiLabs) MG24 microcontroller family port (silabs), contributed by Silicon Labs.
  • Add animated GIF support, including palette support: gifio.OnDiskGif.
  • Add safemode.py, for programmatic handling of safe mode.
  • Add ESP-NOW support on Espressif.
  • synthio improvements and new features; API is still experimental and will change after 8.1.0.
  • Add picodvi on RP2040: DVI/HDMI framebuffer and displayio support.
  • CPU frequency is settable on RP2040.
  • Add 7-color e-ink display support.
  • Add bitmaptools.drawpolygon().
  • Allow setting pystack size in settings.toml.
  • Allow static IPv4 addresses for access points.
  • Add dither support to Palette.
  • Support array.extend(iterable).
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 (but see Known Issues below):
  • atmel-samd: Microchip SAMD21, SAMx5x
  • cxd56: Sony Spresense
  • espressif: Espressif ESP32, ESP32-S2, ESP32-S3, ESP32-C3
  • nrf: Nordic nRF52840, nRF52833
  • raspberrypi: Raspberry Pi RP2040
  • stm: 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 2W
  • litex: fomu
  • mimxrt10xx: NXP i.MX RT10xxx
  • silabs: Silicon Labs MG24 family
  • stm: ST non-STM32F4 chip families
Changes since 8.1.0-rc.0
This release is a relabeling of 8.1.0-rc.0 and is otherwise the same as that release.

Known issues
  • ESP32-S3 has issues with I2C devices that sleep (LC709203F), use clock stretching, or violate the I2C protocol (e.g., BNO055). Retry operations on these devices as necessary, or use ESP32-S2 boards.
  • ESP32-S2 used as an HTTP server may crash after several hours. This is a regression from 7.x.x.
  • 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 8.0.0, including the contributors above, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.

User avatar
Azzura
 
Posts: 33
Joined: Mon Nov 29, 2021 9:20 pm

Re: CircuitPython 8.1.0 Released!

Post by Azzura »

Good morning, I am seeking support in relation to updating circuit python.
I have tried using the update process links under Feather ESP32 S2 but I cannot seem to get the boot to change its statement from version 7 to version 8. So I am hoping that there is a video of how to complete an update ie press the boot button etc, so I can see what it is that I am doing wrong. Obviously millions of follows are doing it right so its me.
I am presuming it is on utube but after a search I could not find a video explaining exactly how to do an update, as you have guessed I have never completed an update before so I am a newbie at this process.
Trust you can send a link of an actual update process video.

User avatar
danhalbert
 
Posts: 4649
Joined: Tue Aug 08, 2017 12:37 pm

Re: CircuitPython 8.1.0 Released!

Post by danhalbert »

If you press the reset button on the Feather, does it turn purple? If so, try a double-click reset. Press it once to see purple, and then press it again while it is purple. It will turn green.

(On very old versions of the UF2 bootloader, it may turn red instead of purple.)

This is hard to do by reacting to the purple; it's easier just to do a "slow" double click. A very fast double click will miss the original purple.

Once you seen green, a ...BOOT drive should appear, and you can drag the .uf2 to the board.

This is described here: https://learn.adafruit.com/adafruit-esp ... cuitpython

If you do NOT see purple, then there may be no UF2 bootloader installed. In that case, follow the procedure here:
https://learn.adafruit.com/adafruit-esp ... tory-reset

Sorry, we don't have a video, but I will discuss that with the right folks.

User avatar
Azzura
 
Posts: 33
Joined: Mon Nov 29, 2021 9:20 pm

Re: CircuitPython 8.1.0 Released!

Post by Azzura »

Hi Dan,

Thanks for replying, re updating CP on the Feather esp32 S2.

I read this;
The Adafruit ESP32-S2 Feather ships with a UF2 bootloader which allows the board to show up as FTHRS2BOOT when you double-tap the reset button: No it does not.

Found this;
Click the reset button once and then click it again when you see the RGB status LED(s) turn purple (approximately half a second later). Sometimes it helps to think of it as a "slow double-click" of the reset button. If double-clicking doesn't work the first time, try again. Sometimes it can take a few tries to get the rhythm right! You are correct, getting the correct rhythm is proving to be frustrating. Needless to say I did not succeed.

I tried various fast and slow double clicks, no it does not behave like this. The neopixel does change to purple for an instant, and it changes to purple each time I press the "rst" button however, it never changes to green as the text suggests.

The good news is my code still loads and works however, the boot file tells me it is still Ver 7.3.0.

I read the "Factory Reset and Bootloader Repair" option, scary spice not sure I have enough geek DNA in me to achieve that however, so back to ver 7 I guess as the Feather still works fine just not updated.
Jeff

User avatar
danhalbert
 
Posts: 4649
Joined: Tue Aug 08, 2017 12:37 pm

Re: CircuitPython 8.1.0 Released!

Post by danhalbert »

I don't remember, but very early samples of this board may not have had a UF2 bootloader.

When you press rest once, does the RGB LED turn purple, or red, briefly?

You cannot break the board by trying to load something. The "Factory Reset and Bootloader Repair" should work.

User avatar
Azzura
 
Posts: 33
Joined: Mon Nov 29, 2021 9:20 pm

Re: CircuitPython 8.1.0 Released!

Post by Azzura »

Hi Dan, re your recent question. "When you press rest once, does the RGB LED turn purple, or red, briefly?" Yes, it does just briefly and everytime I press the rst button, purple just briefly, then it reloads the code and starts the loaded program again, straight back as circuitpy drive.

I actually purchased two Feather esp32S2 development boards, so I connected up board number two. The Feather comes with a demo program to make the neopixel complete a rainbow sequence and the blue LED toggles each sequence so it's working fine too. So I tried the rst button process to see if it would enter the bootloader. Unfortunately it just reloads and initiates the circuitpy drive like normal and runs the factory loaded rainbow program, and does it very well, exactly like board number one.

It appears your memory is good, I have two feathers that do not have a UF2 bootloader installed. I purchased these feathers as I wanted the greater memory as I would like to try my inadequate nerd skills on DMD displays and GIF images. Appears that I purchased the wrong boards.

As Tom Cruise said very elegantly "I feel the need to speed", I feel the need to swear, but that would be inappropriate.

So back to the dreaded factory reset process which I am so happy to be attempting ... NOT.
Please tell me you have a video of the factory reset procedure.

Jeff

User avatar
danhalbert
 
Posts: 4649
Joined: Tue Aug 08, 2017 12:37 pm

Re: CircuitPython 8.1.0 Released!

Post by danhalbert »

What is in BOOT_OUT.TXT in CIRCUITPY? That will tell us the version of the bootloader that is installed.

The fact that it's turning purple (does it flash on and off a bit when it's purple?) indicates to me that the right bootloader is present. The trick is getting the timing right. Do not double-click too fast, and do not double-click too slow. Here is a video showing a successful double-click: https://youtube.com/shorts/DRJGwl06rY0

The https://learn.adafruit.com/adafruit-esp ... -3107941-7 procedure is not as long as that page would indicate, because there are multiple ways of proceeding that are described. If you start at the top and follow, it should work out.

User avatar
Azzura
 
Posts: 33
Joined: Mon Nov 29, 2021 9:20 pm

Re: CircuitPython 8.1.0 Released!

Post by Azzura »

Hi Dan, yes I watched the video exhibiting the timing of the rst button. I have been doing this frequency/period and I have tried various alternative periods too. No luck.

The neopixel changes to purple everytime I press the rst button but it always turns off again without fail, and never ever changes to another colour.

Here is a copy of the BOOT_OUT.TXT in CIRCUITPY drive.
"Adafruit CircuitPython 7.3.0 on 2022-05-23; FeatherS2 with ESP32S2
Board ID:unexpectedmaker_feathers2"

Jeff

User avatar
danhalbert
 
Posts: 4649
Joined: Tue Aug 08, 2017 12:37 pm

Re: CircuitPython 8.1.0 Released!

Post by danhalbert »

Oh! This is an Unexpected Maker Feather, NOT an Adafruit Feather. The procedure for getting into the UF2 bootloader is different for the UM Feather. See this page, https://feathers2.io/, and scroll down to the FAQ. Under the FAQ find this section (and see the other sections too):
How can I get my FeatherS2 into UF2 bootloader mode?

To get your FeatherS2 into UF2 bootloader mode (assuming you have not stomped your CircuitPython install with Arduino/IDF or MicroPython) you can click [RESET], then about a second later click [BOOT] to get it into the UF2 bootloader mode. You will then see the RGB LED on your FeatherS2 turn Red while the device is unmounted, and then once mounted, it will turn green. It also may just go straight to green.

Newer UF2 boot loaders will flash the RGB LED purple when you need to press the boot button to go into bootloader mode.

A drive will appear in your filesystem called UFTHRS2BOOT. From here you can re-flash the latest CircuitPython firmware by copying over the firmware.uf2 file for the version you want to install.

You will see the RGB flash a redish orange colour many times during the copy, and then the FeatherS2 will automatically reboot itself and mount the new CircuitPython version.

Locked
Please be positive and constructive with your questions and comments.

Return to “Adafruit CircuitPython”