ATTiny85 raw with neopixel weird issue

And by weird issue I mean it didn't exactly work.

So I have Digispark ATTiny85 and a couple of raw chips, 10u and 20u. I can program them with Nano programmer I made and as far as I can tell they work fine. In fact they run 1.5 times faster than Digispark on respective CPU frequency. I measured loop runtime and displayed it on I2C diplay which works on all boards with no problems.

The neopixel strip works on Digispark board 4 LEDs are changing color as I wanted but on raw chips it just lighting up 4 LEDS white and nothing. I thought the timing could be off, so I played with timing in every possibe way, you have to believe me, and no change. The only change I noticed when I uploaded selecting Disgispark in menu instead of generic ATTiny45/85...etc option. Then the LEDs would change colour but they all would be lit with different colours and changing to random colours.

I suspect the timing is still off, but I havent used oscillosope yet. Need to make test sketch for that. And while I was troubleshooting I found how to flush Digispark board to remove startup delay, so Im ok now with using that. But still curious if anyone came across this timing weirdness. Maybe these new chips are optimised somehow hardware wise, because I dont see any reason why they would run 1.5 times faster than Digispark.

Suffice to say that if they run 1.5 times as fast as the Digispark, they are operating at a (much) different clock frequency and you would have to modify the actual NeoPixel writing code to alter the timing to make them work.

yep tried that, no cigar

What do you mean? What frequency are you running the bare attiny chips at?

Digispark boards run at 16.5MHz. Bare attiny chips default to 1MHz unless you select a different speed and click "burn bootloader". So I can't think why the bare chips would appear to run faster than the digispark.

To run ws2812 LEDs, I think you need to use a speed of at least 8MHz with attiny chips.

You can select which frequency digispark will run on upload, 1,8,16 or 16.5, for bare chip you can select 1,8 and 16, but I also modified fuses and made 16.5 option, so when I’m saying respecting frequencies I mean I compared 20u chip with digispark at 8 and 16 and in both cases the loop executed exactly 1.5 times faster on bare chip.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.