Unihiker K10 + CircuitPython... UPDATE

Hi everyone.
After experiencing constant issues in using the default MicroPython implementation for the K10 module, I have been testing the K10 with a generic implementation of MicroPython with excellent consistency and stability. See my previous post with updates.
I then ventured into trying CircuitPython. Although there is NO default BIN for the K10 module, the closest implemented BIN file is the one developed for the Adafruit Metro EPS32-S3 (https://learn.adafruit.com/adafruit-metro-esp32-s3)
So, I downloaded the CircuitPython BIN file (not the UF2), used the ESP Flash Tool to update the K10 (make sure to set the module into BOOT mode first, press and hold the BOOT button whilst plugging in the USB cable first).
Once flashing is complete, you will have a K10 with CircuitPython up and running.
The code shown below will run the “Sieve of Eratosthenes” then finish by looping the 3 WS2812 Neopixels in a RGB cycle. Note that the K10 Neopixels occupy the same GPIO connection as the Metro ESP32 board. You will have to load the CircuitPython neopixel.mpy library into a /lib folder to run the code.
Thus far, this is the extent of testing that I have undertaken with CircuitPython on the K10. More tests will be performed in the next few days.
import time
import board
import neopixel
pixel_pin = board.NEOPIXEL
# The number of NeoPixels
num_pixels = 3
ORDER = neopixel.GRB
pixels = neopixel.NeoPixel(
pixel_pin, num_pixels, brightness=0.01, auto_write=False, pixel_order=ORDER
)
def SieveOfEratosthenes(num):
prime = [True for i in range(num+1)]
# boolean array
p = 2
while (p * p <= num):
# If prime[p] is not
# changed, then it is a prime
if (prime[p] == True):
# Updating all multiples of p
for i in range(p * p, num+1, p):
prime[i] = False
p += 1
# Print all prime numbers
for p in range(2, num+1):
if prime[p]:
print(p)
# Driver code
if __name__ == '__main__':
num = 1000
print("Following are the prime numbers smaller"),
print("than or equal to", num)
SieveOfEratosthenes(num)
while True:
pixels.fill((255, 0, 0))
pixels.show()
time.sleep(1)
pixels.fill((0, 255, 0))
pixels.show()
time.sleep(1)
pixels.fill((0, 0, 255))
pixels.show()
time.sleep(1)