Description
I caught an (impressive) glitch in a recent video of the 60 RGB pixels on a Kitronik ZIP Halo HD at 04:25. There are two video frames at 25fps of it.
I see these perhaps every 10-15 minutes, the code is updating the ring all the time at about 5 to 25 Hz with show()
method. This might be happening perhaps 1 in 10000 updates. I don't think there's anything particularly exotic about the code. It uses the neopixel
library and i2c comms to an external MCP9740N. This is on a V2.2.1 board running MicroPython v1.18 on 2023-10-30; micro:bit v2.1.2 with nRF52833
.
My best rather uninformed guesses so far:
- a timing issue with the protocol which means it's out of spec but works most of the time
- some sort of interrupt messing up the protocol transmission
- after reading Pin drive strength is not the same V1 and V2 #83 and V2 Neopixel error - Was working prior Christmas microsoft/pxt-microbit#3825 I am wondering if that could be a factor
The documentation mentions:
From our tests, the Microbit NeoPixel module can drive up to around 256 NeoPixels. Anything above that and you may experience weird bugs and issues.
This board has 60 so is well under that limit. Why is there an issue above 256?
(@DaveAtKitronik @AlasdairAtKitronik @JackAtKitronik might be interested in this.)