I am using an Arduino Uno R3 to control my Christmas lights (a strand of 665 WS2812B LEDs).

I am using the Pololu library that can be found here: https://github.com/pololu/pololu-led-strip-arduino This library has been the most memory efficient one of its kind that I have found. It is the only one with which I could run my entire strand. I have been able to run it with up to 670 LEDs when compiling the code from my Windows PC.

The Arduino, while driving the LEDs, is not accessible from my PC, so I am attempting to use a Raspberry Pi with VNC installed to control it remotely, and update the Arduino code on demand. However, when compiling the exact same code (the LedStripXmas example from the Pololu library) on the Raspberry Pi, I am only able to get 650 LEDs working. If I try upload a code with more than that, the program will not run. The Raspberry Pi Arduino software also does not show the message: "Global variables use 2,012 bytes (98%) of dynamic memory, leaving 36 bytes for local variables. Maximum is 2,048 bytes."

Is there a way to display this information from the Raspberry Pi? Is there a difference in the PC and Raspberry Pi compilers?

Edit: I uninstalled the IDE from the standard repository and installed the ARM version from the website. Now with the exact same code as from my PC, I am getting a ton of Narrowing warnings and the code does not run with any number of LEDs.

  • 2
    Let me guess: you installed the Arduino IDE from the default repository? Delete it. Uninstall it. It's very very very ancient. Download the latest version from the Arduino website. – Majenko Dec 5 '17 at 17:01
  • I did indeed install it from the repo. Ill try downloading the version from the website later today. – Alphy13 Dec 5 '17 at 18:36
  • 1
    You can build on your desktop, find the hex output in the tmp directory or wherever, and use avrdude on the pi to flash this result of building on your PC, rather than that of building on the pi. Doing a dry run of all these operations with verbose output enabled will help you find the applicable commands. – Chris Stratton Dec 6 '17 at 4:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.