Neopixel ring not working on Arduino UNO r4 wifi

Hi,

I just tried running the adafruit library sketch on the new Arduino UNO R4 wifi - and yes, it didn't work. Switching back to the R3 - the same program and same wiring worked just fine. Is there any reason why the UNO R4 wifi board wouldn't work with an adafruit neopixel ring?

1 Like

Because the library is not ported to R4 yet?

I am amazed at the number of complaints, that this or that library does not work on Uno R4.
Does it really not occur to complainers that the board is completely new and those thousands of libraries that exist for uno r3 simply did not have time to rewrite.

Does it really not occur to developers/marketers that they shouldn't present a new product that isn't adequately supported?

1 Like

But these are completely different teams - the creators of Uno R4 and the authors of the libraries.
Is the arduino team supposed to rewrite the Neopixel library? :slight_smile:

The marketing team are supposed to contact major supporters of the platform (long) before launch.
Developers should be checking to see what they've broken.

Perhaps it will be done by the users themselves. If you want to use Neopixel on uno R4 - first port the code :slight_smile:

They do warn you.
From the product page:

Are all libraries compatible with the UNO R3 also compatible with the UNO R4 Minima?

No, some UNO R3 libraries use instructions of the AVR architecture that are not compatible with the architecture of the UNO R4 Minima, however there are libraries that have already been ported as part of our early adopters program or are based on the Arduino API.

Well yeah, but what surprises me is that instead of coming up with a new name, the creators came up with 'R4'

Still i think it would be best to look at every issue individually, and for a neopixel the issue is always timing.

Have you tried any of the other libraries that can control ws2812b's like Neopixelbus or FastLed ?
The R4 is using a ARM cortex MCU similar to the one used by a teensy and it is quite possible that it is supported. Otherwise it may be just a matter of raising the issue with the library author and wait.
The whole layout of the R4 WiFi is a little shady to me, but if the GPIO pins of the onboard ESP32 can be used then creating a ws2812b signal is easy enough, since the ESP32 is supported with most libraries, but a solution for the main MCU would also support the minima.

Hi Deva_Rishi,

Thank you for your suggestions. I hadn't thought to try any other libraries, but on your suggestion have now tried a few but with little success. The libraries that you suggest like FastLed and other ws2812b libraries seem to assume an i2c interface which the neopixel wheel is not. Other libraries assume an spi interface. Other esp32 based libraries refused to build due to missing dependencies etc.

If any of the libraries are known to work on the arduino r4 wifi, that would be great to hear. In the mean while, I'll try different libraries.

Neopixel has nothing to do with both i2c and spi

have you tried this one ? In some ways, with neopixels i am confident that it will not take to long to get the R4 supported, although with neopixelbus a small donation will probably help the author to get motivated, but it is anyway a matter of time also before FastLED will start support. Either way the easiest approach to get libraries to support the new hardware is to open an issue on github and wait for the authors to respond. In most cases it won't be an awful lot of work and in some cases it can even be done yourself, though the neopixel libraries are beyond most peoples ability (and for sure mine) although in some cases i understand the concept.
ws2812Serial By Paul Stoffenregen uses a UART to create the signal where 10 bits are creating 2 neopixel bits, and Neopixelbus also has a similar method (it being 8 bits that are converted to 2) and these method should be fairly straightforward to port or even work right out of the box, given that you may need to modify some of the compiler directives to get the proper method selected by the compiler. Hardware wise there should of course be no issue, but Arduino is an open source platform and all of the software is free and open source as well, most people don't make any money with it only hardware s being sold. As with any new board, the software development lags behind on hardware introduction.

ws2812 LEDs do not use I2C. I believe that the FastLED library supports LOTS of different types of LEDs, including some that are driven with I2C, but for sure it also includes bit-banged ws2812 support as well.

(I don't see any mentions of Renesas chips, but there is some rather complex code that looks to be attempting to be generic ARM code...)

In the latest code of the master branch in the FastLED library, support for UNO R4 has been added. However, the latest version has not been released yet. You can directly use the latest code from its master branch for testing.

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